数学建模曲线拟合教材.docx

上传人:b****4 文档编号:5736250 上传时间:2023-05-09 格式:DOCX 页数:13 大小:75.16KB
下载 相关 举报
数学建模曲线拟合教材.docx_第1页
第1页 / 共13页
数学建模曲线拟合教材.docx_第2页
第2页 / 共13页
数学建模曲线拟合教材.docx_第3页
第3页 / 共13页
数学建模曲线拟合教材.docx_第4页
第4页 / 共13页
数学建模曲线拟合教材.docx_第5页
第5页 / 共13页
数学建模曲线拟合教材.docx_第6页
第6页 / 共13页
数学建模曲线拟合教材.docx_第7页
第7页 / 共13页
数学建模曲线拟合教材.docx_第8页
第8页 / 共13页
数学建模曲线拟合教材.docx_第9页
第9页 / 共13页
数学建模曲线拟合教材.docx_第10页
第10页 / 共13页
数学建模曲线拟合教材.docx_第11页
第11页 / 共13页
数学建模曲线拟合教材.docx_第12页
第12页 / 共13页
数学建模曲线拟合教材.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数学建模曲线拟合教材.docx

《数学建模曲线拟合教材.docx》由会员分享,可在线阅读,更多相关《数学建模曲线拟合教材.docx(13页珍藏版)》请在冰点文库上搜索。

数学建模曲线拟合教材.docx

数学建模曲线拟合教材

曲线拟合

摘要

根究已有数据研究y关于x的关系,对于不同的要求得到不同的结果。

问题一中目标为使的各个观察值同按直线关系所预期的值的偏差平方和为最小,利用MATLAB中

函数在最小二乘法原理下拟合出所求直线。

问题二目标为使绝对偏差总和为最小,使用MATLAB中的

函数,在题目约束条件内求的最优答案,以此方法同样求得问题三中最大偏差为最小时的直线。

问题四拟合的曲线为二阶多项式,方法同前三问类似。

问题五为求得最佳的曲线,将之前的一次曲线换成多次曲线进行拟合得到新的结果。

经试验发现高阶多项式的阶数越高拟和效果最好。

 

关键词:

函数拟合最小二乘法线性规划

 

1、问题的重述

已知一个量

依赖于另一个量

,现收集有数据如下:

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)试一试其它的曲线,可否找出最好的?

 

2、问题的分析

对于问题一,利用MATLAB中的最小二乘法对数据进行拟合得到直线,目标为使各个观察值同按直线关系所预期的值的偏差平方和为最小。

对于问题二、三、四均利用MATLAB中的fminsearch函数,在题目要求的约束条件下找到最佳答案。

对于问题五,改变多项式最高次次数,拟合后计算残差,和二次多项式比较,再增加次数后拟合,和原多项式比较残差,进而找到最好的曲线。

3、基本假设

1.表中数据真实可信,每个点都具有意义。

4、模型的建立与求解

1.问题一

对给定数据点

,在取定的函数类

中,求

,使误差的平方和

最小,

从几何意义上讲,就是寻求与给定点

的距离平方和为最小的曲线

函数

称为拟合函数或最小二乘解,求拟合函数

的方法称为曲线拟合的最小二乘法。

直接利用MATLAB中

的函数进行曲线拟合,得到目标函数如下:

函数图像如下:

2.问题二

利用MATLAB中的

函数,在题目要求的约束条件使

的各个观察值同按直线关系所预期的值的绝对偏差总和为最小下进行曲线拟合,得到目标函数如下:

函数图像如下:

3.问题三

利用MATLAB中的

函数,在题目要求的约束条件使

的各个观察值同按直线关系所预期的值的最大偏差为最小下进行曲线拟合,得到目标函数如下:

函数图像如下:

 

4.问题四

(1)问题一

同问题一相似,只是拟合的曲线为二阶多项式,利用MATLAB中

的函数进行曲线拟合,得到目标函数如下:

函数图像如下:

(2)问题二

同问题二相似,只是拟合的曲线为二阶多项式,利用MATLAB中的

函数,在题目要求的约束条件使

的各个观察值同按直线关系所预期的值的最大偏差为最小下进行曲线拟合,得到目标函数如下:

函数图像如下:

 

(2)问题三

同问题三求解过程相似,只是拟合的曲线为二阶多项式,利用MATLAB中的

函数,在题目要求的约束条件使

的各个观察值同按直线关系所预期

