数值计算方法第二次上机
- 格式:docx
- 大小:48.54 KB
- 文档页数:2
数值分析上机实习报告学号:姓名:专业:联系电话:任课教师:序 (3)一、必做题 (4)1、问题一 (4)1.1 问题重述 (4)1.2 实验方法介绍 (4)1.3 实验结果 (5)2、问题二 (7)2.1 问题重述 (7)2.2 实验原理 (7)雅各比算法:将系数矩阵A分解为:A=L+U+D,则推到的最后迭代公式为: (8)2.3 实验结果 (8)二、选做题 (10)3、问题三 (10)3.1 问题重述 (10)3.2 实验原理 (10)3.3 实验结果 (11)总结 (11)序伴随着计算机技术的飞速发展,所有的学科都走向定量化和准确化,从而产生了一系列的计算性的学科分支,而数值计算方法就是解决计算问题的桥梁和工具。
数值计算方法,是一种研究并解决数学问题的数值近似解方法,是在计算机上使用的解数学问题的方法。
为了提高计算能力,需要结合计算能力与计算效率,因此,用来解决数值计算的软件因为高效率的计算凸显的十分重要。
数值方法是用来解决数值问题的计算公式,而数值方法的有效性需要根据其方法本身的好坏以及数值本身的好坏来综合判断。
数值计算方法计算的结果大多数都是近似值,但是理论的严密性又要求我们不仅要掌握将基本的算法,还要了解必要的误差分析,以验证计算结果的可靠性。
数值计算一般涉及的计算对象是微积分,线性代数,常微分方程中的数学问题,从而对应解决实际中的工程技术问题。
在借助MA TLAB、JA V A、C++ 和VB软件解决数学模型求解过程中,可以极大的提高计算效率。
本实验采用的是MATLAB软件来解决数值计算问题。
MA TLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,其对解决矩阵运算、绘制函数/数据图像等有非常高的效率。
本文采用MATLAB对多项式拟合、雅雅格比法与高斯-赛德尔迭代法求解方程组迭代求解,对Runge-Kutta 4阶算法进行编程,并通过实例求解验证了其可行性,使用不同方法对计算进行比较,得出不同方法的收敛性与迭代次数的多少,比较各种方法的精确度和解的收敛速度。
计算方法上机心得不知不觉中几天的计算方法上机课已经结束。
通过几天的训练让我受益匪浅。
使我对数学与C语言的相关知识有了新的认识,也加深了我对它们的理解。
我们知道,数学是一门重要的基础学科。
离开了数学,科技便无法发展。
而在数学这门学科中,数值计算方法有着其不可取代的重要地位。
数值计算方法主要研究实际问题,当今社会计算机高速的发展,为人们使用数值计算方法解决科学技术中的各种数学问题提供了有力的硬件条件。
要将关于数值计算的实际问题借助于计算机来解决,那么实际的上机操作就显得十分重要。
为了让我们能够适应社会的发展,将来更好就业,学校为我们09级电气工程及其自动化专业开设了计算方法上机课,使我们对学习这门课程有个认识和了解。
通过几天的训练,让我明白了两个道理。
一、做一件事要做好充分的准备,那样便可以事半功倍。
在正式上机操作前,对理论知识的学习很重要,经过听老师讲课、课后自己看书,我对这门课的理论知识有了一定了解。
二、学习中要勇于创新,不能墨守陈规。
在编程时,我发现有时候一个题目在用常规方法完成后,我们可以通过一些改进,从而可以让程序变得更加简明易懂,这就需要我们的创新精神。
在这次上机实践中,最具有挑战性的是编程,它需要扎实的C语言功底和较强的逻辑思维能力及一定的编程技巧。
正好让我对已经学习过的C语言这门课程进行复习与巩固,真是一举两得。
经过这几天学习的实践,我已经对数值计算方法这门课程有了一定的了解,我相信有了这样实用的数学工具,在今后的学习生活中一定会给我带来狠多的帮助,我也会更加努力,争取更大的进步!!!此外,在本次上机训练的学习中几位老师给与我很大的帮助,在此向老师表示敬意和感谢!。
数值计算方法上机实验报告
一、实验目的
本次实验的主要目的是熟悉和掌握数值计算方法,学习梯度下降法的
原理和实际应用,熟悉Python语言的编程基础知识,掌握Python语言的
基本语法。
二、设计思路
本次实验主要使用的python语言,利用python下的numpy,matplotlib这两个工具,来实现数值计算和可视化的任务。
1. 首先了解numpy的基本使用方法,学习numpy的矩阵操作,以及numpy提供的常见算法,如矩阵分解、特征值分解等。
2. 在了解numpy的基本操作后,可以学习matplotlib库中的可视化
技术,掌握如何将生成的数据以图表的形式展示出来。
3. 接下来就是要学习梯度下降法,首先了解梯度下降法的主要原理,以及具体的实际应用,用python实现梯度下降法给出的算法框架,最终
可以达到所期望的优化结果。
三、实验步骤
1. 熟悉Python语言的基本语法。
首先是熟悉Python语言的基本语法,学习如何使用Python实现变量
定义,控制语句,函数定义,类使用,以及面向对象编程的基本概念。
2. 学习numpy库的使用方法。
其次是学习numpy库的使用方法,学习如何使用numpy库构建矩阵,学习numpy库的向量,矩阵操作,以及numpy库提供的常见算法,如矩阵分解,特征值分解等。
3. 学习matplotlib库的使用方法。
数值计算⽅法上机实习题考证--------------------------------------------------- 此⽂档包含我们计算⽅法的经典算法包含(数值计算⽅法上机实习题)1.设?+=105dx xx I nn ,(1)由递推公式n I I n n 151+-=-,从0I 的⼏个近似值出发,计算20I ;(2)粗糙估计20I ,⽤nI I n n 51511+-=-,计算0I ;(3)分析结果的可靠性及产⽣此现象的原因(重点分析原因)。
(1) 解答:n=0,0.1823)05ln()15ln()5(51515101010=+-+=++=+=+=x d xdx x dx x x I nn这⾥可以⽤for 循环,while 循环,根据个⼈喜好与习惯:for 循环程序: While 循环程序: I=0.1823; I=0.1823; for n=1:20 i=1;I=(-5)*I+1/n; while i<21 End I=(-5)*I+1/i; I i=i+1; fprintf('I20=%f',I) end I = -2.0558e+009 >> II20=-2055816073.851284>> I = -2.0558e+009 (2) 粗略估计I 20: Mathcad 计算结果: for 循环程序: While 循环程序: >> I=0.007998; I=0.007998; >> for n=1:20 n=1;I=(-0.2)*I+1/(5*n); while n<21End I=(-0.2)*I+1/(5*n); >> I n=n+1; I =0.0083 end >> II =0.0083(3) 算法误差分析:计算在递推过程中传递截断误差和舍⼊误差第⼀种算法:(从1——>20)1x x 205x +d 7.998103-?=*000e I I =-*115(5)5()555n n n n n n n n n n e I I I I I I e e e n n------=-=-+--+=-===误差放⼤了5n倍,算法稳定性很不好;第⼆种算法:(从20——>1)*n n ne I I =-***111111111()()555555n n n n n n nn e I I I I I I e n n ---=-=-+--+=-=0111...()55n ne e e ===误差在逐步缩⼩,算法趋近稳定,收敛。
华中科技大学《数值计算方法》考试试卷2006~2007学年 第一学期 《计算方法》课程考试试卷(A 卷)(开卷)院(系)__________专业班级______________学号______________ 姓名__________________考试日期: 2007年1月30日 考试时间: 下午 2:30~5:00一. 填空题 (每小题 4分,共 28份)1.已知矩阵⎥⎦⎤⎢⎣⎡-=1011A,则=∞A 。
2. 若用正n 边形的面积作为其外接圆面积的近似值,则该近似值的相对误差是 。
3.三次方程0123=+--x x x 的牛顿迭代格式是 。
4.若求解某线性方程组有迭代公式F BX X n n +=+)()1(,其中⎥⎥⎦⎤⎢⎢⎣⎡--=33a a a B ,则该迭代公式收敛的充要条件是 。
5.设xxe x f =)(,则满足条件)2,1,0(22=⎪⎭⎫⎝⎛=⎪⎭⎫ ⎝⎛i i f i p 的二次插值公式=)(x p 。
6.已知求积公式)1()1()2/1()0()1()(10f f f dx x f ααα+++-≈⎰至少具0次代数精度,则=α 。
7.改进的Euler 方法)],(),([211n n n n n n n f h y t f y t f hy y +++=++应用于初值问题1)0(),()('==y t y t y 的数值解=n y 。
二. (10分) 为数值求得方程022=--x x 的正根,可建立如下迭代格式,2,1,0,21=+=-n x x n n ,试利用迭代法的收敛理论证明该迭代序列收敛,且满足2lim =∞→n n x .解答内容不得超过装订线三. (20分) 给定线性方程组⎪⎩⎪⎨⎧=++-=---=++2628419541022321321321x x x x x x x x x(1)试用Gauss 消去法求解其方程组;(2) 给出求解其方程组的Jacobi 迭代格式和Gauss-Seidel 迭代格式,并说明其二种迭代格式的收敛性。
1.题目造倒数表,并例求 18 的倒数。
(精度为 0.0005)2.算法原理2.1 牛顿迭代法牛顿迭代法是通过非线性方程线性化得到迭代序列的一种方法。
对于非线性方程f x( ) = 0 ,若已知根x* 的一个近似值x k ,将f (x) 在x k 处展成一阶泰勒公式后忽略高次项可得:f (x) ≈f x( k ) + f '(x k )(x −x k )右端是直线方程,用这个直线方程来近似非线性方程f (x) 。
将非线性方程f x( ) = 0的根x*代入f x( *) = 0 ,即f x( k ) + f '(x k )(x* −x k ) ≈ 0* x k−f (x k ) 解出x ≈f '(x k )将右端取为x k+1 ,则x k+1 是比x k 更接近于x* 的近似值,即f (x k )x k+1 ≈x k −f '(x k ) 这就是牛顿迭代公式,相应的迭代函数是f (x)ϕ(x) = x −f '(x)2.2 牛顿迭代法的应用1 1算是求cx− =1 0的解,解出计x,即得到。
取c c 有牛顿迭代公式精品文档cx k −11 x k+1 = x k −= c c 这样就失去了迭代的意义,达不到迭代的效果。
1f (x) = cx−1,f '(x)= c,故重新构造方程:cx2 −x = 0 ,也是该式的解。
故取f (x) = cx2 −x ,cf '(x) = 2cx −1,则有牛顿迭代公式x k+1 = x k −cx k2 −x k = cx k2 , k = 0,1,...2cx k −1 2c k −11 1的值在~ 之间,取初值x0 = 0.1。
20 103.流程图0 ,,N x ε读入 1 k⇒ ( ) 0?0x f ′ = 1x 输出 01 1 k kx x ⇒ + ⇒ ( ) ( )0 10 0f x x x f x ⇒ − ′ 1 0 ?x x ε − < ≠=<=≥≠4.输出结果5.结果分析当k= 3时,得 5 位有效数字 0.05 564。
《数值计算方法》课程教学大纲一、课程基本信息二、课程教学目标数值计算方法是大规模科学模拟计算领域的一门重要的基础课,具有很强的应用性。
通过对本课程的学习及上机实习,使学生掌握掌握数值计算的基本概念、基本方法及其原理,培养应用计算机从事科学与工程计算的能力。
具体能力目标如下:具有应用计算机进行科学与工程计算的能力;具有算法设计和理论分析能力;熟练掌握并使用数学软件,处理海量数据,进行大型数值计算的能力。
三、教学学时分配《数值计算方法》课程理论教学学时分配表《数值计算方法》课程实验内容设置与教学要求一览表四、教学内容和教学要求第一章数值分析与科学计算引论(4学时)(一)教学要求1.了解误差的来源以及舍入误差、截断误差的定义;2.理解并掌握绝对误差、相对误差、误差限和有效数字的定义和相互关系;3.了解函数计算的误差估计,误差传播、积累带来的危害和提高计算稳定性的一般规律。
(二)教学重点与难点教学重点:误差理论的基本概念教学难点:误差限和有效数字的相互关系,误差在近似值运算中的传播(三)教学内容第一节数值分析的对象、作用与特点1.数学科学与数值分析2.计算数学与科学计算3. 计算方法与计算机4. 数值问题与算法第二节数值计算的误差1.误差的来源与分类2.误差与有效数字3. 数值运算的误差估计第三节误差定性分析与避免误差危害1.算法的数值稳定2.病态问题与条件数3. 避免误差危害第四节数值计算中算法设计的技术1.多项式求值的秦九韶算法2.迭代法与开方求值本章习题要点:要求学生完成作业10-15题。
其中概念题15%,证明题5%,计算题60%,上机题20%第二章插值法(12学时)(一)教学要求1.掌握插值多项式存在唯一性条件;2.熟练掌握Lagrange插值多项式及其余项表达式,掌握基函数及其性质;3.能熟练使用均差表和差分表构造Newton插值公式;4.能理解高次插值的不稳定性并熟练掌握各种分段插值中插值点和分段的对应关系;5.熟练掌握三次样条插值的条件并能构造第一和第二边界条件下的三次样条插值。
实用数值计算方法上机实验报告学院:化学工程学院姓名:**专业:工业催化学号: **********1. 问题来源某公司饲养实验用的动物以供出售,已知这些动物的生长对饲料中3种营养成分(蛋白质,矿物质和维生素)特别敏感,每个动物每周至少需要蛋白质60g,矿物质3g,维生素8mg,该公司能买到5种不同的饲料,每种饲料1kg 所含各种营养成分和成本如表1所示,如果每个小动物每周食用饲料不超过52kg,求既满足动物生长需要,又能使总成本最低的饲料配方。
数学模型 设需要饲料A1,A2,A3,A4,A5分别为x1,x2,x3,x4,x5(单位kg )12345min 0.20.70.40.30.5S x x x x x =++++1234512345123451234512350.3x +2x +x +0.6x +1.8x 600.1x +0.05x +0.02x +0.2x +0.05x 3.0.05x +0.1x +0.02x +0.2x +0.08x 8x +x +x +x +x 52,,,4,0s t x x x x x ≥⎧⎪≥⎪⎪≥⎨⎪≤⎪⎪≥⎩在LINGO 的MODEL 窗口内输入如下模型:Min =0.2*x1+0.7*x2+0.4*x3+0.3*x4+0.5*x5; 0.3*x1+2*x2+x3+0.6*x4+1.8*x5>60;0.1*x1+0.05*x2+0.02*x3+0.2*x4+0.05*x5>3; 0.05*x1+0.1*x2+0.02*x3+0.2*x4+0.08*x5>8; x1+x2+x3+x4+x5<52; end求解输出结果如下:Global optimal solution found.Objective value: 22.40000Infeasibilities: 0.000000Total solver iterations: 3Variable Value Reduced Cost X1 0.000000 0.7000000 X2 12.00000 0.000000 X3 0.000000 0.6166667 X4 30.00000 0.000000 X5 10.00000 0.000000 Row Slack or Surplus Dual Price1 22.40000 -1.0000002 0.000000 -0.58333333 4.100000 0.0000004 0.000000 -4.1666675 0.000000 0.8833333结果分析:因此每周每个动物的配料为饲料A2,A4,A5分别为12kg,30kg,10kg,可使得成本达到最低,最低成本为22.4元。
数值计算方法第二次实习报告
一、实习题目
1.已知函数表:
2.某种铝合金的含铝量为x%,其溶解温度为y ℃,由实验测得x 与y 的数据为
二、算法原理
1.拉格朗日插值法
根据x 0,x 1,…x n ;y 0,y 1,…y n 构造插值多项式
L n x = x −x i
x k−x i
n
i =1i≠k y k n
k =0
将插值点x 代入上式,就可得到函数f(x)在点x 处的函数值的近似值。
2.已知C[a,b]中函数f(x)的一组实验数据(x i ,y i )(i=0,1,…,m ),其
中y i =f(x i )。
设);,,1,0)((m n n j x j <= ϕ是C[a,b]上线性无关函数族。
在
)}(,),(),({10x x x span n ϕϕϕφ =中找函数f(x) 曲线拟合的最小二乘解
∑==n
j j j x a x S 0
*
)()(ϕ,其法方程(组)为: ),,1,0(),(0
n k d a n
j k j j k ==∑=ϕϕ
其中,∑==m
i i k i j i k j x x x 0
)()()(),(ϕϕωϕϕ
∑=≡=m
i k i k i i k d x x f x f 0
)()()(),(ϕωϕ k=0,1,…,n
特别是,求函数f(x) 曲线拟合的线性最小二乘解b ax x S +=)(*的计算
公式为:
∑∑∑∑∑∑======-+-=
i i i i m
i i i m i i m i i m i i x x m y x x y x b 0
2
20
2)()1()
)(())((∑∑∑∑∑=====-+-+=
i i i i m
i i m i i m i i i x x m y x y x m a 0
2
20
)()1()
)(()1(
三、过程及结果
(PS :部分公式无法显示请下载后用最新版Word 查看)。