求一个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))); 展开
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))); 展开
1个回答
展开全部
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');
按上面语句试试
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');
按上面语句试试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询