2016-01-31 47 views
2

目前我有一個與象限形狀的矩陣創建問題。問題如下:如何在Matlab中創建一個象限圓形狀的矩陣?

我想要一個138 x 140的矩陣,其值爲2和3.在象限圓的內部和上面,值應該是2.一切在圓外,我需要有一個值爲3.圓的半徑爲138(= R138)。希望下面的圖片能支持我的解釋。

138x140 matrix with quadrant circle.

我想用「triu」的(然後翻轉)在MATLAB:那麼我不會得到一個圓,而是一個三角形,而不是(還沒有嘗試過呢)。這不是我想要的。

創建此矩陣的最簡單方法是什麼?

回答

1

你可以試試這個:

a = ones(138, 140)*3; 
[gx, gy] = meshgrid(139:-1:0, 137:-1:0); 
a(gx.*gx + gy.*gy <= 138*138) = 2; 
+0

你試過了嗎?我收到錯誤「嘗試在模糊維度上增長數組」。 –

+0

對不起,我編輯了這篇文章,現在應該工作 – pseudoDust

+0

感謝您的更新,它現在可以工作。以圖形方式檢查:'''imagesc(a);軸緊;軸相等;''':] –