我将字符型转化为数值型,然后画图,结果图形没有曲线,这是怎么回事?我用的函数是str2double和str2num都试了,都不行。我的程序如下,其中的E2(i)的值我用matlab计算了,为什么是这么庞大的一个数?这是怎么回事?而且E=str2double(E2)这个语句出来的结果怎么是NAN?我该怎么调?
u0=4*pi*1e-7;
eta=377;
long=10;h=0.09;r=0.0025;
L=u0/(2*pi)*log(2*h/r);
C=1/(1.8*log(h/r)*10^10);
ksai=30*pi/180;
alfa=45*pi/180;
fai=0*pi/180;
f1=0;
f2=1e9;
N=1;
f=linspace(f1,f2,N);
z=sym('z');
x=sym('x');
syms c d l v Dv Dl;
for i=1:length(f);
w=pi*f(i);
k=w*sqrt(u0*e0);
R=1;
Q=-1;
b=6e8;
a=4e7;
E_0(i)=65000*(1/(a+j*w)-1/(b+j*w));
h=0.09;
E_zex(i)=E_0(i).*((cos(alfa)*cos(ksai)+sin(alfa)).*exp(j.*k*z*sin(ksai))+(R*cos(alfa)*cos(fai)+Q*sin(alfa)).*exp(-j.*k*z*sin(ksai))).*exp(-j.*k*x*cos(ksai)*cos(fai));
H_yex(i)=E_0(i)/eta.*(-(cos(alfa)*cos(fai)+sin(alfa)*sin(fai)*sin(ksai)).*exp(j.*k*z*sin(ksai))-(R*cos(alfa)*cos(fai)+Q*sin(alfa)*sin(fai)*sin(ksai))).*exp(-j.*k*z*sin(ksai)).*exp(-j.*k*x*cos(ksai)*cos(fai));
Vs(i)=-j*w*u0*int(H_yex(i),z,0,h);
Is(i)=-j*w*C*int(E_zex(i),z,0,h);
c =Vs(i);
d=Is(i);
expr2=Dv+j*w*L*l-c;
expr2 = collect(expr2);
expr3=Dl+j*w*C*v-d;
expr3 = collect(expr3);
[v,l]=dsolve(char(expr2),char(expr3),'x');
V1=real(v);
V2=imag(v);
E2(i)=sqrt(V1.^2+V2.^2)
end
E=str2double(E2);
plot(f,E);