How can I get a vector out of a matrix?

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

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by