数学建模曲线拟合.doc

数学建模曲线拟合.doc

ID:59831177

大小:607.00 KB

页数:12页

时间:2020-11-25

数学建模曲线拟合.doc_第1页
数学建模曲线拟合.doc_第2页
数学建模曲线拟合.doc_第3页
数学建模曲线拟合.doc_第4页
数学建模曲线拟合.doc_第5页
资源描述:

《数学建模曲线拟合.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、曲线拟合摘要根究已有数据研究y关于x的关系,对于不同的要求得到不同的结果。问题一中目标为使的各个观察值同按直线关系所预期的值的偏差平方和为最小,利用MATLAB中函数在最小二乘法原理下拟合出所求直线。问题二目标为使绝对偏差总和为最小,使用MATLAB中的函数,在题目约束条件内求的最优答案,以此方法同样求得问题三中最大偏差为最小时的直线。问题四拟合的曲线为二阶多项式,方法同前三问类似。问题五为求得最佳的曲线,将之前的一次曲线换成多次曲线进行拟合得到新的结果。经试验发现高阶多项式的阶数越高拟和效果最好。关键词:函数拟合最小二乘法线性规划一、问题的重述已知一个量依赖于另一个量

2、,现收集有数据如下:0.00.51.01.51.92.53.03.54.04.51.00.90.71.52.02.43.22.02.73.55.05.56.06.67.07.68.59.010.01.04.07.62.75.74.66.06.812.3(1)求拟合以上数据的直线。目标为使的各个观察值同按直线关系所预期的值的偏差平方和为最小。(2)求拟合以上数据的直线,目标为使的各个观察值同按直线关系所预期的值的绝对偏差总和为最小。(3)求拟合以上数据的直线,目标为使的各个观察值同按直线关系所预期的值的最大偏差为最小。(4)求拟合以上数据的曲线,实现(1)(2)(3)三种

3、目标。(5)试一试其它的曲线,可否找出最好的?二、问题的分析对于问题一,利用MATLAB中的最小二乘法对数据进行拟合得到直线,目标为使各个观察值同按直线关系所预期的值的偏差平方和为最小。对于问题二、三、四均利用MATLAB中的fminsearch函数,在题目要求的约束条件下找到最佳答案。对于问题五,改变多项式最高次次数,拟合后计算残差,和二次多项式比较,再增加次数后拟合,和原多项式比较残差,进而找到最好的曲线。三、基本假设1.表中数据真实可信,每个点都具有意义。四、模型的建立与求解1.问题一对给定数据点,在取定的函数类中,求,使误差的平方和最小,。从几何意义上讲,就是寻

4、求与给定点的距离平方和为最小的曲线。函数称为拟合函数或最小二乘解,求拟合函数的方法称为曲线拟合的最小二乘法。直接利用MATLAB中的函数进行曲线拟合,得到目标函数如下:函数图像如下:1.问题二利用MATLAB中的函数,在题目要求的约束条件使的各个观察值同按直线关系所预期的值的绝对偏差总和为最小下进行曲线拟合,得到目标函数如下:函数图像如下:1.问题三利用MATLAB中的函数,在题目要求的约束条件使的各个观察值同按直线关系所预期的值的最大偏差为最小下进行曲线拟合,得到目标函数如下:函数图像如下:2.问题四(1)问题一同问题一相似,只是拟合的曲线为二阶多项式,利用MATLA

5、B中的函数进行曲线拟合,得到目标函数如下:函数图像如下:(2)问题二同问题二相似,只是拟合的曲线为二阶多项式,利用MATLAB中的函数,在题目要求的约束条件使的各个观察值同按直线关系所预期的值的最大偏差为最小下进行曲线拟合,得到目标函数如下:函数图像如下:(1)问题三同问题三求解过程相似,只是拟合的曲线为二阶多项式,利用MATLAB中的函数,在题目要求的约束条件使的各个观察值同按直线关系所预期的值的最大偏差为最小下进行曲线拟合,得到目标函数如下:函数图像如下:1.问题五选择更高阶多项式进行曲线拟合,利用MATLAB中的函数进行曲线拟合,得到目标函数。比较方差,方差越小,

6、得到结果越稳定,即认为曲线拟合越好,方差结果如下表所示:阶数12345方差2.68842.05771.71271.50491.4336可以得到函数阶数越高,曲线拟合越好。各阶多项式函数图像如下:三阶:四阶:五阶:五、模型的评价对于问题五中的模型,由于我们只选择了最高为五阶的高阶多项式多项式进行曲线拟合,还需要选择更多的函数进行拟合,并进行检验,找到最好的曲线。六、附录%1fun1=@(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)

7、a=0.8117-0.0264%2symspqfa0=a;[a,fval]=fminsearch('fun2',a0)xi=0:0.1:10;yi=a(2)+a(1).*xi;plot(x,y,'*',xi,yi)%fuction2functionf=fun2(a)x=[0;0.0000;1;1.000;1.000;2.000;3;3.000;4;4.000;0;5;5.000;6;6.000;7;7.000;8.000;9;10;];y=[1;0.0000;0.0000;1.000;2;2.000;3.000;2;2.000;3.000

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。