资源描述:
《数值分析430笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数值分析笔记4.30笔记只是上课的辅助部分,远远不如老师讲的精彩!本次课程比较难,可能复述的不太明白。新课导入由于数据测量存在误差,所以测量的点不一定完全正确。插值的方法,可以通过这些点,但由于这些点存在误差,所以在生产实际中插值未必是最好的办法,从而引入拟合的概念。找一条合适的曲线,让它到每个测量点的距离的平方和最小。这条曲线就是我们要的拟合曲线。曲线拟合问题的提法已知一组(二维)数据,即平面上n个点(x$)i=l,…n,寻求一个函数(曲线)v=f(x),使f(x)在某种准则下与所有数据点最为接近,即曲奴拟合得最好。y=f(x)①为点(XpV
2、;)与曲线y=f(x)的距离曲线的类型往往通过我们的经验来取得。常见的有以下几种类型线性最小二乘拟合f(x)=a1r1(x)+•••+amrm(x)中函数仗1(X),…I'm(x))的遜取1-通过机理分析建立数学模型来确定f(x);2.将数据(斗州)i=l,・・・n作图,通过直观判断确定f(x):一、线性拟合我们根据点的分布,推断可能有条直线,可以最接近每个点,设直线为若给定数组(£,儿)其中i二1,2,n把各个点放到坐标系里,得到如果得到以下点,y•■■e■■■*y=ai+a2x图形中a1为截距,a2为斜率,若a2可知,则直线可求。那么如何得
3、到一个合适的曲线呢。对应相同的%!测量点的值为%,曲线上的点为Q]+a2x{这两距离就是第一个误差。即误差=切+。2兀1一儿对于兀2点,道理一样。如果简单把这些误差累加,由于方向不同,可能使部分误差抵消。比如有4个点误差分别为1,5,-3,・3•如果简单做和,为0•数值上显示没有误差,与实际不符。因此对每一个误差做平方,使其符号一致再求和。可以真实显示出曲线和各个点的位置关系是否最好。设关于①,勺的方程为S(a},a2)则有:工[⑷+6f2x,.)-y,]2=S(6Z1,6/2)i=l误差平方和最小的直线,就是与原数据拟合最好的。利用matla
4、b软件进行线性拟合有两种函数“polyfit()”老师证明了一下函数的合理性,我的高数、线数基本忘光,复述有困难,此处省略500字。2013/04/3008:47AM介绍matlab使用中函数的格式用MATLAB作线性最小二乘拟合匚仁1.作多项式血)=迥刘+...+amx+am+1拟合,可利用已有程序:2-对超定方程组=几总(加<刃),用Ry可得最小二乘意义下的解。3.多项式在x处的值y可用以下命令计算:y=polyval(aTx)例题一:具体步骤:打开MATLAB软件:miaCoaawdWindowUTL&0CurrentDirectory
5、CD,❶To“Ivtart«4.FileE4itJfi•»Dabu^DesktopY>ndovNalpDM求■•£・*凸目&CurrantDir«et«rz*D找的文咎'WTLAlShcrtnitsl£jIUwl・Aii0Th»CsMoAllFiltx_)diercik€二diyici花br・FolderFolderD.2■。五13-4-22上午4:113-4-22±T3:0X«rWil*lUdeliJ_J■ICoMUIChDelete;gpar©沁cZFiles新建文件夹disanke双击t*l«
6、4a7、r0-BEfQ?Cwreat>ir«Toc«iHlFiletT»«$>i«X.XZ(»°>C…O*xO*-lgCtrl^I0trlUfr«Ueye(3>T_右键新建文件quxnh.m双击打开删除前三行写入程序如下—>IU4«1分别用“polyfit”编程clearall2一clc3-t=[20.532.751.073.095.7];4-r=[7658268739421032];
8、5-n=length(t);6—subplot(1$2,1)12一rl=polyval(a,t);13一holdon18-r2=polyval(al,t);19一subplot(b2j2)20-plotCt,r,?r+",t,r2)运行后结果二、非线型拟合方法1.线性化例题:y=aehx该曲线为非线型曲线,可以两端同时去对数lny—a+bXA=lna贝ijz=a+bxz与x间为线型2.直接法用matlab解决非线性拟合的方法:用MATLAB作非线性最小二乘拟合Matlab的提供了两个求非线性最小二乘拟合的函数:lsqcurvefit和lsq
9、nonliiia两个命令都要先建立M-文件fun.m,在其中定义函数f(x),但两者定义f(x)的方式是不同的,可参考例题.1.lsqcurvefit