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 日

0 投票

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 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2017 年 12 月 13 日

コメント済み:

2017 年 12 月 13 日

Community Treasure Hunt

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

Start Hunting!

Translated by