我在MATLAB中有一个4D测量数组。每个尺寸代表一个不同的测量参数。我想找到每个的最大值和最小值以及索引(即哪个参数)。
最好的方法是什么?我认为我可以采用每个维度中的最大值中的最大值,但是这似乎有点矛盾。
回答:
快速示例:
%# random 4 d array with different size in each dim A = rand([3,3,3,5]); %# finds the max of A and its position, when A is viewed as a 1D array [max_val, position] = max(A(:)); %#transform the index in the 1D view to 4 indices, given the size of A [i,j,k,l] = ind2sub(size(A),position); 找到最小值作为练习:)。
发表评论:如果您不知道数组A的维数,因此无法编写“ [i,j,k,l] = ”部分,请使用以下技巧:
indices = cell(1,length(size(A))); [indices{:}] = ind2sub(size(A),position);
更多&回答...