|
|
老师您好,我上次在您的指点下用matlab编了下面这个程序,求交点时又发现了一点问题。当我采用5次多项式拟合p1=polyfit(xx,yy,5)时,得到的交点与图上交点很符合,而我采用4次或6次多项式时,得到的交点与实际图的交点却有很大出入,老师您能帮忙看下哪里有问题吗?怎么改进才好呢?打扰老师了。
xx=800:100:2500;
yy=[445.7823 462.6885 466.5998 486.2869 494.6164 494.1792 493.4424 492.4400 491.1972 489.7337 477.7725 461.8259 451.7348 437.8226 424.8029 412.5424 400.9299 386.1670];
c=[2.81 2.639 2.422 2.195 1.94 1.696 1.466 1.2477 1.1386 1.0284 0.8485 0.7823 0.656 0.5538 ];
p1=polyfit(xx,yy,5);
y_val=polyval(p1,xx);
plot(xx,yy,'k*',xx,y_val,'r-')
syms x y
h1=[];
h2=[];
for i=1:14
p2=c(i)*xx.^2/(10^4);
[Sx,Sy]=solve(p1(1)*x^5+p1(2)*x^4+p1(3)*x^3+p1(4)*x^2+p1(5)*x+p1(6)==y,c(i)*x^2/(10^4)==y);
hold on
plot(xx,p2)
t1=eval(Sx)
t2=eval(Sy)
h1=[h1 t1(1, :]
h2=[h2 t2(1, :]
end |
|