How can I get a vector out of a matrix?

5 Ansichten (letzte 30 Tage)
Shang Gao
Shang Gao am 9 Sep. 2017
Bearbeitet: Stephen23 am 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 Kommentare
KALYAN ACHARJYA
KALYAN ACHARJYA am 9 Sep. 2017
Bearbeitet: KALYAN ACHARJYA am 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 am 9 Sep. 2017
Bearbeitet: Stephen23 am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

José-Luis
José-Luis am 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!

Translated by