24小时热门版块排行榜    

查看: 515  |  回复: 8
当前主题已经存档。

jwye

铁虫 (初入文坛)

[交流] 【求助】请各位帮忙看看这个Matlab程序的问题出在哪里?谢谢!【已完成】

主要是实现E=exp^i*psai(j)+exp^i*psai(j)+exp^i*psai(j)+……+exp^i*psai(j)其中psai(j)=dr*cos(theta)+delta(j);其中i表示虚数;j的值为1到n;dr是一个常数;theta是0:360;delta(j)也是一个常数,不过此常数对于不同的j可能不同(所以对应不同的j,psai(j)值也不同),此常数通过load导入,就是通过文件e导入。
按以下程序算出来的结果中,E向量里的值是相同的,但此结果是不对的。问题可能在绿色部分,但我搞不懂(也许下面这个程序的思路本来就是错的!),请各位帮忙分析下,非常感谢!

n=9; %e文件中的数据个数;
c=3e8;
f=8.58e8; %频率
number_theta=10; %将2*pi分为100段;
a=2*pi/number_theta;
lambda=c/f; %波长
d=0.29; %间距
dr=2*pi*d/lambda; %电距离
load C:\MATLAB7\work\e.txt %导入初相位,e文件的内容就是n个数据单;
delta=e
sum=zeros(number_theta+1,1)
M=1
for num=1:1:number_theta+1
    for j=1:n
        psai(j)=dr*cos((num-1)*a)+delta(j)
        sum(M)=sum(M)+exp(psai(j)*sqrt(-1))
    end
    M=M+1;
end

E=abs(sum)
%后面的程序暂时不看;
%for j=1:1number_theta+1)
%    E(j)=abs(sum(j));
%    PolarXY=10*log10(E(j));
%end

%for j=1:1number_theta+1)
    %theta=0:a:2*pi
    %plot(a*(j-1),PolarXY(j))
    %hold on
%end
%polar(theta,E,'-');
%polar(theta,max(PolarXY,0),'-');
%grid on;
%grid minor;

[ Last edited by nono2009 on 2009-9-25 at 07:19 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fspdlh

金虫 (正式写手)

★ ★
kuhailangyu(金币+2,VIP+0):谢谢参与! 5-23 16:32
sum(M)=sum(M)+exp(psai(j)*sqrt(-1))
不要用sum作变量名,它是个函数
2楼2009-05-23 16:28:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jwye

铁虫 (初入文坛)

刚才把它改了,结果还是一样;问题可能在其他地方。
3楼2009-05-24 13:09:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fspdlh

金虫 (正式写手)

每一步都输出一下所求的变量,看是不是你想要的,慢慢调试嘛
4楼2009-05-24 23:04:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jwye

铁虫 (初入文坛)

是一步一步调的,到E=abs(sum)那步得到的结果就不对了。我想应该是循环那里的问题,但具体的原因我却弄不懂。
5楼2009-05-25 08:35:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

calmtiger3536

金虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
exp^i*psai(j)和exp(psai(j)*sqrt(-1))不等价
                  和(exp^i)*psai(j)等价
没有目标-人生就没有航向!
6楼2009-05-25 23:52:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jwye

铁虫 (初入文坛)

谢谢楼上的你,很细心,求和的式子应该是E=exp^(i*psai(j))+exp^(i*psai(j))+exp^(i*psai(j))+……+exp^(i*psai(j)),()里的才是指数。楼上的提出的应该不是原因。
7楼2009-05-27 13:19:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jwye

铁虫 (初入文坛)

找到原因了,原来是psai(j)=dr*cos((num-1)*a)+delta(j)出了问题,正确的应该是psai(j)=(j-1)*dr*cos((num-1)*a)+delta(j)*pi/180。非常感谢各位的帮忙!
8楼2009-05-27 16:03:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sitonyl

铁杆木虫 (文坛精英)

学习了
zz
9楼2009-05-28 03:24:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jwye 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见