matlab - 如何在matlab中计算每页STD?

标签 matlab standard-deviation

假设我有 100x200x300 的矩阵 A。第三维在Matlab中称为“页”,那么这个矩阵有300页。

现在我想计算每个页面内的标准偏差并得到 1x1x300 的结果矩阵。

我做不到

std(std(A,0,1),0,2)

因为我认为规范化是错误的。

最佳答案

您需要使用 reshape 将前两个维度折叠成一个(即折叠成列) ;然后计算 std沿着每一列:

Ar = reshape(A, size(A,1)*size(A,2), size(A,3));
result = std(Ar);

这将为您提供一个 1x300 的矢量作为结果。如果你真的需要它是 1x1x300,使用

result = shiftdim(result, -1);

关于matlab - 如何在matlab中计算每页STD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25159170/

相关文章:

vba - 计算同一列中相同文本值的标准差

matlab - 如何在图形中添加 x 轴线? (matlab)

python - 如何在 python 中加载大型 .mat 文件?

matlab - 为什么我收到错误 "the constructor must preserve the class of the returned object"?

matlab - 在matlab中创建特定的大矩阵

python - pandas 数据系列的矢量化标准差计算

c - 我尝试用 C 计算小于 100 个数字的标准差

ruby-on-rails - 我如何找到 Ruby 中的标准偏差?

python - 对数正态分布的均值和标准差与分析值不匹配

python - 数字编程语言是否区分 "largest finite number"和 "infinity"?