我想將小于 0.0038 的值設定為一(1),其余值將為零(0),然后我需要計算以下矩陣(berMap_mean)中具有尺寸 41*41。

我所做的是:首先,我應用了一個條件,該條件必須向我展示一個大小相同的矩陣,該矩陣具有 0 和 1,并且滿足以下條件
isSmaller = berMap_mean(berMap_mean < 0.0038);
由于上述條件,isSmaller 必須是一個只有零和與上述矩陣大小相同的矩陣,如下所示。

然后我想用以下條件計算上面草圖矩陣中的個數。
numSmaller = sum(sum(isSmaller(:) == 1));
然后應用以下等式
Coverage_area = (numSmaller/(41*41))*400
但是我無法在第一個條件下得到我想要的矩陣,但我得到了一些不同的東西,如下所示,接下來的兩個條件沒有顯示任何內容。

有什么幫助嗎?您可以考慮 berMap_mean 任何大小為 41*41 的隨機映射。
%% 計算覆寫面積
isSmaller = berMap_mean(berMap_mean < 0.0038);
numSmaller = sum(sum(isSmaller(:) == 1));
Coverage_area = (numSmaller/(41*41))*400
uj5u.com熱心網友回復:
您的 for 運算式isSmaller看起來正確,這將為您提供一個logical與berMap_mean. nnz您可以通過使用計算非零元素的數量和計算元素的數量來簡化下一個運算式numel。
fractionSmaller = nnz(isSmaller) / numel(isSmaller)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/534023.html
標籤:软件矩阵
