PDA

查看完整版本 : [MATLAB基础] 求助,帮忙看看该如何改输入函数


spt0102
2010-06-14, 13:11
初学matlab,想用matlab画出R关于u,s的函数的图
我写的程序如下

[u,s]=meshgrid(0:.1:5, -10:.4:10);
R=0.5*pi^0.25*(2*u./(u.^2+1))^0.5*exp(-s.^2/2/(u.^2+1))*exp(1^2/2*(u.^2-1)/(u.
^2+1)+1/sqrt(2)/u.*2*u./(u.^2+1))*(1+(u.^2-1)/(u.^2+1)-(1-s./sqrt(2)/u.)^2*(2*
u./(u.^2+1))^2)
surf(u,s,R)

运行后不明白该如何改正,希望精通matlab者能帮忙指教修改下,函数很繁琐,可以看附
件word里的公式, 以z=1为例。
谢谢

fanxing39
2010-06-18, 19:32
clear
[u,s]=meshgrid(0:.1:5, -10:.4:10);
z=1;
sech=2*u./(1+u.^2);tanh=(u.^2-1)./(u.^2+1);
R1=0.5*pi^0.25*sech.^0.5;
R2=exp(-s.^2./(2*(1+u.^2)));
R3=exp(z^2/2*tanh+z./(sqrt(2)*u).*sech);
R4=1+tanh-(z-s./(sqrt(2)*u)).^2.*sech.^2;
R=R1.*R2.*R3.*R4;
surf(R)

这样写容易调试