Splitting matrix into row vectors

36 visualizzazioni (ultimi 30 giorni)
Pedro Oliveira
Pedro Oliveira il 28 Nov 2017
Hi,
I have a matrix (with varying dimensions so those aren't important) and I want to split it into vectors such that the first vector is the first row, the second vector is the second row, etc.
I need to do this since these vectors will be the input to a function that can only take row vectors. What is the best way to split the matrix into row vectors?
Thank you.

Risposte (1)

Stephen23
Stephen23 il 28 Nov 2017
Modificato: Stephen23 il 28 Nov 2017
Simply use indexing:
mat = [...]; % your matrix
for k = 1:size(mat,1)
vec = mat(k,:); % each row of mat
... do whatever with vec
end
C = num2cell(mat,2);
for k = 1:numel(C)
vec = C{k};
... do whatever with vec
end
  1 Commento
Lodovico Morando
Lodovico Morando il 2 Set 2020
Yea but now all the vectors have the same name..is there a way to give each of them a different name according to the number of columns or raws there are?

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by