《2022年数值分析课程设计含代码 .pdf》由会员分享,可在线阅读,更多相关《2022年数值分析课程设计含代码 .pdf(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、I 成 绩 评 定 表学生姓名班级学号专业信息与计算科学课程设计题目数值分析算法案例评语组长签字:成绩日期20 年月日精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 27 页II 课程设计任务书学院理学院专 业信息与计算科学学生姓名班级学号课程设计题目数值分析算法案例实践教学要求与任务 : 要求:格式以学校毕业论文格式要求为准,不准粘贴图片,尤其公式。对每个试验,要求有:实验基本原理,实验目的,实验内容及数据来源和实验结论。以班级为单位统一装订封皮。6 月 25 日,十八周的周二交论文每人至少四个实验,最少15 页任务(实验项目) :线
2、性方程组数值解法参考题目:(1) 列主元 Gauss消去法( 2) LU 分解法插值法和数据拟合参考题目:(1)Lagrange 插值( 2)Newton 插值( 3)最小二乘拟合数值积分参考题目:(1)复化 Simpon 积分( 2)变步长的梯形积分公式(3)龙贝格求积公式常微分方程数值解Runge-Kutta 方法数值方法实际应用用数值方法解决实际问题(自选)工作计划与进度安排: 线性方程组数值解法(4 学时)插值法和数据拟合(4 学时)数值积分(4 学时)常微分方程数值解(4 学时)数值方法实际应用(4 学时)答辩(4 学时)指导教师: 201 年月日专业负责人:201 年月日学院教学副
3、院长:201 年月日精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 27 页III 摘 要实验方法与理论方法是推动科学技术发展的两大基本方法,但有局限性。许多研究对象, 由于空间或时间的限制, 既不可能用理论精确描述, 也不能用实验手段实现。数值模拟或称为科学计算突破了实验和理论科学的局限,在科技发展中起到越来越重要的作用。 可以认为, 科学计算已于实验、 理论一起成为科学方法上不可或缺的三个主要手段。计算数学的研究是科学计算的主要组成部分,而数值分析则是计算数学的核心。数值计算是研究使用计算机来解决各种数学问题的近似计算方法与理论,其
4、任务是提供在计算机上可解的、理论可靠的、计算复杂性低的各种常用算法。数值分析的主要内容:1) 、 数值代数:求解线性和非线性方程组的解, 分直接方法和间接方法两大类;2) 、插值、曲线拟合和数值逼近;3) 、数值微分和数值积分;4) 、常微分和偏微分方程数值解法。本文主要通过Matlab 软件,对数值分析中的一些问题进行求解,如列主元Gauss消去法, Lagrange 插值多项式,复化Simpson 公式,Runge-Kutta 方法以及数值分析在实际问题中的应用, 并在求解的过程中更加熟识这门课程的主要内容,以及加强对课程知识的掌握。在学习与设计计算方法时,从数学理论角度,学会分析方法的误
5、差、 收敛性和稳定性, 保证计算方法的准确性; 从实际应用的角度出发,掌握计算方法的结构与流程, 能够把计算方法转换为可在计算机上直接处理的程序,保证算法的可用性。关键词:列主元 Gauss消去法;Lagrange插值;复化 Simpson公式;Runge-Kutta 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 27 页IV 目 录实验一 列主元 Gauss消去法 . 1 1.1 实验目的 . 1 1.2 基本原理 . 1 1.3 实验内容 . 2 1.4 实验结论 . 3 实验二 拉格朗日插值多项式 . 4 2.1 实验目的 .
6、4 2.2 基本原理 . 4 2.3 实验内容 . 4 2.4 实验结论 . 9 实验三 复化 Simpson求积公式 . 10 3.1 实验目的 . 10 3.2 基本原理 . 10 3.3 实验内容 . 10 3.4 实验结论 . 12 实验四 龙格-库塔(Runge-Kutta)方法 . 13 4.1 实验目的 . 13 4.2 基本原理 . 13 4.3 实验内容 . 14 4.4 实验结论 . 15 实验五 数值方法实际应用 . 16 5.1 实验目的 . 16 5.2 基本原理 . 16 5.3 实验内容 . 16 5.4 实验结论 . 22 参考文献 . 23精选学习资料 - -
7、 - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 27 页1 实验一列主元 Gauss消去法1.1 实验目的1) 理解列主元消去法的原理;2) 熟悉列主元消去法的计算步骤,能用代码编写;3) 解决实际问题。1.2 基本原理在顺序 Gauss消去法中,必须要求),2, 1(0a(k)nkkk; 否则无法进行计算。即使0)(kkka,但其绝对值)( kkka很小,由于舍入误差的影响,也可能会引起很大的误差,从而使上述方法失效。为了使消元过程中减小舍入误差和不至于中断,可以按照不同的自然顺序进行消元。在第k 步消元时,增广矩阵为)()() 1(1)2(2)1(1)
8、()()()() 1(1) 1(1)1(11)2(2)2(2)2(12)2(22)1(1)1(1) 1(11)1(12)1(11)()(knkkkkknnknkkknkkkknkkkkkkknkknkkkkbbbbbaaaaaaaaaaaaaaaaBA(1.1)不一定选取)1(kkka作为主元, 而从同列)1()1(,1)1(,knkkkkkkkaaa中选取绝对值最大的作为主元素,即)1()1(rm a xkiknikkkaa(1.2)若0)(krka,此时矩阵不可逆,方程的解不确定,则停止计算;否则,当rk时,则其增广矩阵中交换第k 行和第 r 行,即nkkjakrjkkj, 1,a)()(
9、)()(krkkbb(1.3)使)(krka成为主元。然后再按 Gauss消去法进行消元运算。 于是就得到列主元Gauss消去法。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 27 页2 1.3 实验内容1.3.1 程序来源首先建立一个 gaussMethod.m的文件,用来实现列主元的消去方法。 文件内容如下:function x=gaussMethod(A,b) %高斯列主元消去法,要求系数矩阵非奇异的n = size(A,1); if abs(det(A) R=rk4(tt,0,1,0,10) 精选学习资料 - - - - -
10、- - - - 名师归纳总结 - - - - - - -第 18 页,共 27 页15 输出:R = 0 0 0.10000000000000 0.05162708333333 0.20000000000000 0.16847829348958 0.30000000000000 0.30751722078089 0.40000000000000 0.46666197888861 0.50000000000000 0.64581185656207 0.60000000000000 0.84496198189452 0.70000000000000 1.06411211920748 0.80000
11、000000000 1.30326225710000 0.90000000000000 1.56241239502055 1.00000000000000 1.84156253294245 4.4 实验结论龙格-库塔法具有精度高,收敛,稳定(在一定条件下),计算过程中可以改变步长,不需要计算高阶导数等优点,但仍需计算在一些点上的值,如四阶龙格-库塔方法每计算一步需要计算四次的值,这给实际计算带来一定的复杂性。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 27 页16 实验五数值方法实际应用5.1 实验目的1)了解梯形公式原理及几何意
12、义;2)学会复化梯形求积公式的编程与应用;3)掌握 Matlab 提供的计算积分的各种函数的使用方法;5.2 基本原理在实际问题中, 往往会遇到一些困难。 有些函数找不到用初等函数表示的原函数,例如,对于积分dxxx10sin(5.1) 而言,不存在用初等函数表示的原函数。而有些函数虽然能找到原函数,但计算过于复杂,例如,椭圆型积分21x2xdxcbxax(5.2) 而有些情况下, 只能知道某些点处的函数值,并没有函数的具体表达式。 这些情况,使我们有必要研究积分的数值计算问题。下面我们就以梯形公式为例做以说明。所谓梯形求积公式就是用梯形面积来近似曲边梯形面积,利用梯形公式和连续增加 a,b的
13、区间数来逼近:jkkkbxfxfhd xxf211a)()(2)(5.3) 第 j 次循环在12j个等距节点处对xf采样。5.3 实验内容卫星轨道是一个椭圆,椭圆周长计算公式是2022sinc-1a4Sda)(,这里 a是椭圆半长轴, c 是地球中心与轨道中心(椭圆中心)的距离,记h 为近精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 27 页17 地点距离, H 为远地点距离, R=637km 为地球半径,则,2/)(,2/)2(ahHchHR我国第一颗人造卫星近地点距离h=439km,远地点距离 H=2384,试求卫星轨道的周长。
14、解: 第一步:先利用 Matlab 画出被积函数的图形。输入程序如下:clear H=2384; h=439; R=6371; a=(2*R+H+h)/2 c=(H-h)/2 x=0:0.1:pi/2; y=sqrt(1-(c/a)2*(sin(x).2); plot(x,y,-) title(梯形法则 ); xlabel(x); ylabel(y); 输出结果:a = 7.782500000000000e+003 c = 9.725000000000000e+002 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 27 页18 输出
15、图形:00.511.50.9920.9930.9940.9950.9960.9970.9980.99911.001梯 形 法 则xy图 5.1 被积函数的图形第二步:应用数值积分梯形公式。首先建立一个名为trapezg.m的 M 文件,程序如下:function I=trapezg(f_name3,a,b,n) format long %输出用 15 位数字表示n=n; h=(b-a)/n; x=a+(0:n)*h; f=feval(f_name3,x); I=h/2*(f(1)+f(n+1); if n1 I=I+h*sum(f(2:n); end h1=(b-a)/100; xc=a+(0
16、:100)*h1; fc=feval(f_name3,xc); plot(xc,fc,r); hold on 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 27 页19 xlabel(x); ylabel(y); plot(x,f) title(数值积分梯形效果图 ); plot(x,zeros(size(x),.) for i=1:n;plot(x(i),x(i),0,f(i), end 然后建立一个名为f_name3.m的 M 文件定义函数, Matlab 命令如下:function y=f_name3(x) y=sqrt(1-
17、(9.725000e+002/7.782500e+003)2*(sin(x).2)-0.99; 输入命令程序: trapezg(f_name3,0,pi/2,30) 输出结果:ans = 0.00955791054630 输出图形:00.20.40.60.811.21.41.600.0020.0040.0060.0080.010.012数 值 积 分 梯 形 效 果 图xy图 5.2 数值积分效果图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 27 页20 积分结果为:0.00955791054630+0.99=0,99955791
18、054630 第三步:计算最后结果:0 0 41 1 9 0 0 2 8 e4 . 8 7 0 7 4 3 8 5p i / 2 )*0 . 9 91 0 5 4 6 3 0( 0 . 0 0 9 5 5 7 9*7 7 8 2 . 5*4s i nc-1a4S2022da)(第四步:考虑误差。clear n=1; format long fprintf(n Extended Trapezoidal Rulen); fprintf(n n I Errorn); I2=0.00955791054630; for k=1:8 n=n*2; I1=trapezg(f_name3,0,pi/2,n);
19、 format long if k=1; fprintf(%3.0f %10.8f %10.8fn, n, I1, I1-I2); end pause end 计算 7 步输出结果:Extended Trapezoidal Rule n I Error 4 0.00956 0.00000 8 0.00956 0.00000 16 0.00956 0.00000 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 27 页21 32 0.00956 -0.00000 64 0.00956 -0.00000 128 0.00956 0.000
20、00 256 0.00956 -0.00000 初始状态图:00.20.40.60.811.21.41.600.0020.0040.0060.0080.010.012数 值 积 分 梯 形 效 果 图xy图 5.3 初始状态图计算一步结果图:00.20.40.60.811.21.41.600.0020.0040.0060.0080.010.012数 值 积 分 梯 形 效 果 图xy图 5.4 计算一步结果图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 27 页22 计算四步结果图:00.20.40.60.811.21.41.600
21、.0020.0040.0060.0080.010.012数 值 积 分 梯 形 效 果 图xy图 5.5 计算四步结果图最后计算八步结果图:00.20.40.60.811.21.41.600.0020.0040.0060.0080.010.012数 值 积 分 梯 形 效 果 图xy图 5.6 计算八步结果图5.4 实验结论数值微积分在科学计算上有很大应用,复化梯形公式极大地简化了人们实际生活中的运算复杂性。不仅算法简明,几何意义明确,而且迭代结果准确科学,具有更好的收敛性和广泛的实用性,且精度高收敛速度快。 本题就是利用复化积分原理,确定轨道,并加以计算,得到高精度的结果。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 27 页23 参考文献1白峰杉 . 数值计算引论 . 高等教育出版社 .2004 2吴振远 .基于 Mat lab 数值分析 .中国地质大学出版 .2010 3薛毅.数值分析与实验 .北京工业大学出版社 .2005 4艾冬梅 李艳晴 刘琳.Mat lab 与数学实验 .机械工业出版社 .2010 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 27 页,共 27 页
限制150内