mathematica怎么拟合多项式方程x1=[1.5 1.5 2 2 2.5 2.5 2.5 2.5 3 3 3 3];x2=[0.05 0.1 0.15 0.2 0.05 0.1 0.15 0.2 0.05 0.1 0.15 0.2];y=[1 0.99 0.98 0.97 0.98 0.975 0.97 0.965 0.975 0.97 0.965 0.96];求Y等于X1,X2的函数表达式.怎么用mathematica做啊!初学者请教各位高手 非常感谢了啊

问题描述:

mathematica怎么拟合多项式方程
x1=[1.5 1.5 2 2 2.5 2.5 2.5 2.5 3 3 3 3];x2=[0.05 0.1 0.15 0.2 0.05 0.1 0.15 0.2 0.05 0.1 0.15 0.2];y=[1 0.99 0.98 0.97 0.98 0.975 0.97 0.965 0.975 0.97 0.965 0.96];求Y等于X1,X2的函数表达式.怎么用mathematica做啊!初学者请教各位高手 非常感谢了啊

拟合x1和y之间的曲线,用12次多项式拟合
x1 = {1.5,1.5,2,2,2.5,2.5,2.5,2.5,3,3,3,3};
y = {1,0.99,0.98,0.97,0.98,0.975,0.97,0.965,0.975,0.97,
0.965,0.96};
data = Table[{x1[[i]],y[[i]]},{i,1,Length[x1]}]
p1 = Fit[data,{1,x,x^2,x^3,x^4,x^5,x^6,x^7,x^8,x^9,x^10,
x^11,x^12},x]
Show[ListPlot[data,PlotStyle -> Red],Plot[p1,{x,1,3}]]
输出
0.968628 + 0.062384 x - 0.0192278 x^2 - 0.00727978 x^3 -
0.000960493 x^4 + 0.000212047 x^5 + 0.000183664 x^6 +
0.0000720644 x^7 + 0.0000200974 x^8 + 3.65551*10^-6 x^9 -
1.29406*10^-7 x^10 - 5.40089*10^-7 x^11 - 3.46969*10^-7 x^12
所以可以用2次曲线拟合就可以得到比较好的结果
p2 = Fit[data,{1,x,x^2},x]
输出
1.07467 - 0.0725 x + 0.0123333 x^2