polyfit函数
求得最小二乘拟合多项式的系数
调用格式:p=polyfit(x,y,n)
进行n维多项式的最小二乘拟合,p为所获得的n维多项式系数,有n+1个
polyval函数
已知一个多项式,求在某一点的值
调用格式:y=polyval(p,xnew)
其中p是多项式系数向量,xnew是对应的点组成的向量
举例
x=[1 2 4 5];
y=[1 2 2 3];
plot(x,y,'o')
p=polyfit(x,y,1)
xnew=linspace(min(x),max(x));
ynew=polyval(p,xnew);
hold on, plot(xnew,ynew,'r')
人口增长问题拟合
人口增长接近于指数增长,采用指数后取对数
如:
N
=
e
a
+
b
t
N=e^{a+bt}
N=ea+bt,为方便计算,取对数得
ln
N
=
a
+
b
t
\ln N=a+bt
lnN=a+bt
令:
y
=
ln
N
y=\ln N
y=lnN,变换后的拟合函数为
y
(
t
)
=
a
+
b
t
y(t)=a+bt
y(t)=a+bt
再运用polyfit,polyval计算
t=[1996 1997 1998 1999 2000 2001 2002 2003 2004];
y=[2.5046 2.5147 2.5238 2.5327 2.5396 2.5465 2.5530 2.5590 2.5649];
p=polyfit(t,y,1)
Z=polyval(p,2020)