在矩陣中的每個值保持簡單,採取矩陣的那些,即如何計算結果在MATLAB
U_iso = ones(72,37)
和一些參數
ThDeg = 0:5:180;
dtheta = 5*pi/180;
dphi = 5*pi/180;
Th = ThDeg*pi/180;
現在的代碼是
omega_iso = 0;
for i = 1:72
for j=1:37
omega_iso = omega_iso + U_iso(i,j)*sin(Th(j))*dphi*dtheta;
end
end
and
D_iso = (4 * pi)/omega_iso
這段代碼沒問題。它採用尺寸爲72 * 37的矩陣。環路是積分的近似值,進一步被4pi除以得到天線的方向性的一個值。
現在這段代碼給出了一個1.002左右的值。
我的問題是我不需要1值。我需要一個72 * 37的矩陣作爲我的答案,在72 * 37矩陣的每個單元上實現上述積分逼近。因此Directviity'D'也產生一個相同大小的矩陣,每個單元給出相同的值。
所以我們所要做的就是取代1值,我們需要在每個單元格上的值。
任何人都可以請幫忙。
提示:您可以通過在行首添加四個空格來突出顯示代碼。 – 2010-07-03 10:59:52
U和U_iso是相同的矩陣嗎? U_iso的兩個維度是否與phi和theta相對應?如果是這樣,那麼我認爲你正在計算2D表面上的標量積分。如果你想爲每個點(phi,theta)設定一個值,那麼你需要制定一個不同的積分來開始。 – 2010-07-03 11:10:22
我從你的其他(現在已關閉)帖子中添加了一些更正。請檢查是否有任何其他更改需要製作,並使用「編輯」鏈接(位於註釋上方,但位於標籤下方)將其放在此處而不是創建單獨的帖子。謝謝。 http://stackoverflow.com/questions/3171564/how-do-i-calculate-result-for-every-value-in-a-matrix-in-matlab – 2010-07-03 17:59:39