【发布时间】:2016-10-25 10:49:34
【问题描述】:
我想将一个向量划分为多个向量并将它们全部放入一个矩阵中。我收到此错误“下标分配维度不匹配”。
STEP = zeros(50,1);
STEPS = zeros(50,length(locate));
for i = 1:(length(locate)-1)
STEP = filtered(locate(i):locate(i+1));
STEPS(:,i) = STEP;
end
例如,我第一次从 (1:50) 获取“过滤”的值,我想将它存储在矩阵的第一行,然后对于迭代 2,我取“过滤”的值(50:70) 例如,我将它存储在矩阵的第 2 行,直到循环结束..
如果有人有想法,我不明白!谢谢!
【问题讨论】:
-
问题是
STEP的长度是50,但是在迭代2中你只给它(50:70),如何处理那些丢失的29位数字?这就是错误发生的原因。 -
好的,谢谢你的回答。
-
问题是我在这里举一个例子,取决于我的源文件,我不知道每次迭代时向量的大小。我只知道它不到50..
-
在最后一步,编辑为:
STEPS(1:numel(STEP),i) = STEP;? -
可以通过函数
length:temp = filtered(locate(i):locate(i+1)); len = length(temp); STEP(1:len) = temp查询。
标签: matlab for-loop matrix vector