数学建模曲线拟合数建模曲线拟合.doc
文本预览下载声明
曲线拟合
摘要
根究已有数据研究y关于x的关系,对于不同的要求得到不同的结果。
问题一中目标为使的各个观察值同按直线关系所预期的值的偏差平方和为最小,利用MATLAB中函数在最小二乘法原理下拟合出所求直线。
问题二目标为使绝对偏差总和为最小,使用MATLAB中的函数,在题目约束条件内求的最优答案,以此方法同样求得问题三中最大偏差为最小时的直线。
问题四拟合的曲线为二阶多项式,方法同前三问类似。
问题五为求得最佳的曲线,将之前的一次曲线换成多次曲线进行拟合得到新的结果。经试验发现高阶多项式的阶数越高拟和效果最好。
关键词: 函数拟合 最小二乘法 线性规划
问题的重述
已知一个量依赖于另一个量,现收集有数据如下:
0.0 0.5 1.0 1.5 1.9 2.5 3.0 3.5 4.0 4.5 1.0 0.9 0.7 1.5 2.0 2.4 3.2 2.0 2.7 3.5 5.0 5.5 6.0 6.6 7.0 7.6 8.5 9.0 10.0 1.0 4.0 7.6 2.7 5.7 4.6 6.0 6.8 12.3
(1)求拟合以上数据的直线。目标为使的各个观察值同按直线关系所预期的值的偏差平方和为最小。
(2)求拟合以上数据的直线,目标为使的各个观察值同按直线关系所预期的值的绝对偏差总和为最小。
(3)求拟合以上数据的直线,目标为使的各个观察值同按直线关系所预期的值的最大偏差为最小。
(4)求拟合以上数据的曲线,实现(1)(2)(3)三种目标。
(5)试一试其它的曲线,可否找出最好的?
问题的分析
对于问题一,利用MATLAB中的最小二乘法对数据进行拟合得到直线,目标为使各个观察值同按直线关系所预期的值的偏差平方和为最小。
对于问题二、三、四均利用MATLAB中的fminsearch函数,在题目要求的约束条件下找到最佳答案。
对于问题五,改变多项式最高次次数,拟合后计算残差,和二次多项式比较,再增加次数后拟合,和原多项式比较残差,进而找到最好的曲线。
基本假设
表中数据真实可信,每个点都具有意义。
模型的建立与求解
问题一
对给定数据点,在取定的函数类 中,求,使误差的平方和最小,。从几何意义上讲,就是寻求与给定点 的距离平方和为最小的曲线。函数称为拟合函数或最小二乘解,求拟合函数的方法称为曲线拟合的最小二乘法。直接利用MATLAB中的函数进行曲线拟合,得到目标函数如下:
函数图像如下:
问题二
利用MATLAB中的函数,在题目要求的约束条件使的各个观察值同按直线关系所预期的值的绝对偏差总和为最小下进行曲线拟合,得到目标函数如下:
函数图像如下:
问题三
利用MATLAB中的函数,在题目要求的约束条件使的各个观察值同按直线关系所预期的值的最大偏差为最小下进行曲线拟合,得到目标函数如下:
函数图像如下:
问题四
问题一
同问题一相似,只是拟合的曲线为二阶多项式,利用MATLAB中的函数进行曲线拟合,得到目标函数如下:
函数图像如下:
问题二
同问题二相似,只是拟合的曲线为二阶多项式,利用MATLAB中的函数,在题目要求的约束条件使的各个观察值同按直线关系所预期的值的最大偏差为最小下进行曲线拟合,得到目标函数如下:
函数图像如下:
问题三
同问题三求解过程相似,只是拟合的曲线为二阶多项式,利用MATLAB中的函数,在题目要求的约束条件使的各个观察值同按直线关系所预期
的值的最大偏差为最小下进行曲线拟合,得到目标函数如下:
函数图像如下:
问题五
选择更高阶多项式进行曲线拟合,利用MATLAB中的函数进行曲线拟合,得到目标函数。比较方差,方差越小,得到结果越稳定,即认为曲线拟合越好,方差结果如下表所示:
阶数 1 2 3 4 5 方差 2.6884 2.0577 1.7127 1.5049 1.4336
可以得到函数阶数越高,曲线拟合越好。
各阶多项式函数图像如下:
三阶:
四阶:
五阶:
模型的评价
对于问题五中的模型,由于我们只选择了最高为五阶的高阶多项式多项式进行曲线拟合,还需要选择更多的函数进行拟合,并进行检验,找到最好的曲线。
附录
%1
fun1=@(a,x)a(1).*x +a(2);
a=lsqcurvefit(fun1,[0,0],x,y)
xi=0:0.1:10;
yi=a(1).*xi +a(2);
plot(x,y,*,xi,yi)
a =
0.81
显示全部