的值的最大偏差为最小下进行曲线拟合,得到目标函数如下:

函数图像如下:

5.问题五

选择更高阶多项式进行曲线拟合,利用MATLAB中

的函数进行曲线拟合,得到目标函数。

比较方差,方差越小,得到结果越稳定,即认为曲线拟合越好,方差结果如下表所示:

阶数

1

2

3

4

5

方差

2.6884

2.0577

1.7127

1.5049

1.4336

 

可以得到函数阶数越高,曲线拟合越好。

各阶多项式函数图像如下:

三阶:

四阶:

五阶:

5、模型的评价

对于问题五中的模型,由于我们只选择了最高为五阶的高阶多项式多项式进行曲线拟合,还需要选择更多的函数进行拟合,并进行检验,找到最好的曲线。

6、附录

%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.8117-0.0264

 

%2

symspqf

a0=a;

[a,fval]=fminsearch('fun2',a0)

xi=0:

0.1:

10;

yi=a

(2)+a

(1).*xi;

plot(x,y,'*',xi,yi)

%fuction2

functionf=fun2(a)

x=[0;0.500000000000000;1;1.50000000000000;1.90000000000000;2.50000000000000;3;3.50000000000000;4;4.50000000000000;0;5;5.50000000000000;6;6.60000000000000;7;7.60000000000000;8.50000000000000;9;10;];

y=[1;0.900000000000000;0.700000000000000;1.50000000000000;2;2.40000000000000;3.20000000000000;2;2.70000000000000;3.50000000000000;0;1;4;7.60000000000000;2.70000000000000;5.70000000000000;4.60000000000000;6;6.80000000000000;12.3000000000000;];

f=sum(abs(a

(1).*x+a

(2)-y));

a=

0.66660.5001

 

fval=

19.4000

 

%3

symspqf

[a,fval]=fminsearch('fun3',a0)

xi=0:

0.1:

10;

yi=a

(2)+a

(1).*xi;

plot(x,y,'*',xi,yi)

%function3

functionf=fun3(a)

x=[0;0.500000000000000;1;1.50000000000000;1.90000000000000;2.50000000000000;3;3.50000000000000;4;4.50000000000000;0;5;5.50000000000000;6;6.60000000000000;7;7.60000000000000;8.50000000000000;9;10;];

y=[1;0.900000000000000;0.700000000000000;1.50000000000000;2;2.40000000000000;3.20000000000000;2;2.70000000000000;3.50000000000000;0;1;4;7.60000000000000;2.70000000000000;5.70000000000000;4.60000000000000;6;6.80000000000000;12.3000000000000;];

f=max(abs(a

(1)*x+a

(2)-y));

 

a=

1.1300-1.8790

 

fval=

2.8790

 

%4-1

fun4_1=@(a,x)a

(1).*x.^2+a

(2).*x+a(3);

a=lsqcurvefit(fun4_1,[0,0,0],x,y);

xi=0:

0.1:

10;

yi=a

(1).*xi.^2+a

(2).*xi+a(3);

plot(x,y,'*',xi,yi)

a=

0.0953-0.10961.3833

%4-2

symspqf

a0=a;

[a,fval]=fminsearch('fun4_2',a0)

xi=0:

0.1:

10;

yi=a

(1).*xi.^2+a

(2).*xi+a(3);

plot(x,y,'*',xi,yi)

 

a=

0.03970.29020.9755

 

fval=

 

a=

0.0264-0.29711.40020.3003

%4-3

symspqf

[a,fval]=fminsearch('fun4_3',a0)

xi=0:

0.1:

10;

yi=a

(1).*xi.^2+a

(2).*xi+a(3);

plot(x,y,'*',xi,yi)

 

a=

0.0994-0.09091.7672

 

fval=

2.7986

 

%5

fun4_1=@(a,x)a

(1).*x.^3+a

(2).*x.^2+a(3).*x+a(4);

a=lsqcurvefit(fun4_1,[0,0,0,0],x,y)

xi=0:

0.1:

10;

yi=a

(1).*xi.^3+a

(2).*xi.^2+a(3).*xi+a(4);

plot(x,y,'*',xi,yi)

a=

0.0264-0.29711.40020.3003

%squ

xi=x

yi=a

(1).*xi.^3+a

(2).*xi.^2+a(3).*xi+a(4)

squ=sum((yi-y).^2)/19

squ=

1.6226

二次:

squ=

1.9494

四次:

squ=

1.4257

五次:

squ=

1.3581

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2