大学计算方法(C)讲义课件.pdf
《大学计算方法(C)讲义课件.pdf》由会员分享,可在线阅读,更多相关《大学计算方法(C)讲义课件.pdf(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大学计算方法(C)讲义课件目 录第1章 绪 论1.1 数值计算1.2 数值方法的分析1.2.1 计算机上数的运算1.2.2 算法分析第2章 线性代数方程组2.1 Gauss消去法2.1.1 消去法2.1.2 主元消去法2.2 矩阵分解2.2.1 Gauss消去法的矩阵意义2.2.2 矩阵的LU分解及其应用2.2.3 其他类型矩阵的分解2.2.4 解三对角矩阵的追赶法2.3 线性方程组解的可靠性2.3.1 向量和矩阵范数2.3.2 残向量与误差的代数表征2.4 解线性方程组解的迭代法2.4.1 基本迭代法2.4.2 迭代法的矩阵表示2.4.3 收敛性第3章数据近似3.1 多项式插值3.1.1插
2、值多项式3.1.2 Lagrange插值多项式3.1.3 Newton插值多项式3.1.4 带导数条件的插值多项式3.1.5 插值公式的余项3.2 最小二乘近似3.2.1 最小二乘问题的法方程3.2.2 正交化算法第 4 章 数 值 微 积 分4.1 内插求积,Newton-Cotes公式4.1.1 Newton-Cotes 公式4.1.2 复化求积公式4.1.3 步长的选取4.1.4 Romberg 方法4.1.5 待定系数法4.2 数值微分4.2.1 插值公式方法4.2.2 Taylor公式方法(待定系数法)4.2.3 外推法第 5 章 非线性方程求解5.1 解一元方程的迭代法5.1.1
3、简 单迭代法5.1.2 Newton 法5.1.3 害峨法5.1.4 区 间方法5.2 收敛性问题5.2.1 简单迭代一一不动点5.2.2 收敛性的改善5.2.3 Newton法的收敛性5.2.4 收敛速度第 1 章 绪 论1.1 数值计算现代科学的发展,己导致科学与技术的研究从定性前进到定量,尤其是现代数字计算机的出现及迅速发展,为复杂数学问题的定量研究与解决,提供了强有力的基础。通常我们面对的理论与技术问题,绝大多数都可以从其物理模型中抽象出数学模型,因此,求解这些数学模型已成为我们面临的重要任务。一、本课程的任务:寻求解决各种数学问题的数值方法一一如何将高等数学的问题回归到初等数 学(算
4、术)的方法求解一一了解计算的基础方法,基 本 结 构(否则只须知道数值软件)一一并研究其性质。立足点:面向数学一一解决数学问题面向计算机一一利用计算机作为工具充分发挥计算机的功能,设计算法,解决数学问题例如:迭代法、并行算法二、问题的类型1、离散问题:例如,求解线性方程组A x=b 一一从离散数据:矩 阵 A 和向量b,求解离散数据x;2、连续问题的离散化处理:例如,数值积分、数值微分、微分方程数值解;3、离散问题的连续化处理:例如,数据近似,统计分析计算;1.2 数值方法的分析在本章中我们不具体讨论算法,首先讨论算法分析的基础一一误差。一般来讲,误差主要有两类、三 种(对科学计算):1)公式
5、误差一 一“截断误差”,数学一计算,算法形成一一主 观(人为):数学问题-数值方法的转换,用离散公式近似连续的数学函数进行计算时,一般都会发生误差,通常称之为“截断误差”;一一以后讨论2)舍入误差及输出入误差一一计算机,算法执行一一客 观(机器):由于计算机的存储器、运算器的字长有限,在运算和存储中必然会发生最末若干位数字的舍入,形成舍入误差;在人机数据交换过程中,十进制数和二进制数的转换也会导致误差发生,这就是输入误差。这两种误差主要是由于计算机的字长有限,采用浮点数系所致。首先介绍浮点数系1.2.1计算机上的运算一一浮点运算面向计算机设计的算法,则先要讨论在计算机上数的表示。科学记数法一一
6、浮点数:约定尾数中小数点之前的数全为零,小数点后第一个数不能为零。目前,一般计算机都采用浮点数系,一个存储单元分成首数和尾数:XXXXXXX首数/尾数 位)其中首数存放数的指数(或“阶”)部分,尾数存放有效数字。对 于 进 制,尾数字长为t位的浮点数系尸(/7,/,L,U)中 的(浮 点)数,可以用以下形式表示:4%d j d.dddgd嬴,1指 数,含符1位)符,位 52位瓶数浮 点 数 的 特 点:1、实 数 转 换 到 浮 点 数 浮 点 化,缺 点:总 会 产 生 误 差(除极个别的情况:尤=2 ,/=0,1,2,)按四 舍 五 入,绝 对 误 差:|x-力(x)|w g,-(举 例)
7、,优 点:浮 点 化 产生的相 对 误 差 有 界(与 数 字 本 身 的 数 量 级 无 关)|心)卜 匕等1 7?-注:设实数x eR,则按夕进制可表达为:d、d d iX=(+,+Z+,+)X 邛/X+1d/30 d ./,j=2,3,U +1 按四舍五入的原则,当它进入浮点数系尸(尸,心。)时,若d,+i g s,则力(x)=(-+-|+P片 d.-)X j1d d d+若4+1 2彳夕,则 力(x)=(T+T+丁)x 2p p2-y对第一种情况:k 一 力=(热+)x 号分/=#对第二种情况:卜一)(何=一 X,=;夕一p P 乙 乙就是说总有:|x-7 7(x)|w g p 另一方
8、面,由浮点数要求的1 4&,x一力(x)4 I giTx T有,喝 夕,将此两者相除,便得2、每 一 个 浮 点 数 系 的 数 字 有 限:2(,一 1)夕T(U-+1)+13、浮点数系中的运算非自封闭,(因为数字有限、尾数字长有限、指数数字有限等)例:在(1 0,4,-5,5)中,*=.5 4 20 x 10。=2Q 01 x103,运算x*y和x/y,的结果显然已不在此浮点数系内,而x+y或x-y也不在此浮点数系内,需fl(xo y)结果才在此浮点数系内。浮点运算应注意:1)避免产生大结果的运算,尤其是避免小数作为除数参加运算;2)避 免“大”“小”数相加减;3)避免相近数相减,防止大量
9、有效数字损失;4)尽可能简化运算步骤,减少运算次数。原因:记 =m a x|b(x)|=m a x ,由上一力(刈4可乂,可得:|(Xoy)-/7(xoy)|A|x o y|(“。”表示任意一种四则运算)此 处 是由机器字长(实质上是尾数字长f的大小)确定的常数(它反映了实际运算的精度)。显然,若要求运算的舍入误差小,应使运算结果(如:X土较小。尤其是小分母运算:-土=白,小y =大误差。y y y其次,当浮点数系中两个数量级相差较大的数相加(或减),注意到由于浮点数系中数字字长的有限性,可能导致“大数吃小数”。例如,尸(10,4,-5,5)中x =.8 231x l 03,y =.2317
10、x l()-,则x y =.8 231x l 03.2317 x l 0-1=.8 231 x 103.0000 x 103=x似乎y (没有参加运算。第三,同样,由于浮点数系中数字字长的有限性,当两个相近数相减时:例如,在 10,8,-5,5)中,x =.8 2317 8 4 4 x 1()3 8 2317 8 32x 1()3,两数相减:=.12000000 x 10-3,计算结果仅剩2位有效数字,而原来参加运算的数字有8位有效数字,这将严重影响最终计算结果的精度。1.2.2算法分析作为一个可用的算法,必须考虑其效率和可靠性,定义:计算机完成一个乘法和一个加法,称为一个浮点运算(记为fl
11、o p);注:由于计算机在运算时,加(减)法所耗时间远少于乘(除)法,所以通常只须计算乘法的次数,因此也有“一个算法需要多少个 乘法”这一提法。1、计算效率可 计 算 性(计算复杂性空间、时间)例:解线性方程组A x=b的Grammar方法:%,.人八,其中|A|是方程组系数矩阵A对应的行列式,而|4|则是以右端向量b替代A的第i列所得矩阵对应的行列式。由线性代数知识可知,若A=(a p,则I A|=一1严 四,既 血,,其 中 心 ,露是由 1,2,川 变 换 到 Z,Z2,。所需的置换次数。可见每计算一个行列式,需要(一 1).!个浮点运算;因此,按Grammar方法解方程组约需个浮点运算
12、。当=20时 N*9.70728x1()2。,用一个运算速度为1()8/秒的计算机进行求解,约需3.078x105年(日前报道我国计算机己达到3840 x103秒,这仍需近10年)。而n=20的方程组应该说是一个小型的方程组。因 此Grammar方法是一个不能接受的算法,它缺乏可计算性。第二章将介绍 的Gauss消去法和迭代法就有较高的效率,具有很好的可计算性。2、计算可靠性作为算法,除了考虑其效率外,必须重视可靠性,它包括两方面:问题的性态和 方法的稳定性问题的性态所计算的问题当原始数据发生小扰动时,问题的解一般也发生扰动。问题的性态问题的解对原始数据发生变化的敏感性.原始数据小扰动n 问题
13、解 小扰动问题是良态的大变化问题是病态的例:线性方程组:U613一1247一6 0.1-31-41-5+%1-21-31-41+为匹玉1-21-3若将方程组的系数改写成具有2位有效数字的小数:1.00X1+0.50 x2+O.33x=1.8 0.50 xj+0.33X2+0.25巧=110.33 西+0.25X2+0.20X3=0.78(-6.2 2 的解则变成:X=38.2533.65,这是一个典型的病态方程组。一般:由原 始 数 据X n 计算结果/(X),扰动后 的 数 据x n 计算结果/(工),若对问题/存在常数m,满足关系式:/(X)-/G)m x-H/(X)m X或f(x)-f(
14、x)f(x)m=s u p-x-xx则 称(相对误差之比的上界)m为该问题的条件数,记 作m =co nd(f);由微积分中值定理知识容易计算出,当”亍时,co nd(f)x。稍后我们在第二章将对线性方程组的性态作进一步的分析。算法的数值稳定性:1例:计算/”=JxZZx,=0,1,,8;0解:由微积分知识,可得计算公式,/“=1-叫 I ,/“T =_ L(1 /“),n我们将准确值与计算结果列表如下:方法/()/2八,51 617A准确值.6 3 2 1.3 6 7 9.2 6 42.2 0 7 3.1 7 0 9.1 45 5.1 2 6 8.1 1 2 4.1 0 1 0.6 3 2
15、1.3 6 7 9.2 6 42.2 0 7 4.1 7 0 4.1 480.1 1 2 0.2 1 6 0-.7 2 80.6 3 2 0.3 6 80.2 6 43.2 0 7 3.1 7 0 9.1 45 5.1 2 6 8.1 1 2 4.1 0 1 0由上表可见,方法中,原始步的误差,随着计算步数的增加被严重地放大,特别是A竟变成负数(注意:被积函数是非负函数),而方法则相反;这是因为方法中,若前步有误差6:I-=/j +,则1k=1 -kl卜-1=1 -kl1 I k3 =I卜-kb ,说 明 的 误 差3,经一步计算后被扩大了左倍,随着女的增大,误差将被大大地扩大;而通过同样的分
16、析可知:方法中人的误差则被缩小2倍。算法的数值稳定性:算法对初始误差导致的最终误差的可控性,如果最终误差被有效地控制,则称算法是稳定的,否则就是不稳定的。第二章线性方程组求解线性方程组:allxl+%2而+自小 5=卜 内+。22心+。2”巧=不an X +a 2x2+-+annxn=pn其中(2.1)aa2 劭 力A=a2a22,9X =,b =A一%2.,a*Pn2.1 G a u ss 消 去 法2.1.1消去法设计方法原则:面向计算机(事先未知元素,编制程序),例:2 xl+=3X j-x2=02 x+x2=33 _ 3=x2=1 =X =1一5一一5基本思想:降维一一N维问题转化为N
17、-1维问题一一逐次降维,依次进行消去过程一一对方程组(2.1)由上而下逐步消去对角元%*(%=1,2,,-1)以下的aik(i=k+l,-,n),使之转化为如下等价形式,达到目标:冈内+%2+=川+%/“=四,(2.2)%/“=/3 从而,可进入回代过程,再由下而上,逐步解得4 =,2,1):这儿的akk(k=1,2,/?-1)-主元对问题(2.1)设a”?0,目标:将第2n方程的可的系数a?”,见“转化为0;方法:“第左个方程”-3 x “第1个方程”(女=2,3,得 到nanX+al2x2+-+ainxn=.嫂 巧+a如”=姨 新的第女行,元素变化:(akk=0),a.=a.-likakj
18、,与=/3i-lik/3k,经过-1步消去(注意:a“以下无元可消),得到(2.2)式。注意:每计算1个儿,%),分仅需1个浮点运算回代:第一步演=&,第二步九 一弘,/Un-,n-第-Z+1 步 4 J乩一(叼+“+4 无%女=1,,2,1;运算量:消元:n元方程组:第1步消元:对第i a =2,3,)行,共n-1行;每1行:计算。(i=2,3,),1个乘除法(或“浮点运算”),计算新的曙=邱)=4 -4历共(n-D +l个乘除法(或“浮点运算”),第1次元共(-1)口 +(-1)+1=2一1个乘除法,因此,消元的运算量Z(心 1)=Z(1 T)=2 一吟+;k=n k=k=3 2 6回代:
19、第1步,求X”需要1个乘除法(或“浮点运算”),即:第2步求用2个乘除法(或“浮点运算”),一般,第上步求乙_ 八1用改个浮点运算,因此,回代的运算量 力=+1);I 2 3Gm/ss消去法的总运算量:T=-+n2-。3 3例2-1:解线性方程组例:解:2X+2X2+无3=02%|+212+3巧=3-%i-3X22利用增广矩阵(因为线性方程组的解仅与系数与右端常数项相关)22-31 0、3032八 一2-2-111I0、32左=%2-21 01 3%XJnX=C、-1 7 2-6、4-1501-352、34,;解1=(%-3 7-2-42-2I45I01223-1-22420-135、2426
20、03-36116537418425-960、77(21、3 12-1,11-12、C-2130121-21人(203I11人1-1401-13-7252、-415,1;解1=111(23、42481639278141664256210441901I1J1371622366-10、123453445455730、404357,1234123112-13-2-1412242431254-3-172-3-22-247-11017-147-10-421-1011201-32.1.2(列)主元消去法算法中,若第左步:i)akk=0、I2-1-2231人0151121或 i i)akk|aA|i =k+,
21、-,n则按照原来的简单G m/ss消去法算法可能无法执行,也可能出现大误差:例:在浮点数系厂(1 0,5,-1 0,1 0)中计算;方程组1 0-5 2准确解:x0.2 5 0 0 0 1 8 7 50.4 9 9 9 9 8 7 4 9解:按G a u ss消去法解:.1 0 0 0 0*1 0 7 .2 0 0 0 0*1 0 .1 0 0 0 0*1 0 1 八 尸 0 2。0 011 d 、.2 0 0 0 0*1 0 .3 0 0 0 0*1 0 .2 0 0 0 0*l O J 1 0 0 0 0*1 0-4.2 0 0 0 0*1 0 .1 0 0 0 0*1 0,)、-.4 0
22、 0 0 0*1 06-.2 0 0 0 0*1 06Jx=(.0 0 0 0 0 *1 0 .5 0 0 0 0 *1 0)r误差大,原因:若有误差akj=akj+3,J3k=/3k+3则西=A=A-L A,则演变为2=%-4(%+m=玛+li k 3,A =以一 4 (乩+磔=自+/*;这说明前步各元素的误差均被放大4倍。克服方法,将按绝对值最大的元素交换到主元位置,使心|41,使前步的误差不再被放大。1 0 0 0 0*1()7 2 0 0 0 0*1 0 .1 0 0 0 0*1 0 3日1 k.2 0 0 0 0*1 0 .3 0 0 0 0*1 0 .2 0 0 0 0*l O j
23、-.2 0 0 0 0*1 0 .3 0 0 0 0*1 0 .2 0 0 0 0*1 0,期 小、.1 0 0 0 0*1 0 .2 0 0 0 0*1 0 .1 0 0 0 0*1 0 1 -2 0 0 0 0*1()1 .3 0 0 0 0*1 0 .2 0 0 0 0*1 0 1 .2 0 0 0 0*1 0 .1 0 0 0 0*1 0 1x=(.2 5 0 0 0 1 0 .5 0 0 0 0 *1 0 )消元过程中,第攵步消元(4=1,2,,-1)以第女行为基准,消去其后的-攵个方程的为(系数矩阵第列以下的元素),G wss消去法要求主元%*#0。为避免出现%*=0 作为主元,并
24、使前步的误差不被放大,应使上设1,为此应使:akk=Ma x akk,ak+u,-ank,通常采用按列选主元的列主元消去法:若 /=林 词%/,|%+|31%/,便将第左 行与第加行交换,使“与心交换位置,使新的第人行执行在原始G a“ss消去法中的角色,保证将作为除数的主元|%/4 腐|i =Z +l,,从而,/4I,重复前述的G a“ss消去过程。列主元消去法的效果:1 .算法稳定,即计算误差能被有效控制;2 .当矩阵A的行列式网H0时,算法总可以执行完成;注:若矩阵A是对称正定或严格对角占优,则不选主元,消去法也是稳定的;矩阵严格对角占优的定义:对角元的绝对值大于该行其他元的绝对值之和,
25、即 同 同;7=1评问题:为什么系数矩阵A严格对角占优时,不选主元的消去法也是稳定的?为保证消去法是稳定的,计算应如何进行?注意:第一步消元,=a.-ai y,由于占优:即.i*(X2 j =j%2 1=四1K-I-K-I+K I劭-力 必 人 力 引+H必 忤六3 六3 六3 _|%1 =勿%|+|编6力%卜j=3“川j=3这回+曷|5佃2|+|%力 卜1%|六3|斯|;=3 j I|。12斯|52 2|52;|即新的第二行的对角元绝对占优,其他也可同样证明。例2-2:列主元消去法求解例2-12、一 122-31300、32,-1行“2行2122-3310302221-22行3彳 了2 2-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 计算方法 讲义 课件
限制150内