display corresponding column matrix
조회 수: 5 (최근 30일)
이전 댓글 표시
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
채택된 답변
KALYAN ACHARJYA
2023년 6월 22일
편집: KALYAN ACHARJYA
2023년 6월 22일
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
Stephen23
2023년 6월 22일
편집: Stephen23
2023년 6월 22일
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)
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!