>我有一个 10 x 10 的值数组,A
.我需要所有这些值的中位数,M
。 我可以轻松地沿着行或列找到中位数:
M = median(A,1) %or
M = median(A,2)
但是,M = median(A)
也会返回行中的位数。
如何找到所有值的单个中位数? 我知道我可以将数组转换为一个非常非常长的向量,但这似乎令人不快且效率低下。有更简单的解决方案吗?我也希望能够为多维数组执行此操作。
谢谢!
首先通过使用(:)
索引进行线性化。这会将任何数组转换为列数组。然后计算中位数:
M = median(A(:));
我认为使用 (:)
进行索引不需要任何内存重新分配。它只是按列主顺序读取数组。