欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数值分析课程设计.docx

    • 资源ID:471273       资源大小:119.26KB        全文页数:24页
    • 资源格式: DOCX        下载积分:5
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要5
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数值分析课程设计.docx

    1、摘要实验一线性方程组数值解法中,本文选取列主元GaUSS消去法,并选取数据于我们课堂学习该章节时的课件中的例2进行实验。列主元消去法是在Gauss消去法的根底上改良而得到的一种比拟快速和合理的求解线性方程组的方法。它的主要思路是通过对每次消元过程中主元的屡次选取以到达减小误差和加快求解速度的一种消去法。使用列主元消去法相比于GaUSS消去法根本上能控制舍入误差的影响,并且选主元素较全主元消去法更为方便。实验二插值法和数据拟合中,本文选取最小二乘拟合方法进行实验,数据来源于我们课堂学习该章节时的课件中的多项式拟合例子进行实验。最小二乘拟合是一种数学上的近似和优化,利用的数据得出一条直线或者曲线,

    2、使之在坐标系上与数据之间的距离的平方和最小。利用excel的自带函数可以较为方便的拟合线性的数据分析。实验三数值积分中,本文选取复化Simpon积分方法进行实验,通过将复化Simpson公式编译成MATLAB语言求积分CeriX,完成实验过程的同时,也对复化SinIPon积分章节的知识进行了稳固。实验四常微分方程数值解,本文选取RUnge-Kutta方法进行实验,通过实验了解RUnge-Kutta法的收敛性与稳定性同时学会了学会用Matlab编程实现Runge-Kutta法解常微分方程,并在实验的过程中意识到尽管我们熟知的四种方法,事实上,在求解微分方程初值问题,四阶R监e-Kw4法是单步长中

    3、最优秀的方法,通常都是用该方法求解的实际问题,计算效果比拟理想的。最后,在数值方法实际应用中,本文通过非线性拟合方法,并学会用这些函数解决实际人口增长模型问题,在1949年到1994年的数据根底上,通过构建“线性增长模型”和“指数指数增长模型”两个模型来对1999年的中国人口数据进行预测,最后通过中国人口年鉴中的数据对两种方法进行准确性检验,并且比照得出中国人口数据在1949年到1999年期间更符合线性增长的结论。关键词:列主元GaUSS消去法最小二乘拟合复化SinIPon积分Runge-Kutta目录实验一列主元Gauss消去法11.1 实验目的11.2 根本原理11.3 实验内容31.4

    4、数据来源41.5 实验结论5实验二最小二乘拟合62.1 实验目的62.2 根本原理62.3 实验内容72.4 实验结论11试验三复化SimPOn积分113.1 实验目的113.2 根本原理123.3 实验内容123.4 数据来源133.5 实验结论13实验四RUnge-KUtta方法144.1 实验目的144.2 根本原理154.3 实验内容154.4 数据来源164.5 实验结论16实验五数值方法实际应用165.1 实验目的165.2 根本原理175.3 实验内容175.4 数据来源185.5 实验结论20参考文献22实验一列主元Gauss消去法1.1 实验目的1)理解并掌握列主元GaUSS

    5、消去法的消去原理,熟悉算法流程;2)能有效利用列主元消去法解方程组;3)通过运用Matlab软件编程实现列主元Gauss消去法;1.2 根本原理设有线性方程组AX=b,其中,A为非奇异矩阵,方程组的增广矩阵为626b2122b?,b=an2an,bn首先在A的第1列选取绝对值最大的元素作为主元素,即选择.u=maxaflO然后交换A的第1行与第i行(交换后增广矩阵为简单起见仍记为A,b,其元素仍记为aij,biyo经过第1次消元计算得到与原方程组等价的方程,A)=b其中,上述过程可记为A,bA,b重复上述计算过程,现假设已完成第戈-1步的选主元素过程,交换两行并进行消元计算,此时A,b约化为z

    6、Dz()ZT(DL(I)aai2a,lbCc(2)a(2)22a2nb2心,b)=4?优b?_点噌必其中A)的元素仍记为尸b(幻的元素仍记为,.第左步选主元素(在Au)右下角方阵的第1列内选),即确定乙,使交换A(K),b(力第上行与。(=1,2,-1)行的元素,再进行消元计算,最后将原线性方程组化为回代可求解得、/.9nXi=Si-Z%Xj)&O=H-I,2,1)j=i+算法描述:1)输入数据A和民置det=l;2)对于左=1,2,小一1,做如下步骤:a)按列选主元,即确定使kJ=ma0(如果。0=0,那么A为奇异矩阵,停止计算);IIkintb)如果。工人,那么交换A,b第乙行与第Z行

    7、元素;C)消元计算:aik-mik=aik1akk。=%+1,.,)aij-aij-mikakj(zj=A:+1,/?)biktemp=Aug(k,:);Aug(k,:)=Aug(r,:);Aug(r,:)=temp;endifAug(k,k)=0,error(对角元出现O),endAugforp=k+l:nAUg(P,:)=AUg(P,:)-AUg(k,:)*AUg(P,k)Aug(k,k);endendAugA=Aug(:J:n);b=AugC,n+l);x(n)=b(n)A(n,n);fork=n-l:-1:1x(k)=b(k);forp=n:-l:k+lx(k)=x(k)-A(k,p)

    8、x(p);endx(k)=x(k)A(k,k);end1.4 数据来源为了验证以上编写的Matlab程序的正确性,试用列主元Gauss消去法解方程组x1+2x2-3x3=12x1-x2+3x3=53-2x2+2x3=1解:只需输入A=U2-32-l,33-2,2;b=l;5;l;gauss(A,b)程序运行得到如下结果Aug=12-312-1353-221Aug=3-2212-13512-31Aug=3.0000-2.00002.00001.000002.6667-3.66670.666700.33331.66674.3333Aug=3.0000-2.00002.00001.000002.6

    9、667-3.66670.6667002.12504.2500ans=可见方程组的解为Xl=LX2=3,七=21.5实验结论在顺序Gauss消去法中,必须要求城?()(%=1,2,否那么将无法进行计算。这里需要指出的是:即使47声0,但其绝对值Iarl很小,那么由于舍入误差的影响,也可能引起很大的误差,而选取列主元就可以很好的解决这个问题,而且经过实例验证发现该程序也是正确的。实验二最小二乘拟合2.1 实验目的D学会并掌握数值最小二乘拟合的根本原理;2)自行学会用MaUab实现算法并将其应用于实际问题;3)了解插值与拟合的异同点;2.2 根本原理如果函数/(X)在假设干点七二12,)处的值,便可

    10、根据插值原理来建立插值多项式作为/(X)的近似。但在科学实验和生产实践中,往往会遇到这样一种情况,即节点上的函数值并不是很精确的,这些函数值是由实验或观测得到的数据,不可防止地带有测量误差,如果要求所得的近似函数曲线精确无误地通过所有的点(xi,yi),就会使曲线保存着一切测试误差。当个别数据的误差较大时,插值效果显然是不理想的。此外,由实验或观测提供的数据个数往往很多,如果用插值法,势必得到次数较高的插值多项式,这样计算起来很烦琐。换句话说:求一条曲线,使数据点均在离此曲线的上方或下方不远处,所求的曲线称为拟合曲线,它既能反映数据的总体分布,又不至于出现局部较大的波动,更能反映被逼近函数的特

    11、性,使求得的逼近函数与函数从总体上来说其偏差按某种方法度量到达最小,这就是曲线拟合。与函数插值问题不同,曲线拟合不要求曲线通过所有点,而是要求得到的近似函数能反映数据的根本关系。在某种意义上,曲线拟合更有实用价值。在对给出的实验(或观测)数据(y)(=,1,)一般希望各实验(或观测)数据与拟合曲线的偏差的平方和最小,这就是最小二乘原理。函数插值是插值函数P(X)与被插函数/(X)在节处函数值相同,即P(Xj)=/(Xj)=o,)而曲线拟合函数。()不要求严格地通过所有数据点U/),也就是说拟合函数仪幻在茗处的偏差(亦称残差)=KCiA/(Xi)=,1,)不都严格地等于零。但是,为了使近似曲线能

    12、尽量反映所给数据点的变化趋势,要求同按某种度量标准最小。假设记向量,=%昌%】,即要求向量e某种范数版口最小,如e的1一范数ML或8-范数胤即Il矶=k,l=(-,)./()|,i=Oz=O或ML=m产同=m产帆(七)一/(七)最小。为了方便于计算、分析与应用,通常JlLH2=f2T=lk()-()212要求。的2范数Ii=O)L=。即ih2=ii=j)-/U)2沁。沁。为最小。这种要求误差(偏差)平方和最小的拟合称为曲线拟合的最小二乘法。2.3 实验内容给出一组数据点(j,y),利用最小二乘法拟合曲线,并估计误差,作出拟合曲线。i123456Xi012345yi521123解:在MATLAB

    13、工作窗口中输入程序x=0,l,2,3A5;y=5,2,l,1,2,3;plot(x,y,r*1),Iegende实验数据(xi,yi)xlabel(x),ylabel(y),IiUeC数据点(xi,yi)的散点图,)可以看出这些点接近一条抛物线,因此设所求的多项式为y=+,xa2x2在MATLAB中输入编码为:symsala2a;fi=a2.*x.2al.*x+a编写构造误差平方和的MATLAB程序fy=fi-y;J=sum(fy.2)gJaO=diff(J,aO);Jal=diff(J,al);Ja2=diff(J,a2);JaOl=Simple(JaO)JalI=Simple(Jal)Ja

    14、21=simple(Ja2)fi=a,a+a1+a2,a+2*al+4*a2,a+3*al+9*a2,a+4*al+16*a2,a+5*al+25*a2运行后屏幕显示误差平方和如下(a-5)2+(a+2*al+4*a2-1)2+(a+3*al+9*a2-1)2+(a+4*al+16*a2-2)2+(a+5*al+25*a2-3)2+(a+al+a2-2)2运行后屏幕显示关于小M和的的线性方程组JaOl=12*a0+30*al+110*a2-28Jall=30*a0+110*al+450*a2-60Ja2l=110*a0450*al+1958*a2-244A=l230,110;30JI0,450

    15、110,450,1958J;B=28,60,244;C=BA,f=poly2sym(C)C=4.7143-2.78570.5000f=(33*x2)7-(39*x)14+1/2即,解一下方程组:12%+30)+2(x2J+4(x2ft_1)=SnaOLJt=IA=I称SN为复化Simpson值,称如上式子为复化Simpson公式。类似于复化梯形公式,复化Simpson公式的余项为RSN)=-令夕/G)dMLoUJ事实上,J=*=0Jt=O-黑阴i)”(力-ba(!l km180/03.3 实验内容functionI=S_quad(x,y)%复化SinlPSon求积公式,其中,X为向量,被积函

    16、数自变量的等距节点;%y为向量,被积函数在节点处的函数值;n=length(x);m=length(y);%积分自变量的节点数应与它的函数值的个数相同ifn-merror(,ThelengthsofXandYmustbeequal*);return;endifrem(n-l,2)=0%如果n-1不能被2整除,那么调用复化梯形公式I=T_quad(x,y);return;endN=(n-1)2;h=(x(n)-(l)N;a=zeros(l,n);fork=l:Na(2*k-l)=a(2*k-l)+l;a(2*k)=a(2*k)+4;a(2*k+l)=a(2*k+l)+l;endI=h6*sum(

    17、a.*y);3.4 数据来源根据以上用Matlab数学软件所编代码来上机求解实际数学问题,用复化Simpson公式求积分if2dx,在积分区间中点与点之间的间隔取为01。我们输入如下数据:X=-1:0,1:1;y=exp(-.2);I=Squad(x,y)运行得到结果为:I=1.49363.5 实验结论学过的常用的求积公式归结为以下几种:梯形公式及复化梯形公式;辛普森公式及其免化辛普森公式;科茨公式及其复化科茨公式;龙贝格求积公式等,在本实验中重点研究复化辛普森公式,考察用数学软件实现求积过程,经过手算检验发现计算结果与计算机结果相一致。实验四Runge-Kutta方法4.1 实验目的1) 了

    18、解RUnge-KUtta法的收敛性与稳定性;2)学会用Matlab编程实现Runge-Kutta法解常微分方程;3)熟记RUnge-KUtta法的各阶表达形式;4.2 根本原理=x,Ui+Ar2)考虑差分格式IK1=f(xn,yll),Kl视为y(x)在点4处的K?=f(xn+ph,y+phKi)fi用=y”+J(K+2&+2&+h)O:=矶2)&=B(X+g,自=妙(Z+;以+;融)k4=hfg+h,yli+k3)以上五个式子称为标准四阶Runge-Kulla公式,相应的方法称为标准四阶Runge-Kutta法4.3 实验内容functionx,y=RungcKutta4(ydot_fun,

    19、x,y,h,N)%标准四阶RUnge_Kutta方法,其中,ydot_fun为一阶微分方程的函数;%x,y为初始条祥;%h为区间步长;册为区间的个数;歌为Xn构成的向量;%y为Yn构成的向量;x=zeros(l,N+1);y=zeros(l,N+1);x(l)=x;y(l)=y;forn=l:Nx(n+l)=x(n)+h;kl=h*feval(ydot_fun,x(n),y(n);k2=h*feval(ydot_fun,x(n)+l2*h,y(n)+l2*kl);k3=h*feval(ydot_fun,x(n)+l2*h,y(n)+I2*k2);k4=h*feval(ydot_fun,X(n)

    20、h,y(n)+k3);y(n+l)=y(n)+l6*(k1+2*k2+2*k3+k4);end4.4 数据来源ydot_fun=inline(x+y,x,y);x,y=RungeKutta4(ydot_fun,0,1,0.1,1)x=00.1000y=1.00001.1103显然这里取/2=0.1到达改良夕方法中力=0.02的计算结果(实际上更精确,只是显示结果相同),这说明,四阶Rwzge-法有很好的计算效果。4.5 实验结论尽管我们熟知/?/-反4的四种方法,事实上,在求解微分方程初值问题,四阶Kws法是单步长中最优秀的方法,通常都是用该方法求解的实际问题,计算效果还是很理想的。实验五数

    21、值方法实际应用5.1 实验目的1)学会函数的最正确平方逼近,理解最正确平方逼近的意义;2)学会数据的最小二乘拟合;3)学会MatIab提供的拟合方法,掌握非线性拟合方法,并学会用这些函数解决实际人口增长模型问题;5.2 根本原理在生产和科学实验中常常遇到这样一类问题:要求依据一组实验数据(W,yji=,l,2)确定函数y=/(x)的近似表达式S(X)。一般给定数据(Xj,Xi=O,l,的数量较大,且准确度不一定高,甚至个别点有很大的误差,形象的称为“噪声”。假设用插值法求之,欲使y=s(x)满足插值条件,势必将噪声带进近似函数y=s(x),因而不能较好的描绘y=(x)数据拟合的最小二乘法是解决

    22、上述问题的一种有效、应用广泛的方法。设给定一组实验数据(巧,M)=(Xi,/(XJ),i=(),l,加及各点的权系数P(W),要求在函数类=SPM次,外,以中求函数s*(x)=旬*。O(X)+4*必(x)+,+q*(X)=XWkxmnA=O满足同;这(ZXsOyj=minpUX)-y1)2式中心)=lM()为=0seDr=0A=O中任意函数,称这种函数近似表达式的方法为数据(曲线)的最小二乘拟合,称s*(x)为最小二乘解。在指定的函数类中中求拟合数据的最小二乘解的关键在于求系数*(%=0,1,使得S*(X)满足以上式子,令旭2W“YF(o,q,.,a.J=KXjXS(Xj)-)2=ZP(XJZ

    23、aMaj)-凹那么Z=O/=0I/=0,(%*,%*,Mn*)是多元函数,4)取得极小值的点。由极值点的必要充分条件,那么数据的最小二乘问题可转化成求解方程组(打,4比=(/,我M=OJ,的问题,我们称上式为法方程组,当。0,。)力线性至女时,方程组有唯一解4=4*,Z=(),,于是有S*(x)=力A=O5.3 实验内容多项式拟合的通用程序:functionp=mafit(x,y,m)formatshort;A=zeros(m+l,m+l);fori=0:mforj=0:m(i+1,j+l)=sum(x.(i+j);endb(i+l)=sum(x.i.*y);enda=Ab,;p=fliplr

    24、a,);5.4 数据来源例如:1949年到1994年我国人口数据资料如下:年份匕1949195419591964196919741979198419891994人口数X5.46.06.77.08.19.19.810.311.311.8建模分析我国人口增长的规律,预报1999年我国人口数。用以下两个简单人口模型模型一:线性增长模型观测值的模型:yj=a+bxj+ei,i=1,2,n线性模型:y=a+bx拟合的精度:Q=IX=S(M一如Y=l1=1误差平方和只需输入:X=1949195419591964196919741979198419891994;y=5.466.778.19.19.810.

    25、311.311.8;p=mafit(x,y,1)P=0.1480-283.2320容易算出:a=-283.232,b=0.148模型:y=-283.2320+0.1480x预测1999年:x=1999;y=-283,2320+0.1480*xy=12.6200即1999年人口为12.6200亿人。模型二:指数增长模型(用简单的线性最小二乘法)用MaIIab软件计算得:X=1949195419591964196919741979198419891994;y=5.46.06.77.08.19.19.810.311.311.8;p=mafit(x,log(y),1)P=0.0179-33.1170a

    26、0.0179,b=-33.1170即:y=e-33.1170+0.0179x预测1999年人口:X=1999;y=exp(-33.Il70+0.0179*x)y=143694即预测所得1999年人口数为14.3694亿人。同时,执行拟合图形程序:x=1949195419591964196919741979198419891994;y=f5.46.06.77.08.19.19.810.311.311.8;a=mafit(x,yj);xl=1949:I0:1994;yl=a(2)+a(l)*xl;b=mafit(x,log(y),l);y2=exp(b(2)*exp(b(1)*x1);plot(

    27、x,y,*)holdonplot(x1,y1r)holdonlot(xl,y2,-k)Iegende原曲线?模型一曲线?模型二曲线)后得到下面的图形如下所示:5.5实验结论年份xi1949195419591964196919741979198419891994人口5.46.06.77.08.19.19.810.311.311.8数yi模型值5.225.966.77.448.188.929.6610.411.1411.88误差0.180.040-0.44-0.080.080.14-0.010.16-0.08模型值5.87146.42127.02247.67988.39899.18510.0453

    28、10.985812.014313.1392误差-0.4716-0.4212-0.3224-0.6798-0.2989-0.005-0.2453-0.6858-0.7143-1.33921)根据统计年鉴上的数据显示,2005年人口13.3亿,2010年14亿,而模型I计算得到,2005年13.43亿,2010年14.16亿。模型II计算机编程实现得到,2005年14.94亿,2010年16.33亿,显然结合图形线性模型1更适合中国人口的增长;2)根据题目要求预报1999年我国人口数,1999年12.62亿,14.3694亿。由此也可得线性模型1更适合中国人口的增长。参考文献123关治,陆金铺.数值分析根底.北京:高等教育出版社,1998李庆扬,王能超,易大义.数值分析.第4版,北京:清华大学出版社,施普林格出版社,2001杜延松,沈艳军,潭太贵.数值分析及实验,北京:科学出版社,2006


    注意事项

    本文(数值分析课程设计.docx)为本站会员(夺命阿水)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!




    宁ICP备18001539号-1

    三一文库
    收起
    展开