登录论坛

查看完整版本 : [MATLAB毕业设计] 毕业设计中的问题


likeshu1103
2011-05-12, 15:20
快要到期限了,请各位各位高手百忙之中抽空浏览下,顺便指点,不胜感激!
t=10^-12:10^-12:40000*10^-12; dt=10^(-12);N=40000
l=1;xs=0.2;
H=5.76*10^7;
erel=2.5;e0=8.85*10^(-12);u0=4*pi*10^(-7);
L=u0/(2*pi)*log(b/a);C=(2*pi*e0*erel)/(log(b/a));R=(1/(pi*H))*(1/a^2+1/(2*b*0.6*10^(-3)));
RL1=100;RL2=10;
x=xs;
G=(1/(2*pi))*sqrt(u0/H)*(1/a+1/b);
v=1/sqrt(L*C);
a1=(G/2)*sqrt(C/L);a2=(R/2)*sqrt(C/L);
for k=1:N
dk=k.*dt;
if dk<=x/v
g1(k)=0;
else
g1(k)=exp(-a2*x)*(a1*x/(2*sqrt(pi*(dk-x/v).^3)))*exp(-(a1*x)^2/(4*(dk-x/v)));

end
end
for k=1:N
dk=k.*dt;
if dk<=(l-x)/v
g2(k)=0;
else
g2(k)=exp(-a2*(l-x))*(a1*(l-x)/(2*sqrt(pi*(dk-(l-x)/v).^3)))*exp(-(a1*(l-x))^2/(4*(dk-(l-x)/v)));
end
end
g1和g2里的x和l-x用数字代替能算出结果,但是用循环结果就错误。另外,把第二个循环中的g2(k)=0换成 g1(k)=0,g1就能算出正确结果。这是怎么回事...?