登录论坛

查看完整版本 : 如何在MATLAB中找到多维矩阵的最大值或最小值?


poster
2019-12-10, 20:30
我在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);

更多&回答... (https://stackoverflow.com/questions/2635120)