Matlab的应用-多项式函数及多项式拟合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab 的应用-多项式函数及多项式拟合
所谓曲线拟合是指给定平面上的n 个点(x i ,y i ),i=1,2,….,n,找出一条曲线
使之与这些点相当吻合,这个过程称之为曲线拟合。最常见的曲线拟合是使用多项式来作拟合曲线。曲线拟合最常用的方法是最小二乘法。其原理是求f(x),使21])([i n
i i y x f -=∑=δ达到最小。matlab 提供了基本的多项式曲线拟合函数命令
polyfit
格式::polyfit(x,y,n)
说明:polyfit(x,y,n)是找n 次多项式p(x)的系数,这些系数满足在最小二乘法意义下p(x(i)) ~= y(i).
可采用“最小二乘法”求出直线方程。这就是曲线拟合的问题。
已知一组数据,用什么样的曲线拟合最好呢?可以根据散点图进行直观观察,在此基础上,选择几种曲线分别拟合,然后比较,观察那条曲线的最小二乘指标最小。
思考:如何利用matlab 的多项式拟合函数来作曲线拟合?
例1:在化学反应中,为研究某化合物的浓度随时间的变化规律。测得一组
本题是一个可以用数据的曲线拟合来解决的问题。下面是利用matlab 编的一段程序。
clear;
%录入数据
xy=[1 4
2 6.4
3 8.0
4 8.4
5 9.28
6 9.5
7 9.7
8 9.86
9 10
10 10.2
11 10.32
12 10.42
13 10.5
14 10.55
15 10.58
16 10.6];
x=xy(:,1);
y=xy(:,2);
plot(x,y,'r*');%画出散点图,观察曲线走势
hold on;t=0:.3:10;pxdxs=polyfit(x,y,2);
pxd=poly2sym(pxdxs)
pxdx=polyval(pxdxs,t);plot(t,pxdx,'-k')
例2“人口问题”是我国最大社会问题之一,估计人口数量和发展趋势是我们制定一系列相关政策的基础。有人口统计年鉴,可查到我国从1949年至1994