Double for loop with problems
18 次查看(过去 30 天)
显示 更早的评论
I have a column vector temp of size 221 and another column vector x of size 2819. I want to create a new column vector from temp , of size 2819, inserting 12 zeros each number. Such as:
temp=
22
23
25
...
new_matrix=
22
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
....
But when I use a double for loop, an error appear: Subscripted assignment dimension mismatch. Error in vertices_automatic (line 109) new_matrix (j) = [temp(1:k(i),:); b; temp(k(i)+1:end,:)]
The double loop is:
for i=1:size_temp
for j=1:size_x
k (i)= 0+i; %row position, can be 1,2 or 3 ....
new_matrix (j) = [temp(1:k(i),:); b; temp(k(i)+1:end,:)]
end
end
Thanks
Michela
1 个评论
采纳的回答
Rik
2017-12-13
Just do it without a loop:
temp=[22 23 25];
new_matrix=temp(:);
new_matrix(1,13)=0;%extend with zeros
new_matrix=new_matrix';
new_matrix=new_matrix(:);
(or you could just generate a matrix/vector with zeros and put in temp with indexing)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!