Effacer les filtres
Effacer les filtres

finding an output from a matrix using a single syntax

1 vue (au cours des 30 derniers jours)
Dwyane  Wade
Dwyane Wade le 13 Août 2011
Hi there guys I have a question. How do you get a single line output out of a matrix? for example here is the matrix:
Q =
10 20 30 40 50 60 70
8 9 10 11 12 13 14
33 30 27 24 21 18 15
28 35 42 49 56 63 70
36 45 54 63 72 81 90
-1 -2 -3 -4 -5 -6 -7
64 69 74 79 84 89 94
and I am required to find:
R = [33 9 30 74 -4 72 63 15]
how do I get it using a single syntax? I've been struggling since I am just new into using Matlab. please help me...
  1 commentaire
Fangjun Jiang
Fangjun Jiang le 13 Août 2011
What is the logic? How do you make the selection?

Connectez-vous pour commenter.

Réponse acceptée

Paulo Silva
Paulo Silva le 13 Août 2011
R=[Q(3:6:18) Q(21:6:45)]
Edit, there's one shorter version
R=Q([3:6:18 21:6:49])
  3 commentaires
Dwyane  Wade
Dwyane Wade le 15 Août 2011
how did you get this?
Paulo Silva
Paulo Silva le 15 Août 2011
Please read what I said in your other similar question and also http://www.mathworks.in/help/techdoc/math/f1-85462.html

Connectez-vous pour commenter.

Plus de réponses (3)

Dwyane  Wade
Dwyane Wade le 13 Août 2011
Im not sure what the logic is, all I know is that we are required to find R = [33 9 30 74 -4 72 63 15] using a single syntax like: R = (solution) << something like this
  1 commentaire
Paulo Silva
Paulo Silva le 13 Août 2011
The values are clearly in diagonals / , see my answer.

Connectez-vous pour commenter.


Fangjun Jiang
Fangjun Jiang le 13 Août 2011
There is a way to select the element using logical index. It is like this:
Ind=false(size(Q));
Ind(3,1)=true;
Ind(2,2)=true;
Ind(1,3)=true;
Ind(7,3)=true;
R=Q(Ind)
You'll get the idea.
Or linear indexing
LinInd=[1 12 20 40];
S=R(LinInd)

Andrei Bobrov
Andrei Bobrov le 13 Août 2011
a=spdiags(Q(end:-1:1,:))
a1=a(:,[3,9])
out=a1(a1~=0)
  1 commentaire
Andrei Bobrov
Andrei Bobrov le 13 Août 2011
about logic:
a=spdiags(Q(end:-1:1,:))
a1=a(:,[0,size(Q,1)-1]+3)
out=a1(a1~=0)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by