How to dynamically update the matrix ?

6 visualizzazioni (ultimi 30 giorni)
Hello Guys,
I have to generate matrix A=[-1 0 c1; 0 -1 c2] dynamically, for example if c1=[1 1 2 2] & c2=[3 3 4 4] are 1d arrays and if its length change after every execution of loop then the output of matrix A will increase automatically after increase in length of c1 & c2 arrays, for example in case of above example the output of A will be like...
A = [-1 0 1;
0 -1 3;
-1 0 1;
0 -1 3;
-1 0 2;
0 -1 4;
-1 0 2;
0 -1 4;]
How do i write this type of matrix dynamically ?

Risposta accettata

Weird Rando
Weird Rando il 8 Mag 2016
Modificato: Weird Rando il 8 Mag 2016
This only works if c1 and c2 have the same length
A = [];
c1=[1 1 2 2];
c2=[3 3 4 4];
nloop = length(c1);
for ii = 1:nloop
A=[A;-1 0 c1(ii); 0 -1 c2(ii)]
end
  4 Commenti
Image Analyst
Image Analyst il 8 Mag 2016
There is also no need, that you've shown so far, for a cell array. A simple numerical array would be much simpler and easier.
Ahsan Abbas
Ahsan Abbas il 8 Mag 2016
Thank you Ced & Image Analyst for your responses, specially for cell2mat.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by