Double for loop with problems

18 ビュー (過去 30 日間)
Michela Longhi
Michela Longhi 2017 年 12 月 13 日
コメント済み: Michela Longhi 2017 年 12 月 13 日
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 件のコメント
Torsten
Torsten 2017 年 12 月 13 日
Then "temp" should be of size 13*220+1 = 2861, shouldn't it ?
Best wishes
Torsten.

サインインしてコメントする。

採用された回答

Rik
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)
  1 件のコメント
Michela Longhi
Michela Longhi 2017 年 12 月 13 日
Thanks, it's a good solution !

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by