【Matlab个人笔记】最小二乘法数据拟合

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值