如何在 MATLAB 中求多维矩阵的最大值或最小值?
我在 MATLAB 中有一个 4D 测量值数组。每个维度代表不同的测量参数。我想找到最大值和最小值以及每个值的索引(即哪个参数)。
最好的方法是什么?我想我可以在每个维度上取最大值中的最大值,但这看起来像是一个拼凑。
I have a 4D array of measurements in MATLAB. Each dimension represents a different parameter for the measurement. I want to find the maximum and minimum value and the index (i.e. which parameter) of each.
What's the best way to do it? I figure I can take the max of the max of the max in each dimension, but that seems like a kludge.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
简单的例子:
找到最小值作为练习:)。
继一条评论后:
如果您不知道数组 A 的维数,因此无法编写“
[i,j,k,l] =
”部分,请使用以下技巧:Quick example:
Finding the minimum is left as an exercise :).
Following a comment:
If you do not know the number of dimensions of your array A and cannot therefore write the "
[i,j,k,l] =
" part, use this trick:对于二维数组,假设我
您只需使用 min /max 函数两次即可。
n 维数组的 n 次。
例如:a=[2 3 4; 5 6 7; -2 7 87; 911 7 34];
您也可以将最小/最大尺寸参数设置为 2。因为这是调用该函数两次,第二次是在 u 选择的维度的最小/最大元素向量上。
同样,您可以执行
(max(max(a,[],1))
来找出最大值。for two dimensional array, say I
you can just use the min /max function twice.
n times for n dimensional array.
eg:
a=[2 3 4; 5 6 7; -2 7 87; 911 7 34];
you can put the dimension parameter in min/max to 2 as well. as this is calling the function twice, second time on the minimum/maximum element vector of the dimension u choose.
similarly, you can do
(max(max(a,[],1))
to find out the maximum.