我有一个尺寸为517,462,399的数组。我想获得一个大小的矩阵(517,462)。矩阵(i,j)的每个条目是数组的最大值除以其他值的总和。也就是说,为了获得(1,1)条目,我们首先比较数组条目(1,1,1),(1,1,2)......(1,1,399),然后我们将最大值除以其余398个条目的总和。
答案 0 :(得分:4)
max
和sum
函数即可。两个结果的划分必须在运算符之前与.
一起按元素进行
代码如下:
maxval = max(x,[],3);
result = (sum(x,3)-maxval) ./ maxval;
请注意,max
- 函数在这里需要一个空的第二个参数,因为第三个参数表示维度。