How can I get a vector out of a matrix?

8 views (last 30 days)
Shang Gao
Shang Gao on 9 Sep 2017
Edited: Stephen23 on 9 Sep 2017
Given a two dimension matrix, if I want to extract 3 elements with subsript (1,2) (2,4) (3,6) to form a vector, how I can I achieve that without using a double loop? Because if I just use M(1:3,2:2:6), the result will also be a matrix. Can someone give me a simple solution?
  2 Comments
KALYAN ACHARJYA
KALYAN ACHARJYA on 9 Sep 2017
Edited: KALYAN ACHARJYA on 9 Sep 2017
First convert Matrix to vector
%
vector=matrix(:);
%Do the Operation
result=[vector(1,2),vector(2,4),vector(1,2),vector(3,6)]
%
Stephen23
Stephen23 on 9 Sep 2017
Edited: Stephen23 on 9 Sep 2017
@KALYAN ACHARJYA: a column vector has no columns 2, 4, or 6.
One good way is to use sub2ind, as José-Luis has already answered.

Sign in to comment.

Answers (1)

José-Luis
José-Luis on 9 Sep 2017
Sounds like a job for sub2ind()

Community Treasure Hunt

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

Start Hunting!