Effacer les filtres
Effacer les filtres

Copy values from a vector to a matrix

4 vues (au cours des 30 derniers jours)
sami elahj
sami elahj le 9 Jan 2016
Commenté : sami elahj le 9 Jan 2016
i have a problem trying to replace (copy) values from a vector to a matrix. So given this matrix
1 1 1
1 1 1
1 1 1
0 0 1
0 0 1
0 0 1
the plan is to copy values from this vector V=[0;10;20;30;40;50;60;70;80;90;100;110;120] starting from 10 ,V(2), into columns of the above matrix , to obtain this:
10 40 70
20 50 180
30 60 190
0 0 100
0 0 110
0 0 120

Réponse acceptée

Geoff Hayes
Geoff Hayes le 9 Jan 2016
sami - if
A = [1 1 1
1 1 1
1 1 1
0 0 1
0 0 1
0 0 1];
and
V = [0;10;20;30;40;50;60;70;80;90;100;110;120];
then try
A(A>0) = V(2:end);
In the above, A>0 returns a logical matrix of ones and zeros where a one indicates that the element of A is greater than zero (as per our condition) and zero indicates that the element of A is less than or equal to zero. A(A>0) is then just those non-zero elements of A. We then assign all of the non-zero values of V (so from index two onwards) to those elements of A that are non-zero.
  1 commentaire
sami elahj
sami elahj le 9 Jan 2016
Thank you very much

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur NaNs 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