MATLAB 中整个多维数组(不仅仅是一维)的中位数



>我有一个 10 x 10 的值数组,A .我需要所有这些值的中位数,M。 我可以轻松地沿着行或列找到中位数:

M = median(A,1) %or
M = median(A,2)

但是,M = median(A) 也会返回行中的位数。

如何找到所有值的单个中位数? 我知道我可以将数组转换为一个非常非常长的向量,但这似乎令人不快且效率低下。有更简单的解决方案吗?我也希望能够为多维数组执行此操作。

谢谢!

首先通过使用(:)索引进行线性化。这会将任何数组转换为列数组。然后计算中位数:

M = median(A(:));

我认为使用 (:) 进行索引不需要任何内存重新分配。它只是按列主顺序读取数组。

相关内容

最新更新