在矩阵中的每个值保持简单,采取矩阵的那些,即如何计算结果在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