How to split a nxn matrix into n vectors
Mostra commenti meno recenti
Risposta accettata
Più risposte (3)
Jan
il 16 Nov 2012
1 voto
Using a list of variable like "m1, m2, ..." is a really bad idea and it increases the complexity of programs without any advantage. Andrei's suggestion to use a cell array is much better. See
3 Commenti
Max
il 16 Nov 2012
Andrei Bobrov
il 16 Nov 2012
Modificato: Andrei Bobrov
il 16 Nov 2012
eg
M= [1 2 3 ; 4 5 6 ; 7 8 9];
m = num2cell(M,2);
out = polyder(m{1:2}); % for your version out = polyder(m1,m2);
Jan
il 16 Nov 2012
"Struct"? Structs have field names, but I do not see any field names here. Do you mean "cell array"?
I think that Andrei has guessed already, what you are trying to do. But in general in is more efficient, when you explain exactly, what you are trying to do.
Matt Fig
il 16 Nov 2012
Jan is correct. Doing this is a bad idea. If you need to use the POLYDER function on each row of a large array, there are several ways to do it without making many variables.
M = randi(4,6,4);
N = num2cell(M,2);
PD = cellfun(@polyder,N,'Un',0)
Now PD{1} is the POLYDER of M(1,:), PD{2} is the POLYDER of M(2,:), etc.
Categorie
Scopri di più su Matrices and Arrays in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!