如何在matlab中计算每页STD?

如何在matlab中计算每页STD?,matlab,standard-deviation,Matlab,Standard Deviation,假设矩阵A为100x200x300。第三维在Matlab中称为“页面”,该矩阵有300页 现在,我想计算每页的标准偏差,得到1x1x300的结果矩阵 我不能这么做 std(std(A,0,1),0,2) 因为我认为标准化是错误的。您需要使用;然后沿每列计算: Ar = reshape(A, size(A,1)*size(A,2), size(A,3)); result = std(Ar); 这将为您提供1x300矢量作为结果。如果您真的需要它是1x300,请使用 result = shift

假设矩阵
A
为100x200x300。第三维在Matlab中称为“页面”,该矩阵有300页

现在,我想计算每页的标准偏差,得到1x1x300的结果矩阵

我不能这么做

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

因为我认为标准化是错误的。

您需要使用;然后沿每列计算:

Ar = reshape(A, size(A,1)*size(A,2), size(A,3));
result = std(Ar);
这将为您提供1x300矢量作为结果。如果您真的需要它是1x300,请使用

result = shiftdim(result, -1);

作为一条捷径,您可以始终执行
Ar=restrape(a,[],size(a,3))