How can I get a vector out of a matrix?

12 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()

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!