计算方法绪论
- 格式:ppt
- 大小:712.50 KB
- 文档页数:26
计算方法第一章绪论1.1计算方法的任务与特点计算方法(又称数值计算方法,数值方法)定义:研究数学问题数值解法及其理论的一门学科1.2误差知识误差来源:模型误差、观测误差、截断误差、舍入误差绝对误差:|e(x*)|=|x-x*|相对误差:e r=e(x*)/x*x*=±10m(a1×10-1+a2×10-2+…+an×10-n)n为有效数字|x-x*|≤(1/2)×10m-n1.3选用算法时应遵循的原则要尽量简化计算步骤以减少运算次数、要防止大数“吃掉”小数、尽量避免相近的数相减、除法运算中应尽量避免除数的绝对值远远小于被除数的绝对值选用数值稳定性好的公式,以控制舍入误差的传播第二章方程的近似解法方程f(x)=a0+a1x+…+a m-1x m-1+a m的根的模小于u+1大于1/|1+v| (u=max{|a m-1|,…,|a1|,|a0|}v=1/|a0|max{1,||a m-1|,…,|a1|})2.1二分法解法步骤:第一步利用(b-a)/2n+1≤1/2×10-m解得n+1≥~得最小对分次数2.2迭代法解法步骤:第一步画图求的隔根区间第二步建立迭代公示并判别收敛性第三步令初始值计算2.3牛顿迭代法迭代公式:x n+1= x n -f(x n)/f’(x n)解法步骤:第一步列出迭代公式第二步判断收敛性3.1解线性方程组的直接法高斯消去法、列主元素消去法、总体选主元素消去法暂不介绍矩阵三角分解法Ly=b Ux=y以三行三列为例介绍u11=a11u12=a12u13=a13l21=a21/u11l31=a31/u11u22=a22-l21×u12u23=a23-l21×u13l32=(a32-l31u12)/u22u33=a33-l31×u13-l32×u233.2解线性方程组的迭代法简单迭代法(雅可比迭代法)x=Bx+g收敛性判断|E入-B T B|=0 max入<1赛德尔迭代法x(k+1)=B1x(k+1)+B2x(k)+g收敛性判断|E入-C T C|=0 max入<1 C=(E-B1)-1B2第五章插值法余项R n(x)=f(n+1)(~)∏(x-x i)5.1拉格朗日插值法l k(x)=[(x-x0)…(x-x k-1)(x-x k+1)…(x-x n)]/[(x k-x0)…(x k-x k-1)(x k-x k+1)…(x k-x n)] L n(x)=∑l k(x)y k第六章最小二乘法与曲线拟合A T Ax=A T b第七章数值积分与数值微分梯形公式∫f(x)dx=(b-a)/2[f(a)+f(b)]Rn=-(b-a)3/12f’’(m) (m∈(a,b))复化梯形公式Rn=-(b-a)h2/12f’’(m) (m∈(a,b))辛浦生公式∫f(x)dx=(b-a)/6[f(a)+f((a+b)/2)+f(b)]Rn=- (b-a)5/2880f’(4)(m) (m∈(a,b))Rn=- (b-a)h4/2880f’(4)(m) (m∈(a,b))柯特斯公式∫f(x)dx=(b-a)/90[7f(x0)+32f(x1)+12f(x2)+32f(x3)+7f(x4)]Rn=-8(b-a)/945((b-a)/4)7f(6)(m) (m∈(a,b))Rn=-2(b-a)(h/4)6/945((b-a)/4)7f(6)(m) (m∈(a,b))龙贝格求积公式S N=(4T2N-T N)/(4-1)C N=(42S2N-S N)/(42-1)R N=(43C2N-C N)/(43-1)T梯形S辛浦生C柯特斯第八章常微分方程初值问题的数值解法欧拉法y n+1=y n+hf(x n,y n)梯形法y n+1=y n+h/2[f(x n,y n)+f(x n+1,y n+1)]欧拉预估-校正公式y n(0)=y n+hf(x n,y n) y n+1=h/2[f(x n,y n)+f(x n+1,y n+1(0))]。
第一章 绪论一、主要要求通过实验,认真理解和体会数值计算的稳定性、精确性与步长的关系。
二、主要结果回顾:1、算法:电子计算机实质上只会做加、减、乘、除等算术运算和一些逻辑运算,由这些基本运算及运算顺序规定构成的解题步骤,称为算法.它可以用框图、算法语言、数学语言或自然语言来描述。
用计算机算法语言描述的算法称为计算机程序。
(如c —语言程序,c++语言程序,Matlab 语言程序等)。
2、最有效的算法:应该运算量少,应用范围广,需用存储单元少,逻辑结构简单,便于编写计算机程序,而且计算结果可靠。
3、算法的稳定性:一个算法如果输入数据有误差,而在计算过程中舍入误差不增长,则称此算法是数值稳定的,否则称此算法为不稳定的。
换句话说:若误差传播是可控制的,则称此算法是数值稳定的,否则称此算法为不稳定的。
4、控制误差传播的几个原则: 1)防止相近的两数相减; 2)防止大数吃小数;3)防止接近零的数做除数;4)要控制舍入误差的累积和传播;5)简化计算步骤,减小运算次数,避免误差积累。
三、数值计算实验(以下实验都需利用Matlab 软件来完成) 实验1.1(体会数值计算精度与步长关系的实验)实验目的:数值计算中误差是不可避免的,要求通过本实验初步认识数值分析中两个重要概念:截断误差和舍入误差,并认真体会误差对计算结果的影响。
问题提出:设一元函数f :R →R ,则f 在x 0的导数定义为:hx f h x f x f h )()(lim)('0000-+=→实验内容:根据不同的步长可设计两种算法,计算f 在x 0处的导数。
计算一阶导数的算法有两种:hx f h x f x f )()()('000-+≈(1)hh x f h x f x f 2)()()('000--+≈(2)请给出几个计算高阶导数的近似算法,并完成如下工作: 1、对同样的h ,比较(1)式和(2)式的计算结果;2、针对计算高阶导数的算法,比较h 取不同值时(1)式和(2)式的计算结果。
第一章绪论§1.1引言最优化:就是从所有可能的方案中,选出最合理的,达到事先规定的最优目标的学科。
这样的问题称为最优化问题,达到最优目标的方案称为最优方案,寻找最优方案的方法称为最优化方法。
广义上:运筹学(Operation Research)狭义上:数学规划(programming)发展:(1)最优化问题是一个古老的问题。
早在17世纪,Newton和Leibniz已经提出了函数的极值问题,但没有系统的理论.因为算法不完善及计算工具不先进,以后二、三百年发展缓慢。
(2)第二次世界大战中由于军事上(战略、战术)的需要,如资源调配问题运输问题提出了许多不能用古典方法解决的问题,从而产生了线性规划,非线性规划、动态规划、组合优化等新方法,产生运筹学,(3)但直到20世纪40年代,最优化的理论和算法才得以迅速发展,并不断完善,逐步成为一门系统的学科。
在实际中最优化方法发挥的作用越来越大,其应用越来越广泛,尤其是在工程设计中的应用。
重要性:因为应用广泛所需数学知识:高等数学、线性代数§1.2 优化问题的模型举例例1 产品调运问题设某产品有个产地,各产地产品的产量分别为m 12,,,m a a a 有n 个销售地,每个销地的销量分别为12,,,n b b b 设由第i 个产地到第j 个销地的运费单价为ijc 问如何安排运输计划,使总运费最小(假设产销平衡)。
ij x 解设由第i 个产地到第j 个销地的运输量为1n j =∑1m i =∑min1(1,2,,)n ij i j x a i m ===∑ 1(1,2,,)m ij j i x b j n ===∑ ..s t ij ij c x 1a i a m a 1b j b n b ij c ij x例2将非线性方程组的求解转化为一优化问题。
11221212(,,,)0(,,,)0(,,,)0n n n n f x x x f x x x f x x x =⎧⎪=⎪⎨⎪⎪=⎩212121min (,,,)(,,,)nn i n i x x x f x x x ϕ==∑ 解非线性方程组在有解的情况下,等价于§1.3 优化问题的模型与分类1 根据问题不同特点的分类(1)无约束优化问题(unconstraint optimizationproblem )12min (,,,)n f x x x 12(,,,)Tn x x x = x min ()n x R f ∈x min (),nf R ∈x x (P)(P)min ()..()0,1,2,,j f s t h j l ⎧⎨==⎩ x x min ()..()0,1,2,,i f s t g i m ⎧⎨≥=⎩ x x min ()..()0,1,2,,,()0,1,2,,i j f s t g i m h j l⎧⎪≥=⎨⎪==⎩ x x x (2)约束优化问题(constraint optimization problem )(P 1)(P 2)(P 3)12(,,,)T n x x x = x 称为决策变量()f x 称为目标函数()j h x 称为约束函数()0(1,2,,),()0(1,2,,)i j g i m h j l ≥=== x x 称为约束条件()i g x 满足约束条件的点称为可行解(feasible solution ){}|()0,1,2,,;()0,1,2,,i j R g i m h j l =≥=== x x x (P3)的可行域(feasible region )2 根据函数类型分类1)线性规划(linear programming).2)二次规划。
教材聂玉峰、王振海等《数值方法简明教程》,高等教育出版社,2011作业计算方法作业集(A、B)参考书¾封建湖,车刚明计算方法典型题分析解集(第三版)西北工业大学出版社,2001¾封建湖,聂玉峰,王振海数值分析导教导学导考(第二版)西北工业大学出版社,2006¾车刚明,聂玉峰,封建湖,欧阳洁数值分析典型题解析及自测试题(第二版)西北工业大学出版社,2003西北工业大学理学院欧阳洁2第一章绪论§1 引言§2 误差的度量与传播§3 选用算法时应遵循的原则西北工业大学理学院欧阳洁3§1 引言科学与工程领域中运用计算机求解问题的一般过程:1 实际问题的提出2 建立数学模型3 设计可靠、高效的数值方法4 程序设计5 上机实践计算结果6 数据处理及结果分析西北工业大学理学院欧阳洁4学习算法的意义科学计算(数值模拟)已经被公认为与理论分析、实验分析并列的科学研究三大基本手段之一。
计算方法课程的研究对象具有广泛的适用性,著名流行软件如Maple、Matlab、Mathematica 等已将其绝大多数内容设计成函数,简单调用之后便可以得到运行结果。
但由于实际问题的具体特征、复杂性, 以及算法自身的适用范围决定了应用中必须选择、设计适合于自己特定问题的算法,因而掌握数值方法的思想和内容至关重要。
西北工业大学理学院欧阳洁5鉴于实际问题的复杂性,通常将其具体地分解为一系列子问题进行研究,本课程主要涉及如下几个方面问题的求解算法:¾非线性方程求根¾线性代数方程组求解¾函数插值¾曲线拟合¾数值积分与数值微分¾常微分方程初值问题的数值解法¾矩阵特征值与特征向量计算西北工业大学理学院欧阳洁6§2 误差的度量与传播一误差的来源与分类模型误差:数学模型与实际问题的误差观测误差:观测结果与实际问题的误差截断误差:数学模型的理论解与数值计算问题的精确解之间的误差舍入误差:对超过某有限位数的数据进行舍入所产生的误差西北工业大学理学院欧阳洁75 使用数值稳定性好的公式一个算法,如果初始数据微小的误差仅使最终结果产生微小的误差,或在运算过程中舍入误差在一定条件下能够得到控制,则称该算法(数值)稳定,否则称其为(数值)不稳定.西北工业大学理学院欧阳洁26总结1.数值运算的误差估计2.绝对误差、相对误差与有效数字3.数值运算中应遵循的若干原则西北工业大学理学院欧阳洁30。
第一章第一章 绪论绪论绪论
一、填空填空 (1)为了使计算32)
1(6)1(41310−−−+−+=x x x y 的乘除法运算次数尽量少,应将表达式改写为( )
1220.010s n x t x a a a ∗=×L ()准确值与其有位有效数字的近似值1(0)a x x ∗≠−≤的绝对误差 ( )。
(3)设 2.40315a =是真值 2.40194x =的近似值,则a 有( )位有效数字。
(4)设 2.001,0.8030a b ==−是由真值,x y 经四舍五入得来的近似值,则a b +的误差限为( )。
(5)为了减少舍入误差的影响,应将表达式62002008−改写为( )。
(6)用4位浮点数计算出表达式030.6228100.687610×+×的正确结果是( )
二、选择题
(1)
计算 61) 1.4α−≈,采用下列算式计算,问哪一个
得到的结果最好? ( )
3A B C 32
D 、99-70、(- (2)若近似值a 的数字个数越多,则其相对误差越小。
( )
A、正确
B、错误
(4)若误差限为0.5×10-5,那么近似数0.003400有5位有效数字。
( )
A、正确
B、错误。
第一章绪论1.1 "数值分析"研究对象与特点"数值分析"是计算数学的一个主要部分.而计算数学是数学科学的一个分支,它研究用计算机求解数学问题的数值计算方法及其软件实现.计算数学几乎与数学科学的一切分支有联系,它利用数学领域的成果发展了新的更有效的算法及其理论,反过来很多数学分支都需要探讨和研究适用于计算机的数值方法.因此,"数值分析"内容十分广泛.但本书作为"数值分析"基础,只介绍科学与工程计算中最常用的基本数值方法,包括线性方程组与非线性方程求根、插值与最小二乘拟合、数值积分与常微分方程数值解法等.这些都是计算数学中最基础的内容.近几十年来由于计算机的发展及其在各技术科学领域的应用推广与深化,新的计算性学科分支纷纷兴起,如计算力学、计算物理、计算化学、计算经济学等等,不论其背景与含义如何,要用计算机进行科学计算都必须建立相应的数学模型,并研究其适合于计算机编程的计算方法.因此,计算数学是各种计算性科学的联系纽带和共性基础,是一门兼有基础性、应用性和边缘性的数学学科.计算数学作为数学科学的一个分支,当然具有数学科学的抽象性与严密科学性的特点,但它又具有广泛的应用性和边缘性特点.现代科学发展依赖于理论研究、科学实验与科学计算三种主要手段,它们相辅相成,互相独立,可以互相补充又都不可缺少,作为三种科学研究手段之一的科学计算是一门工具性、方法性、边缘性的新学科,发展迅速,它的物质基础是计算机(包括其软硬件系统),其理论基础主要是计算数学.计算数学与计算工具发展密切相关,在计算机出现以前,数值计算方法只能计算规模小的问题,并且也没形成单独的学科,只有在计算机出现以后,数值计算才得以迅速发展并成为数学科学中一个独立学科--计算数学.当代计算能力的大幅度提高既来自计算机的进步,也来自计算方法的进步,计算机与计算方法的发展是相辅相成、互相促进的.计算方法的发展启发了新的计算机体系结构,而计算机的更新换代也对计算方法提出了新的标准和要求.例如为在计算机上求解大规模的计算问题、提高计算效率,诞生并发展了并行计算机.自计算机诞生以来,经典的计算方法业已经历了一个重新评价、筛选、改造和创新的过程,与此同时,涌现了许多新概念、新课题和能充分发挥计算机潜力、有更大解题能力的新方法,这就构成了现代意义下的计算数学.这也是数值分析的研究对象与特点.概括地说,数值分析是研究适合于在计算机上使用的实际可行、理论可靠、计算复杂性好的数值计算方法.具体说就是:第一,面向计算机,要根据计算机特点提供实际可行的算法,即算法只能由计算机可执行的加减乘除四则运算和各种逻辑运算组成.第二,要有可靠的理论分析,数值分析中的算法理论主要是连续系统的离散化及离散型方程数值求解.有关基本概念包括误差、稳定性、收敛性、计算量、存储量等,这些概念是刻画计算方法的可靠性、准确性、效率以及使用的方便性.第三,要有良好的复杂性及数值试验,计算复杂性是算法好坏的标志,它包括时间复杂性(指计算时间多少)和空间复杂性(指占用存储单元多少).对很多数值问题使用不同算法,其计算复杂性将会大不一样,例如对20阶的线性方程组若用代数中的Cramer法则作为算法求解,其乘除法运算次数需要,若用每秒运算1亿次的计算机计算也要30万年,这是无法实现的,而用"数值分析"中介绍的Gauss消去法求解,其乘除法运算次数只需3 060次,这说明选择算法的重要性.当然有很多数值方法不可能事先知道其计算量,故对所有数值方法除理论分析外,还必须通过数值试验检验其计算复杂性.本课程虽然只着重介绍数值方法及其理论,一般不涉及具体的算法设计及编程技巧,但作为基本要求仍希望读者能适当做一些计算机上的数值试验,它对加深算法的理解是很有好处的.讲解:(1)计算数学是研究用计算机求解数学问题的数值计算方法及其软件实现,"数值分析"是计算数学的主要部分。