求一个matlab程序的问题

>>wave_length=0.633e-6;delta=0.001;Sigma=0.01;C=1e-13;k=2*pi/wave_length;z=[0:0.01:10... >> wave_length=0.633e-6;
delta=0.001;
Sigma=0.01;
C=1e-13;
k=2*pi/wave_length;
z=[0:0.01:100];
Rytov_var=1.23*C*k^(7/6).*z.^(11/6);
a_2=1+(Sigma^2)/(delta^2);
Omiga=(k*Sigma^2)./z;
b_2=a_2+Omiga.^2;
a=sqrt(a_2);
d=(1-a)^2.*(a-Omiga.*i);
c=(d-(2*b_2*a)./Omiga)./(d+2*b_2);
F=hypergeom(-5/6,1,c);
B=(1+(2.*Omiga.*i)./(1+a_2)).^(5/6);
A=B.*F;
c_weak_A=2.67.*Rytov_var.*Omiga.^(5/6).*((1+a_2)./(2*b_2)).*(real(A).*(16/11)-1);
c_weak_B=(1/2).*c_weak_A;
plot(Rytov_var,c_weak_A,'b',Rytov_var,c_weak_B,'r');
这是matlab程序,下面是运行结果。这是什么错误求解释,怎么修改
??? Error using ==> mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a double array.

If the input expression contains a symbolic variable, use the VPA function instead.

Error in ==> sym.sym>sym.double at 936
Xstr = mupadmex('symobj::double', S.s, 0);

Error in ==> hypergeom at 35
h = double(hypergeom(n,d,sym(z)));
展开
 我来答
我行我素850915
推荐于2016-02-08 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1681万
展开全部
wave_length=0.633e-6;
delta=0.001;
Sigma=0.01;
C=1e-13;
k=2*pi/wave_length;
z=1:1:50;
Rytov_var=1.23*C*k^(7/6).*z.^(11/6);
a_2=1+(Sigma^2)/(delta^2);
Omiga=(k*Sigma^2)./z;
b_2=a_2+Omiga.^2;
a=sqrt(a_2);
d=(1-a)^2*(a-Omiga*1i);
c=(d-(2*b_2*a)./Omiga)./(d+2*b_2);
F=hypergeom(-5/6,1,c);
B=(1+(2*Omiga*1i)/(1+a_2)).^(5/6);
A=B.*F;
c_weak_A=2.67.*Rytov_var.*Omiga.^(5/6).*((1+a_2)./(2*b_2)).*(real(A)*(16/11)-1);
c_weak_B=(1/2).*c_weak_A;
plot(Rytov_var,c_weak_A,'b',Rytov_var,c_weak_B,'r');
按上面语句试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式