How can I get a vector out of a matrix?

11 vues (au cours des 30 derniers jours)
Shang Gao
Shang Gao le 9 Sep 2017
Modifié(e) : Stephen23 le 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 commentaires
KALYAN ACHARJYA
KALYAN ACHARJYA le 9 Sep 2017
Modifié(e) : KALYAN ACHARJYA le 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 le 9 Sep 2017
Modifié(e) : Stephen23 le 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.

Connectez-vous pour commenter.

Réponses (1)

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

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by