Effacer les filtres
Effacer les filtres

Double for loop with problems

15 vues (au cours des 30 derniers jours)
Michela Longhi
Michela Longhi le 13 Déc 2017
Commenté : Michela Longhi le 13 Déc 2017
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 commentaire
Torsten
Torsten le 13 Déc 2017
Then "temp" should be of size 13*220+1 = 2861, shouldn't it ?
Best wishes
Torsten.

Connectez-vous pour commenter.

Réponse acceptée

Rik
Rik le 13 Déc 2017
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 commentaire
Michela Longhi
Michela Longhi le 13 Déc 2017
Thanks, it's a good solution !

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by