标签: matlab standard-deviation
假设我的矩阵A为100x200x300。第三维称为" page"在Matlab中,这个矩阵有300页。
A
现在我想计算每个页面内的标准偏差,得到1x1x300的结果矩阵。
我不能做
std(std(A,0,1),0,2)
因为我认为正常化是错误的。
答案 0 :(得分:4)
您需要使用reshape将前两个维度折叠为一个(即分成列);然后在每列上计算std:
reshape
std
Ar = reshape(A, size(A,1)*size(A,2), size(A,3)); result = std(Ar);
这将为您提供1x300的矢量。如果你真的需要1x1x300,请使用
result = shiftdim(result, -1);