繁体   English   中英

我怎样才能有效地使用Matlab找到3D阵列第三维的所有方差?

[英]How can I efficently use Matlab to find the all the variances along the third dimension of a 3D array?

如果我有一个大小为nx * ny * nz的矩阵A,我可以通过使用double for循环找到我正在寻找的差异:

varA = zeros(ny,nx);
for jj = 1:ny
  for ii = 1:nx
    varA(jj,ii) = var(A(jj,ii,:));
  end
end

但是,我非常希望避免使用这个循环,因为大型数组可能需要很长时间。 有没有一种简单的方法可以在Matlab中有效地进行计算?

您希望为var提供dim输入以指定应用计算的维度。

varA = var(A, 0, 3);

您必须将加权方案(第二个参数)指定为默认值(0)。

注意 :此维度参数可用于许多简单计算,包括meanstddiff 检查文档中的特定功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM