数值分析论文.docx

上传人:b****6 文档编号:7573168 上传时间:2023-01-25 格式:DOCX 页数:12 大小:275.61KB
下载 相关 举报
数值分析论文.docx_第1页
第1页 / 共12页
数值分析论文.docx_第2页
第2页 / 共12页
数值分析论文.docx_第3页
第3页 / 共12页
数值分析论文.docx_第4页
第4页 / 共12页
数值分析论文.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数值分析论文.docx

《数值分析论文.docx》由会员分享,可在线阅读,更多相关《数值分析论文.docx(12页珍藏版)》请在冰豆网上搜索。

数值分析论文.docx

数值分析论文

一、摘要

曲线拟合是数值分析中的一种普遍且重要的方法,求解拟合曲线的方法也有很多,这里主要介绍利用MATLAB曲线拟合工具箱对离散数据点做你和处理,并与利用最小二乘法求相应的拟合曲线的方法做对比,突出MATLAB曲线拟合工具箱的优点,并阐述了其适用的范围,最后通过利用MATLAB曲线拟合工具箱对实例中离散数据点的拟合来具体说明它的使用方法和优点。

关键字:

数值分析;MATLAB;曲线拟合;最小二乘法

二、引言

在很多的实际情况中,两个变量之间的关系往往很难用具体的表达式把它表示出来,通常只能通过实际测量得到一些互不相同的离散数据点,需需要利用这些已知的数据点估计出两个变量的关系或工件的具体轮廓,并要得到任意未知数据点的具体数据,这个过程就需要用到拟合或差值方法来实现,这里主要讨论拟合的方法。

曲线拟合可以通过MATLAB编程来完成,通常为了达到更好的讷河效果需要做多次重复修改,对于非线性曲线拟合还需要编写复杂的M-文件,运用MATLAB曲线拟合工具箱来实现离散数据点的曲线拟合是一种直观并且简洁的方法。

三、曲线拟合的最小二乘法理论

假设给定了一些数据点(Xi,Yi),人们总希望找到这样的近似的函数,它既能反映所给数据的一般趋势,又不会出现较大的偏差,并且要使构造的函数与被逼近函数在一个给定区间上的偏差满足某种要求。

这种思想就是所谓的“曲线拟合”的思想。

曲线拟合和差值不同,若要求通过所有给定的数据点是差值问题,若不要求曲线通过所有给定的数据点,而只要求反映对象整体的变化趋势,拟合问题,曲线拟合问题最常用的解决方法是线性最小二乘法[1],步骤如下:

第一步:

先选定一组函数r1(x),r2(x),…,rm(x),m

F(x)=a1r1(x)+a2r2(x)+…+amrm(x)

其中a1,a2,…,am为待定系数。

第二步:

确定的准则(最小二乘法准则):

使n个点(xi,yi)与曲线y=f(x)的距离δi的平方和最小。

J(a1,a2,…,am)=

=

]2=

2

问题归结为,求a1,a2,…,am使J(a1,a2,…,am)最小。

最小二乘法中如何选择数学模型很重要,用MATLAB解法曲线拟合问题通常有两种方法线性最小二乘法拟合和非线性最小二乘法拟合,对于两种方法的选择,要根据离散数据点位置关系来确定即首先将数据(Xi,Yi),i=1,2,…,n作图,通过直观判断确定。

线性最小二乘法通常是做多项式f(x)=a0+a1x1+…+amxm拟合。

可利用已有的得程序a=ployval(x,y,m),其中m代表拟合多项式的次数。

多项式在x出y的值可用命令y=ployval(a,x)计算,做非线性最小二乘拟合时,应首先选择好适当的数学模型,如y=a

其中a,b为待定系数,此时可以把它转换成线性模型来计算,两边取对数得lny=lna+bx,令Y=lny,记A=lna,于是有Y=A+bx,求这个线性模型的最小二乘法问题。

另外一种方法就是直接采用非线性拟合问题函数lsqcurvefit和lsqnonlin来计算,两个命令都要先建立M-文件fun.m,在其中定义函数f(x),但两者定义M-文件的方式有所不同。

这些问题同样可以用MATLAB拟合工具箱[2]来实现,并且操作比较简单,误差等参数也能一目了然的观察到。

四、MATLAB曲线拟合工具箱

MATLAB曲线拟合工具箱界面[3]是一个可视化的图形界面,具有强大的图形你和功能,其中包括:

(1)可视化的展开一个或者多个数据集,并可用三点图来表示;

(2)用残差和置信区间可视化的估计拟合结果的好坏;(3)通过其他界面还可以实现许多其他功能:

比如输出、查看和平滑数据:

拟合数据,比较拟合曲线和数据集:

从拟合曲线中排除特殊的数据点:

选定区间后可以显示拟合曲线和数据集。

它把计算,可视化和程序设计融合到一个交互的环境,在此环境中,利用强大的数值计算和图形功能,可高效求解一些复杂的工程问题及实现计算结果的可视化。

用MATLAB曲线拟合工具箱对离散数据进行拟合时,可使用MATLAB内部的库函数或用户自定义的方程对参数变量进行多项式、指数、有理数等形式的数据拟合。

五、MATLAB曲线拟合工具箱的应用举例

在实际中,产品和工件的轮廓形状很难找到一个具体的数学表达式,通常只能通过实验或数学计算得到一些离散点及其上的数值点,此时就需要选择合适的数学模型对其进行曲线拟合,做出它的拟合曲线,从而估计出它的实际形状。

下面通过一个例子说明一下用MATLAB曲线拟合工具箱对离散数据点进行曲线拟合,并与一般的方法作比较。

例1,已知机翼下轮廓上的数据如下表所示:

表1机翼下轮廓数据

机翼长(x)

0

3

5

7

9

11

12

13

14

15

机翼宽(y)

0

1.2

1.7

2.0

2.1

2.0

1.8

1.2

1.4

1.6

用这些数据拟合轮廓形状。

(1)用多项式最小二乘法编程方法:

(分别用3次和4次进行拟合)。

>>x=[0,3,5,7,9,11,12,13,14,15];

>>y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.4,1.6];

>>A=polyfit(x,y,3)

A=0.0013-0.05230.5913-0.0483

>>z=polyval(A,x);

>>plot(x,y,'k+',x,z,'r')

同样的方法可以得到4次多项式拟合曲线,3次和4次得拟合的图像分别为:

图1三次拟合曲线

图2四次拟合曲线

拟合得到的多项式分别为:

f(x)=0.0013x3-0.0523x2+0.5913x-0.0483

F(x)=0.0004x4-0.0099x3+0.0544x2+0.2767x+0.0214

(2)用MATLAB曲线拟合工具箱计算:

>>x=[0,3,5,7,9,11,12,13,14,15];

>>y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.4,1.6];

>>cftool

进入拟合工具箱界面,然后点击Data按钮,在数据栏选择x和y界面分别为:

图3曲线拟合工具箱界面

图4“Data”对话框

单击Createdataset按钮,然后单击Close返回拟合工具箱界面,再单击Fiting按钮,先选择3次拟合方法,即在Typeoffit中选择Ploynomial,然后在下面的选项中选择cubicploynomial(图5),单击Apply进行拟合得到图像(图6);以及结果:

LinearmodelPoly3:

f(x)=p1*x^3+p2*x^2+p3*x+p4

Coefficients(with95%confidencebounds

p1=0.00128(-0.0008073,0.003367)

p2=-0.05227(-0.1001,-0.004396)

p3=0.5913(0.2892,0.8934)

p4=-0.0483(-0.5768,0.4802)

Goodnessoffit:

SSE:

0.2948

R-square:

0.9143

AdjustedR-square:

0.8714

RMSE:

0.2217

图5“Fiting”对话框

图63次拟合曲线

从结果中可以看出,拟合得到的多项式

f(x)=0.0128x3-0.05227x2+0.5913x-0.0483,

以及它的误差平方和SSE为0.2948,相关系数平方和R-square为0.9143,根的均方差RMSE为0.2217.

若需要进行4次拟合,只需要Fiting中的Newfit中选择4次多项式拟合就可以得到4次拟合图像和结果:

所得拟合多项式为:

F(x)=0.0003661x4-0.009906x3+0.05438x2+0.2767x+0.02141.

误差平方和为0.1801.

用这两种方法所得的结果基本相同,显然4次比三次的拟合效果要好,并且用拟合工具箱求解更为方便直观。

图73次和4次多项式拟合

下面在举一个非线性拟合的例子。

例2用非线性拟合[6]的方法对下列一组数据进行拟合:

快速静脉注射下的血药浓度数据

t(h)

0.25

0.5

1

1.5

2

3

4

6

8

c(μg/ml)

19.21

18.15

15.36

14.10

12.98

9.32

7.45

5.24

3.01

根据数据特点,选却数学模型:

c(t)=a

其中,a、b是待定系数。

编写M-文件:

functionf=curvefunl(x,tdata)

F=x

(1)*exp(-x

(2))*tdata

输入程序:

tdata=[0.25,0.5,1,1.5,2,3,4,6,8];

<

<

<

X=lsqcurvefit(‘curvefunl’,x0,tdata,cdata)

f=curvefunl(x,tdata)

x=20.24130.2420

f=19.053217.93.4815.891114.080212.47579.79457.68944.73942.9211

即c(t)=20.2413

(2),用拟合工具箱计算:

输入程序:

>>tdata=[0.25,0.5,1,1.5,2,3,4,6,8];

>>cdata=[19.21,18.15,15.36,14.10,12.89,9.32,7.45,5.24,3.01];

>>cftool(tdata,cdata)

打开拟合工具箱,在数据栏里选择数据,根据数据点的分布,选择CustomEquations,然后在CustomEquations中设置函数

c(t)=a

后进行拟合,所得图像为:

图8非线性拟合

拟合结果为:

C(t)=20.24

与lsqucuevefit()函数方法结果相同。

由此看出拟合工具箱首先可以画出数据点的散点图,便于选择模型;其次操作简便,省去了复杂的编程工作,再次,结果以图像的和数据两种方式给出,直观形象,并且结果中还给出了判断拟合好坏的参数。

六、结论

本文给出了求离散数据点拟合曲线的MATLAB曲线拟合工具箱的方法,并与通常使用的利用拟合函数编程方法相比较,发现利用曲线拟合工具箱拟合曲线更加简捷和直观,并且可视性效果很好。

[参考文献]

[1]李庆扬,关治,白峰山。

数值计算原理[M].北京:

清华大学出版社,2000:

56-58.

[2]苏金明,张莲花,刘波等MATLAB工具箱应用[M],北京:

电子工业出版社,2004.

[3]史立新,聂信天,季明。

基于MATLAB曲线拟合工具箱的列表曲线拟合[J]。

新技术出版社,2007(7)。

[4]牛旭,李小平,利用三次样条差值法求机翼的拟合曲线[J]。

塔里木大学学报,2010(3)。

[5]杨云升MATLAB曲线拟合及其在试验数据处理中的应用[J]。

电脑与信息技术,2009(4)。

[6]陈文芳,许雯,利用MATLAB曲线拟合工具箱拟合PN结伏安特性曲线[J].计算机与数学工程,2007(10)。

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

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1