2023年8月3日发(作者:)

多项式拟合曲线的方法一

Contents

多项式曲线拟合函数介绍

拟合某种磁性材料的磁化曲线(50Hz,0.5mm,D23)

多项式曲线拟合函数介绍

多项式曲线拟合函数:polyfit( ) 调用格式: p=polyfit(x,y,n) [p,s]= polyfit(x,y,n) 说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。矩阵s用于生成预测值的误差估计。

拟合某种磁性材料的磁化曲线(50Hz,0.5mm,D23)

clc;

clear;

%磁场强度

Hdata=[1.38, 1.40, 1.42, 1.44, 1.46, 1.48, 1.50, 1.52, 1.54, 1.56, ...

1.58, 1.60, 1.62, 1.64, 1.66, 1.69, 1.71, 1.74, 1.76, 1.78, ...

1.81, 1.84, 1.86, 1.89, 1.91, 1.94, 1.97, 2.00, 2.03, 2.06, ...

2.10, 2.13, 2.16, 2.20, 2.24, 2.28, 2.32, 2.36, 2.24, 2.45, ...

2.50, 2.55, 2.60, 2.65, 2.70, 2.76, 2.81, 2.87, 2.93, 2.99, ...

3.06, 3.13, 3.19, 3.26, 3.33, 3.41, 3.49, 3.57, 3.65, 3.74, ...

3.83, 3.92, 4.01, 4.11, 4.22, 4.33, 4.44, 4.56, 4.67, 4.80, ...

4.93, 5.07, 5.21, 5.36, 5.52, 5.68, 5.84, 6.00, 6.16, 6.33, ...

6.52, 6.72, 6.94, 7.16, 7.38, 7.62, 7.86, 8.10, 8.36, 8.62, ...

8.90, 9.20, 9.50, 9.80, 10.1, 10.5, 10.9, 11.3, 11.7, 12.1, ...

12.6, 13.1, 13.6, 14.2, 14.8, 15.5, 16.3, 17.1, 18.1, 19.1, ...

20.1, 21.2, 22.4, 23.7, 25.0, 26.7, 28.5, 30.4, 32.6, 35.1, ...

37.8, 40.7, 43.7, 46.8, 50.0, 53.4, 56.8, 60.4, 64.0, 67.8];

%磁感应强度

Bdata = 0.40:0.01:1.69;

% 阶数

n=6;

p=polyfit(Hdata,Bdata,n);

Bi=linspace(0,1,100);

z=polyval(p,Bi);%多项式求值

plot(Hdata,Bdata,'*',Bi,z,'k:',Hdata,Bdata,'b')

legend('原始数据','三阶曲线')%图例

xlabel('H[A//cm]')

ylabel('B[T]') 1.81.61.41.210.80.60.40.20

0原始数据六阶曲线

B[T]10203040H[A//cm]506070p =

-0.0000 0.0000 -0.0000 0.0014 -0.0303 0.3143 0.1298

多项式为:B=0.0014H^3 - 0.0303H^2+ 0.3143H+0.1298

Published with MATLAB® R2014a

2023年8月3日发(作者:)

多项式拟合曲线的方法一

Contents

多项式曲线拟合函数介绍

拟合某种磁性材料的磁化曲线(50Hz,0.5mm,D23)

多项式曲线拟合函数介绍

多项式曲线拟合函数:polyfit( ) 调用格式: p=polyfit(x,y,n) [p,s]= polyfit(x,y,n) 说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。矩阵s用于生成预测值的误差估计。

拟合某种磁性材料的磁化曲线(50Hz,0.5mm,D23)

clc;

clear;

%磁场强度

Hdata=[1.38, 1.40, 1.42, 1.44, 1.46, 1.48, 1.50, 1.52, 1.54, 1.56, ...

1.58, 1.60, 1.62, 1.64, 1.66, 1.69, 1.71, 1.74, 1.76, 1.78, ...

1.81, 1.84, 1.86, 1.89, 1.91, 1.94, 1.97, 2.00, 2.03, 2.06, ...

2.10, 2.13, 2.16, 2.20, 2.24, 2.28, 2.32, 2.36, 2.24, 2.45, ...

2.50, 2.55, 2.60, 2.65, 2.70, 2.76, 2.81, 2.87, 2.93, 2.99, ...

3.06, 3.13, 3.19, 3.26, 3.33, 3.41, 3.49, 3.57, 3.65, 3.74, ...

3.83, 3.92, 4.01, 4.11, 4.22, 4.33, 4.44, 4.56, 4.67, 4.80, ...

4.93, 5.07, 5.21, 5.36, 5.52, 5.68, 5.84, 6.00, 6.16, 6.33, ...

6.52, 6.72, 6.94, 7.16, 7.38, 7.62, 7.86, 8.10, 8.36, 8.62, ...

8.90, 9.20, 9.50, 9.80, 10.1, 10.5, 10.9, 11.3, 11.7, 12.1, ...

12.6, 13.1, 13.6, 14.2, 14.8, 15.5, 16.3, 17.1, 18.1, 19.1, ...

20.1, 21.2, 22.4, 23.7, 25.0, 26.7, 28.5, 30.4, 32.6, 35.1, ...

37.8, 40.7, 43.7, 46.8, 50.0, 53.4, 56.8, 60.4, 64.0, 67.8];

%磁感应强度

Bdata = 0.40:0.01:1.69;

% 阶数

n=6;

p=polyfit(Hdata,Bdata,n);

Bi=linspace(0,1,100);

z=polyval(p,Bi);%多项式求值

plot(Hdata,Bdata,'*',Bi,z,'k:',Hdata,Bdata,'b')

legend('原始数据','三阶曲线')%图例

xlabel('H[A//cm]')

ylabel('B[T]') 1.81.61.41.210.80.60.40.20

0原始数据六阶曲线

B[T]10203040H[A//cm]506070p =

-0.0000 0.0000 -0.0000 0.0014 -0.0303 0.3143 0.1298

多项式为:B=0.0014H^3 - 0.0303H^2+ 0.3143H+0.1298

Published with MATLAB® R2014a