【问题标题】:how to find the maximum of an array in matlabmatlab如何求数组的最大值
【发布时间】:2015-07-07 19:32:48
【问题描述】:

我有一个维度为 (517,462,399) 的数组。我想获得一个大小为(517,462)的矩阵。矩阵 (i,j) 的每个条目是数组的最大值除以其他值的总和。也就是说,要获得 (1,1) 条目,我们首先比较数组条目 (1,1,1),(1,1,2)...(1,1,399),然后将最大值除以其余 398 个条目的总和。

【问题讨论】:

  • 您阅读过maxsum 的文档吗?
  • 是的,但我找不到怎么做。

标签: matlab multidimensional-array


【解决方案1】:

这个比较容易实现。只需在第三维上应用 maxsum 函数。必须在运算符之前使用 . 对两个结果进行除法。
代码如下:

maxval = max(x,[],3);
result = (sum(x,3)-maxval) ./ maxval;

注意max-function 这里需要一个空的第二个参数,因为第三个参数表示维度。

【讨论】:

  • 但是总和应该不包括最大值。
  • @mohamed:只需减去除法前的最大值即可。我相应地编辑了我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 2013-09-20
  • 1970-01-01
  • 2021-04-04
相关资源
最近更新 更多