matlab曲线拟合用polyfit实现

来源:百度知道 编辑:UC知道 时间:2024/06/16 19:22:03
x1=[0.04 1.13 3.01 5.89 15.36 24.71 36.64 46.36];
x2=[0.03 1.78 5.50 12.00 20.50 28.04 38.93 48.30];
x3=[0 0 5.56 13.44 22.74 30.54 41.43 50.80];
x4=[0.38 2.59 7.44 15.33 24.68 32.48 43.30 52.46];
x5=[1.14 4.03 11.18 25.40 46.73 68.04 103.57 139.10];
y=[85.47 76.98 59.26 35.11 16.02 7.31 1.97 0.53];
拟合出五条曲线(三次多项式拟合)

x1=[0.04 1.13 3.01 5.89 15.36 24.71 36.64 46.36];
x2=[0.03 1.78 5.50 12.00 20.50 28.04 38.93 48.30];
x3=[0 0 0.56 13.44 22.74 30.54 41.43 50.80];
x4=[0.38 2.59 7.44 15.33 24.68 32.48 43.30 52.46];
x5=[1.14 4.03 11.18 25.40 46.73 68.04 103.57 139.10];
y=[85.47 76.98 59.26 35.11 16.02 7.31 1.97 0.53];
p1=polyfit(x1,y,3)
p2=polyfit(x2,y,3)
p3=polyfit(x3,y,3)
p4=polyfit(x4,y,3)
p5=polyfit(x5,y,3)
x=0:.1:140;
y1=polyval(p1,x);
y2=polyval(p2,x);
y3=polyval(p3,x);
y4=polyval(p4,x);
y5=polyval(p5,x);
figure(1)
plot(x1,y,'o',x,y1)
grid on
figure(2)
plot(x2,y,'o',x,y2)
grid on
figure(3)
plot(x1,y,'o',x,y3)
grid on
figure(4)
plot(x4,y,'o',x,y4)
grid on
figure(5)
plot(x5,y,'o',x,y5)
grid on
特意运行了一下,绝对没问题,polyfit输出结果为系数;

polyfit(x1,y,3)即拟合出第一条曲线;
其余滴类似。