Splitting matrix into row vectors

62 views (last 30 days)
Pedro Oliveira
Pedro Oliveira on 28 Nov 2017
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.

Answers (1)

Stephen23 on 28 Nov 2017
Edited: Stephen23 on 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
C = num2cell(mat,2);
for k = 1:numel(C)
vec = C{k};
... do whatever with vec
  1 Comment
Lodovico Morando
Lodovico Morando on 2 Sep 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?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by