如何根据一组离散点数据拟合出四次多项式曲线函数,并求曲线横坐标为1:200的每一点斜率和曲线曲率

如x=[ 0 0.0833 0.3269 0.7211 1.2568 1.9252 2.7181 3.6272 4.6448 5.7637 6.9767 8.2771 9.6584 11.1147 12.6400 14.2290 15.8762 17.5770 19.3264],y=[0 0.1375 0.5359 1.1746 2.0340 3.0950 4.3397 5.7509 7.3121 9.0078 10.8230 12.7436 14.7563 16.8484 19.0079 21.2235 23.4846 25.7814 28.1044]
麻烦一下代码,谢谢。

1、根据一组离散点数据拟合出四次多项式曲线函数,可以用regress——线性回归函数来拟合。拟合方法:

x=[。。。];y=[。。。];

X=[ones(1,19) x x.^2 x.^3 x.^4];

a= regress(y,X);  %拟合系数

拟合结果:

y=a1+a2*x+a3x^2+a4x^3+a5x^4

a1=0.0043519,a2=1.6277,a3=-0.012987,a4=0.00032848,a5=-6.3049e-06

2、根据公式计算,在(x0,y0)处曲线斜率和曲率半径及曲率中心点的值。计算方法:

syms x

y=a1+a2*x+a3*x^2+a4*x^3+a5*x^4;

dy=diff(y,1); %一阶导数

d2y=diff(y,2);%二阶导数

R=(1+dy^2)^1.5/d2y;%曲率半径

x=x0;y=y0;

K=eval(dy); %斜率值

R=eval(R);%曲率半径值

Xc=eval(x-dy*(1+dy^2)/d2y);%曲率中心的x值

Yc=eval(y+(1+dy^2)/d2y);%曲率中心的y值

3、计算结果

温馨提示:答案为网友推荐,仅供参考