《数值分析课程设计.docx》由会员分享,可在线阅读,更多相关《数值分析课程设计.docx(24页珍藏版)》请在第壹文秘上搜索。
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)Ja21=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运行后屏幕显示