How can I get a vector out of a matrix?

8 visualizzazioni (ultimi 30 giorni)
Shang Gao
Shang Gao il 9 Set 2017
Modificato: Stephen23 il 9 Set 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 Commenti
KALYAN ACHARJYA
KALYAN ACHARJYA il 9 Set 2017
Modificato: KALYAN ACHARJYA il 9 Set 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 il 9 Set 2017
Modificato: Stephen23 il 9 Set 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.

Accedi per commentare.

Risposte (1)

José-Luis
José-Luis il 9 Set 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