How to dynamically update the matrix ?

3 Ansichten (letzte 30 Tage)
Ahsan Abbas
Ahsan Abbas am 8 Mai 2016
Kommentiert: Ahsan Abbas am 8 Mai 2016
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 ?

Akzeptierte Antwort

Weird Rando
Weird Rando am 8 Mai 2016
Bearbeitet: Weird Rando am 8 Mai 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 Kommentare
Image Analyst
Image Analyst am 8 Mai 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 am 8 Mai 2016
Thank you Ced & Image Analyst for your responses, specially for cell2mat.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by