Matlab学习笔记(5.5)曲线拟合 | 您所在的位置:网站首页 › matlab多次拟合曲线怎么写 › Matlab学习笔记(5.5)曲线拟合 |
1. 拟合问题 人口增长是当今世界上都关注的问题,对人口增长趋势进行预测是各国普遍的做法。已知某国1790年到2010年间历次人口普查数据如下表所示,请预测该国2020年的人口数。 解题思路:找一个函数,去逼近这些数据,然后再根据找到的函数,计算预测点的值。 x = 1790:10:2010; y = [3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,63.0,76.0,92.0,... 105.7,122.8,131.7,150.7,179.3,203.2,226.5,248.7,281.4,308.7]; p = polyfit(x,y,3); xi = 1790:0.1:2010; yi = polyval(p,xi); y2020 = polyval(p,2020); plot(x,y,'o',xi,yi,2020,y2020,'*'); title(['2020年预计人口:',num2str(y2020),'百万'])2. 曲线拟合的原理与数据插值类似,曲线拟合也是一种函数逼近的方法。 构造函数 g(x) 去逼近未知函数 f(x) ,使得误差 \delta_i=g(x_i)-f(x_i) ,在某种意义下达到最小。 两个问题: ① 用什么类型的函数做逼近函数? ② 误差最小到底怎么计算? 最小二乘法: 设 p(x) 是一个多项式函数 p(x)=a_mx^m+a_{m-1}x^{m-1}+\dots+a_1x+a_0,求系数 a_i 的值,使得 \sum_{i=1}^{n}{\left[ p(x)-y_i \right]}^2 最小,则 p(x) 为原函数 y=f(x) 的逼近函数。 3. 曲线拟合的实现方法MATLAB中的多项式拟合函数为polyfit(),其功能为求得最小二乘拟合多项式系数,其调用格式为: \bullet P=polyfit(X,Y,m) \bullet [P,S]=polyfit(X,Y,m) \bullet [P,S,mu]=polyfit(X,Y,m): 根据样本数据X和Y,产生一个m次多项式P及其在采样点误差数据S,mu是一个二元向量,mu(1)是mean(X),而mu(2)是std(X)。 ① 问题分析 在引例中,我们已经用polyfit()函数预测了某国2020年的人口数。这个结果是否正确呢? 我们无法得到2020年的数据,但是2016年的数据已经有了。所以,不妨再预测一下该国2016年的人口数。 >> polyval(p,2016) ans = 327.0964该国2016年人口数实际为323.1,相对误差1.24%,怎样才能减小? 据研究,一个国家的人口增长具有如下特点: \circ 发展越平稳,人口增长越有规律。 \circ 当经济发展到一定水平时,人口增长率反而下降。 换言之,在不同的环境和经济发展水平,人口可能有不同的增长规律。 ② 结果: 尝试将二战后至今这一时期的数据与此前的数据分开处理,并选择合适的拟合次数 x = 1950:10:2010; y = [150.7,179.3,203.2,226.5,248.7,281.4,308.7]; p = polyfit(x,y,1); %降低次数 xi = 1950:0.1:2010; yi = polyval(p,xi); y2016 = polyval(p,2016); plot(x,y,'o',xi,yi,2016,y2016,'*'); m = 100*abs(y2016-323.1)/323.1; format bank title(['2016年人口估计:',num2str(y2016),'百万,'... ,'误差:',num2str(m),'%'])③ 结论 \bullet 要对问题的背景进行详细的分析 \bullet 采样点并非越多越好,适当的时候,可以减少采样点,分段进行拟合 4. 家庭储蓄规律问题以下是某市家庭收入x与家庭储蓄y之间的一组调查数据(单位:万元), 试建立x与y的线性函数经验公式。 x=[0.6,1.0,1.4,1.8,2.2,2.6,3.0,3.4,3.8,4 ]; y=[0.08,0.22,0.31,0.4,0.48,0.56,0.67,0.75,0.8,1.0 ]; p=polyfit(x,y,1); xi=0.6:0.1:4; yi=polyval(p,xi); plot(x,y,'o',xi,yi); title('家庭储蓄规律问题:经验公式') text(1.8,0.3,['$$y=(',num2str(p(1)),')x+(',num2str(p(2)),')$$'],... 'interpreter','latex');5. 总结曲线拟合的三种功能: ① 估算数据 ② 预测趋势 ③ 总结规律 |
CopyRight 2018-2019 实验室设备网 版权所有 |