作业帮 > 数学 > 作业

matlab 为什么(x-2).^9的图像和把这个式子分解成多项式后的图像不一样

来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/09/24 21:25:38
matlab 为什么(x-2).^9的图像和把这个式子分解成多项式后的图像不一样


这样写的

x = 1.920:0.001:2.080;
p1 = x.^9-18*x.^8+144*x.^7-672*x.^6+2016*x.^5-4032*x.^4+5376*x.^3-4608*x.^2+2304*x-512;
plot(x,p1,'b');
hold on
p2 = (x-2).^9;
plot(x,p2,'g');
matlab 为什么(x-2).^9的图像和把这个式子分解成多项式后的图像不一样
clear all
x0=[0 0.5 1 1.5 2 2.5 3 7 8 9 10 11.82 13 14 15 16 17.73 19 20 21 22 23.64 26 27 28 29 29.55];
y0=[1.892e9 1.89e9 1.87e9 1.86e9 1.85e9 1.84e9 1.83e9 3e5 3e5 3.1e5 3e5 2.9e5 2.4e5 2.3e5 2e5 2.2e5 2e5 1.85e5 1.8e5 1.78e5 1.75e5 1.7e5 1.62e5 1.65e5 1.6e5 1.55e5 1.5e5];
p3=polyfit(x0,y0,18);
x1=0:0.1:29.6;
y1=polyval(p3,x1);
figure(1)
plot(x1,y1,x0,y0,'o')
grid on
figure(2)
x=0:0.1:30;
yy=poly2sym(p3);
y2=eval(yy);
plot(x,y2)
grid on
楼主你的问题可能出在精度问题上,因为你的18阶拟合本身拟合效果就很不好,而你用这句
vpa(poly2sym(p3),5)
是他的系数精度变低,也就导致后面的图形不一样,用我上面的代码,结果是一样的,你可以参考一下.
matlab的精度问题很重要,尤其在高阶拟合中
再问: 抱歉我没说清楚>_