i have data A=( 3,5,3,1,4 ) in a column and
B=[ 4 6 9 1 3
2 7 2 5 7
7 3 1 8 2
4 1 6 9 1
2 5 8 3 6]
and i want: as in A first element is 3 and for this i want to get first element of column 3 row 1 from B which is 9. The second element of A is 5 and for this i want to get the the 2nd element of column 5 and row 2 from B which is 7 ,and do the process for all other elements . how to do this? the requried elememts are bold and underlined
any help will be really appriciated.........thanks in advance

2 Kommentare

madhan ravi
madhan ravi am 13 Dez. 2018
Dude just give the example of your desired output
Farman Shah
Farman Shah am 13 Dez. 2018
Bearbeitet: Farman Shah am 13 Dez. 2018
[9,7,1,4,3] is the disired output. which is underlined also

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 13 Dez. 2018

0 Stimmen

B(sub2ind( size(B), 1:length(A), A))

3 Kommentare

Farman Shah
Farman Shah am 13 Dez. 2018
Error using sub2ind (line 47)
The subscript vectors must all be of the same size.
Error in takeprobe (line 6)
res= B(sub2ind( size(B), 1:length(A), A));
return this error. I have my A data in one Coulmn and B data in 5 Columns
B(sub2ind( size(B), (1:length(A)).', A(:)))
The above will work regardless of whether A is a row or column vector. However, it will return a column of results either way. If you need a row of results, put .' at the end:
B(sub2ind( size(B), (1:length(A)).', A(:))).'
Farman Shah
Farman Shah am 13 Dez. 2018
thank you very much sir.. you made my day easy.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Operators and Elementary Operations 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!

Translated by