Odd output from ind2sub
이전 댓글 표시
I'm trying to spit out indices for max values in a large matrix at a specific point in time (in this case obs 1560, t(:, :, 1560))
>> [I J]=ind2sub(size(t), (max(max(t(:, :, 1560)))))
But my I is equal to the actual value in the cell, not the row
I =
28.5048
And J makes no sense:
J =
1
Is the error in my code obvious to anyone? Thanks,
채택된 답변
추가 답변 (1개)
dpb
2014년 7월 23일
(max(max(t(:, :, 1560))))
is a single value for the maximum of the values of the requested plane. Thus there isn't any actual location to be converted from being returned.
If you write
[i,j]=ind2sub(size(t), find(max(max(t(:, :, 1560)))))
instead, you'll always get [1,1] because the result of the double max() operation is scalar.
카테고리
도움말 센터 및 File Exchange에서 Workspace Variables and MAT Files에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!