这个是代码,其中q1公式有点长,检查了几遍确认没有输入错误,麻烦看看
这个是报错图
syms x; %指曲率半径r/r0
syms m %指半径r
w=0:0.01:10; %指束腰b/r0
p=632.8*10^(-9); %指波长
z=10; %指传输距离
c=3*10^8; %指光速
u=0.185*((p^2)/(z*2.5*10^(-17)))^(3/5); %指参数r0
x=m/u;
T0=0.35; %指盐度
t=10;
m0=1;
syms l %指w0
l=(1/2)*w*u; %指w0
syms H
q1=T0/(2*sqrt(pi)).*m.^m0.*(l.^(m0+1))/(2*z*c).^(m0+1).*exp(-1i.*l.*t).*exp(-1i*(m0+1)*(pi/2)).*factorial(m0+1).*exp(((1i*m.^2)/(2*z*c)+(1/2).*l.*T0.^2+1i*(t+z/c))./((m.^2.*l.^2)./(z*c).^2+T0.^2)).*sqrt(pi./(m.^2.*l.^2./(2*z*c).^2+T0.^2/4)).*(1i*m.^2/(2*z*c)+l.*T0.^2/2+1i*(t+z/c)).^(m0+1).*(m.^2.*l.^2./(2*(z*c).^2)+T0.^2/2).^(-m0-1).*symsum((1/factorial(m0+1-2*H)*factorial(H)).*exp(-l.^2*T0.^2/4).*((m.^2.*l.^2/(2*z*c).^2+T0.^2/4)./(1i*m.^2/(2*z*c)+l.*T0.^2/2+1i*(t+z/c)).^2).^H,1,(m0+1)/2);
z1=0;
syms y
a=exp(-6.88*2.^(2/3)*x.^(5/3)*abs(sin(y/2)).^(5/3));
b1=exp(-1i*z1*y);
s1 = int(a*b1,y,0,2*pi);
c1=(1/(2*pi))*s1;
n1 = integral( matlabFunction( (abs(q1)).^2*m*c1 ), 0, inf, 'ArrayValued', true );
g1=n1/0.16;
plot(w,g1)
hold on