how to do something like A(:,B(:)) ?
Ältere Kommentare anzeigen
Hello everybody,
I have a matrix A of size n x p, e.g. 10*4
A =
0.2760 0.7513 0.8407 0.3517
0.6797 0.2551 0.2543 0.8308
0.6551 0.5060 0.8143 0.5853
0.1626 0.6991 0.2435 0.5497
0.1190 0.8909 0.9293 0.9172
0.4984 0.9593 0.3500 0.2858
0.9597 0.5472 0.1966 0.7572
0.3404 0.1386 0.2511 0.7537
0.5853 0.1493 0.6160 0.3804
0.2238 0.2575 0.4733 0.5678
and a vector B (1 x n), e.g.
B =
2 2 4 4 1 2 2 3 3 4
and I would like to build a vector C (1 x n) where C(k) = A(k,B(k)) (in my example I would like to get C = [0.7513 0.2551 0.5853 .......] I thought I was pretty comfortable with matlab syntax but I'm lost there ! :) if anyone has any idea ...
Akzeptierte Antwort
Weitere Antworten (1)
Youssef Khmou
am 25 Sep. 2013
you can create your vectors as the following :
C1=A(:,B(1));
C2=A(:,B(2));
C4=A(:,B(4));
1 Kommentar
SebLambert
am 25 Sep. 2013
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!