Info

此问题已关闭。 请重新打开它进行编辑或回答。

NaN value and two similar code:one correct & one with error

1 次查看(过去 30 天)
hi friends i have two similar codes:
1)
a=6.62*(10^(-8));
h=[5.9e-06,0.8e-06,1.7e-06,1.7e-06];
k=6.62*(10^(-8));
L=[0.08,0.02];
s(1,1)=-h(1,1)/k;
s(1,2)=h(1,2)/k;
s(2,1)=-h(1,3)/k;
s(2,2)=h(1,4)/k;
j=[22.65037995,54.73643261,89.96745110,126.6631845,164.2134375,202.2829328,240.6796079,279.2910447,318.0491506,356.9110558,395.8487379,434.8432425,473.8813525,512.9536011,552.0530460,591.1744890,630.3139660,669.4684039,708.6353855,747.8129847;48.60546148,171.9080619,322.1146808,476.6215653,632.3771305,788.6531669,945.1940049,1101.887531,1258.676997,1415.530639,1572.429308,1729.360778,1886.316878,2043.291942,2200.281917,2357.283826,2514.295437,2671.315041,2828.341307,2985.373186];
for m=1:2
for n=1:20
f(m,1,n)=(((j(m,n)^2)+(s(m,1)*s(m,2)))^2)+(j(m,n)^2)*((s(m,2)-s(m,1))^2);
f(m,2,n)=L(1,m)*((j(m,n)^2)+(s(m,1)^2))*f(m,1,n);
f(m,3,n)=(s(m,2)-s(m,1))*((j(m,n)^4)-((j(m,n)^2)*s(m,1)*(s(m,2)-s(m,1)))-((s(m,1)^3)*s(m,2)));
end
end
for m=1:2
for n=1:20
A(m,n)=(2*f(m,1,n))/(f(m,2,n)+f(m,3,n));
end
end
for m=1:2
for n=1:20
B(m,n)=sin(j(m,n)*L(1,m))+(s(m,1)/j(m,n))*(cos(j(m,n)*L(1,m))-1);
end
end
for m=1:2
for n=1:20
C(m,n)=A(m,n)*B(m,n);
end
end
syms x y t
X=0
Y=0
for n=1:20
X=C(1,n)*(exp((-a)*(j(1,n)^2)*4586.735162*t))*(j(1,n)*cos(j(1,n)*0.08*x)-s(1,1)*sin(j(1,n)*0.08*x))+X;
Y=C(2,n)*(exp((-a)*(j(2,n)^2)*4586.735162*t))*(j(2,n)*cos(j(2,n)*0.08*y)-s(2,1)*sin(j(2,n)*0.08*y))+Y;
end
teta=(X*Y);
T=((7)*teta)+0.196;
V=subs(teta,[x y],[0.5 0.125]);
ezplot(V)
2)
h=[0.643,0.32,0.6876];
L=5.027;
j=[0,0.9334540347,3.420676259,6.432521384,9.525757414,12.64249311,15.76900707,18.90049224,22.03484279,25.17099331,28.30834773,31.44654673,34.58536093,37.72463707,40.86426886,44.00418027,47.14431549,50.28463265,53.42509969,56.56569167;0.3546720053,0.8850081993,1.469325286,2.073398719,2.685562967,3.301684906,3.920036274,4.539789000,5.160504554,5.781933044,6.403924081,7.026383246,7.649249090,8.272480151,8.896047187,9.519928280,10.14410561,10.76856326,11.39328562,12.01825636];
for n=1:20
f(1,1,n)=(((j(1,n)^2)-(h(1)*h(2)))^2)+(j(1,n)^2)*((h(2)+h(1))^2);
f(1,2,n)=((j(1,n)^2)+(h(1)^2))*f(1,1,n);
f(1,3,n)=(h(2)+h(1))*((j(1,n)^4)+((j(1,n)^2)*h(1)*(h(2)+h(1)))+((h(1)^3)*h(2)));
A(1,n)=(2*f(1,1,n))/(f(1,2,n)+f(1,3,n));
B(1,n)=sin(j(1,n))-(h(1)/j(1,n))*(cos(j(1,n))-1);
C(1,n)=A(1,n)*B(1,n);
C(2,n)=(2/(5.027*j(2,n)))*((besselj(1,5.027*j(2,n)))/(((besselj(0,5.027*j(2,n)))^2)+((besselj(1,5.027*j(2,n)))^2)));
end
syms z r t
Z=0
R=0
for n=1:20
Z=C(1,n)*(exp(-(j(1,n)^2)*t))*(j(1,n)*cos(j(1,n)*z)+h(1)*sin(j(1,n)*z))+Z;
R=C(2,n)*(exp(-(j(2,n)^2)*t))*besselj(0,j(2,n)*r)+R;
end
teta=(Z*R);
T=((38)*teta)+295;
V=subs(teta,[z r],[0.5 0]);
ezplot(V)
the first code works correctly but the second one errors for ezplot! the most important problem that happens in second code that is different from 1st one, is that when the value of z substitutes, V become NaN! not a sym fun. but in first code it becomes to a sym fun.
help me if you know the answer. best regards

回答(0 个)

此问题已关闭。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by