多循环帮助

1次查看(最近30天)
卡洛琳
卡洛琳 2013年8月5日
我是相当新的Matlab和我试图学习如何在工作中为一个项目写循环。我使用xlsread从Excel导入数据。我有一列数据有13689个点长。我需要把这些数据输入一个矩阵,从第117行和第1列开始,长度为117 x 177。然后在开始下一行116之前填满所有的列。到目前为止,这是我得到的,
IntWL = xlsread (C: \ * * *)
L =长度(IntWL);
C = 0 (117117);
格式(“短”,“g”)
对于h = n:-1:1
j = 1: L
i = j: 117
x (i) = IntWL (j);
C (h i) = x(我);
结束
结束
结束
这将前117个数据点放入C矩阵的第117行1 - 117列。我似乎无法找出完成第一次迭代时,我怎么得到它去118数据点(原始数据)和计算未来117数据点,并将它们插入到我的矩阵的行116 c,我最终得到的是相同的117数据点在我所有的行。任何帮助都将不胜感激。卡洛琳
莱恩,谢谢你回复我之前的帖子。我意识到我需要从不同的角度来处理我的问题。

接受的答案

mano49j
mano49j 2013年8月7日
k = 0;对于I = 117:-1:1
对于j = 1:117
k = k + 1;
C (i, j) = intWL (k, 1)
结束
结束
I -表示行号,
J -表示列号..,,
——享受
1评论
卡洛琳
卡洛琳 2013年8月7日
这个很好用,谢谢。

登录评论。

更多的答案(2)

伊恩•
伊恩• 2013年8月5日
我不太清楚你想干什么,但我猜你的目的是
117年平均水平面=重塑(MxWtLvl, []) ';
平均水平面= flipud(平均水平面);
或者:
i = 1:117
j = 1:117
MWL(118-j,i) = MxWtLvl((i-1)*117 + j);
结束
结束

安德烈Bobrov
安德烈Bobrov 2013年8月7日
编辑:安德烈Bobrov 2013年8月7日
C = rot90(重塑(IntWL, 117年,[]));
n =元素个数(IntWL);
k = 117;
C = IntWL (bsxfun (@minus, n - k + 1: n (0: k: n - k)));
n =元素个数(IntWL);
k = 117;
jj = 1: k
: C (k-jj + 1) = IntWL ((jj-1) * k + 1: k * jj);
结束

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!