[英]MATLAB evaluate height vector of a 3D matrix into a 2D matrix
我正在用MATLAB编程,希望使我的代码尽可能高效。 但是我遇到了一个问题。
我有一个3D矩阵(行,列,高度)和一个2D矩阵(行,列)
我想将height列的最大值保存在2D矩阵的相应单元格中。 这可以通过for循环来完成。
for i=1:row
for j=1:column
2D(i,j)=nanmax(3D(i,j,:));
end
end
但是还有其他方法吗? 就像是:
2D(mask)=3D(mask,nanmax(:));
掩码是一个逻辑矩阵,可能只包含一个掩码就可以使它更容易。
任何帮助将不胜感激! 谢谢贾斯珀
你有没有尝试过
twoD = nanmax( threeD, [], 3 );
如果有遮罩,则可以使用时间变量
tmp = nanmax( threeD, [], 3 );
twoD(mask) = tmp(mask);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.