display corresponding column matrix
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
barath manoharan
el 22 de Jun. de 2023
Suppose I have 3 column matrices or 4*3 matrix stored in A such that
A = [1 3 5 ; 2 4 5 ; 5 4 7 ; 2 8 10]
and i have another row matrix with 3 columns(no. of columns same as A) stored in B such that
B = [29 87 15]
Now i want to display the least value in B and corresponding column vector in A.
Expected Output:
since from the above 15 is least in B set , i will display 15 along with corresponding column in A(15 is in 3rd column so we take 3rd column of A) such that
C = 15 (least value in B)
D = [5 ; 5 ; 7 ; 10] (corresponding 3rd column of least value)
I need a generalised code suppose if i have A = (15*150 matrix) and B = (1*150 matrix) then i need to display the least values in B and as well as display the corresponding column(same column where least value present in B) in A. I hope this explanation helps, thank you in advance
0 comentarios
Respuesta aceptada
KALYAN ACHARJYA
el 22 de Jun. de 2023
Editada: KALYAN ACHARJYA
el 22 de Jun. de 2023
A = [1 3 5 ; 2 4 5 ; 5 4 7 ; 2 8 10]
B = [29 87 15]
idx=find(min(B)==B)
data=A(:,idx)
It can be condensed into a single line as well. You can now proceed with the remaining parts on your end too.
9 comentarios
Stephen23
el 22 de Jun. de 2023
Editada: Stephen23
el 22 de Jun. de 2023
Regarding https://www.mathworks.com/matlabcentral/answers/1986584-display-corresponding-column-matrix#comment_2791224 even for multiple minimums, no FIND is required, logical indexing is simpler and more efficient:
A = [1,3,5; 2,4,5; 5,4,7; 2,8,10];
B = [29 15 15]; % here two minimum numbers
idx = B==min(B);
out = A(:,idx)
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!