[英]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.