第5章 数值计算
数值计算1-5章
数值计算1-5章数值计算⽅法第1章绪论1.1数值计算⽅法的研究对象和特点数值计算⽅法也称数值分析,它研究⽤计算机求解各种数学问题的数值⽅法及其理论。
数学学科内容⼗分⼴泛,数值计算⽅法属于计算数学的范畴,这⾥只涉及科学和⼯程计算中常见的数学问题,如函数的插值、逼近、离散数据的拟合、数值积分与数值微分、线性和⾮线性⽅程数值解法和矩阵特征值问题数值解法和微分⽅程数值解法等.由于计算机科学与技术的迅速发展,数值计算⽅法的应⽤已经普遍深⼊到各个科学领域,很多复杂和⼤规模的计算问题都可以在计算机上进⾏计算,新的、有效的数值⽅法不断出现.现在,科学与⼯程中的数值计算已经成为各门⾃然科学和⼯程技术科学研究的⼀种重要⼿段,成为与实验和理论并列的⼀个不可缺少的环节.所以,数值计算⽅法既是⼀个基础性的,同时也是⼀个应⽤性的数学学科分⽀,与其他学科的联系⼗分紧密.⽤数值⽅法求解数学问题⾸先要构造算法,即由运算规则(包括算术运算、逻辑运算和运算顺序)构成的完整的解题过程.同⼀个数学问题可能有多种数值计算⽅法,但不⼀定都有效.评价⼀个算法的好坏主要有两条标准:计算结果的精度和得到结果所付出的代价.我们⾃然应该选择代价⼩⼜能满⾜精度要求的算法.计算代价也称为计算复杂性,包括时间复杂性和空间复杂性.时间复杂性好是指节省时间,主要由运算次数决定.空间复杂性好是指节省存储量,主要由使⽤的数据量决定.⽤计算机求数学问题的数值解不是简单地构造算法,它涉及多⽅⾯的理论问题,例如,算法的收敛性和稳定性等.除理论分析外,⼀个数值⽅法是否有效,最终要通过⼤量的数值实验来检验.数值计算⽅法具有理论性、实⽤性和实践性都很强的特点.作为数值计算⽅法的基础知识,本课程不可能⾯⾯俱到.除构造算法外,各章根据内容⾃⾝的特点,讨论的问题有所侧重.学习时我们⾸先要注意掌握⽅法的基本原理和思想,要注意⽅法处理的技巧及其与计算机的结合,要重视误差分析、收敛性和稳定性的基本理论.其次,要通过例⼦,学习使⽤各种数值⽅法解决实际计算问题,熟悉数值⽅法的计算过程.最后,为了掌握本课程的内容,还应做⼀定数量的理论分析与计算练习.1.2数值计算的误差1.2.1误差的来源应⽤数学⼯具解决实际问题,⾸先,要对被描述的实际问题进⾏抽象、简化,得到实际问题的数学模型.数学模型与实际问题之间会出现的误差,我们称之为模型误差.在数学模型中,通常要包含⼀些由观测数据确定的参数.数学模型中⼀些参数观测结果⼀般不是绝对准确的.我们把观测模型参数值产⽣的误差称为观测误差.例如,设⼀根铝棒在温度t时的实际长度为Lt,在t=0时的实际长度为L0,⽤lt来表⽰铝棒在温度为t时的长度计算值,并建⽴⼀个数学模型l t =L(1+at), a≈0.0000238/℃,其中a是由实验观测得到的常数,a∈[0.0000237,0.0000239],则称Lt -lt为模型误差,a-0.0000238是a 的观测误差.在解实际问题时,数学模型往往很复杂,因⽽不易获得分析解,这就需要建⽴⼀套⾏之有效的近似⽅法和数值⽅法.我们可能⽤容易计算的问题代替不易计算的问题⽽产⽣误差,也可能⽤有限的过程代替⽆限的过程⽽产⽣误差.我们将模型的准确解与⽤数值⽅法求得的准确解之间的误差称为截断误差或⽅法误差.例如,对函数()()35721sin 13!5!7!21!n x x x xn x x n +=-+-+++-+,该式右边有⽆限多项,计算机上⽆法计算.然⽽,根据微积分学中的泰勒(Taylor )定理,当|x |较⼩时,我们若⽤前3项作为sin x 的近似值,则截断误差的绝对值不超过77!x .⽤计算机做数值计算时,⼀般也不能获得数值计算公式的准确解,需要对原始数据、中间结果和最终结果取有限位数字.我们将计算过程中取有限位数字进⾏运算⽽引起的误差称为舍⼊误差.例如,13=0.33333…,如果我们取⼩数点后4位数字,则13-0.3333=0.000033…就是舍⼊误差.在数值分析中,除了研究数学问题的算法外,还要研究计算结果的误差是否满⾜精度要求,这就是误差估计问题.在数值计算⽅法中,主要讨论的是截断误差和舍⼊误差.1.2.2 误差与有效数字定义1.1 设x 是某实数的精确值,A x 是它的⼀个近似值,则称x -A x 为近似值A x 的绝对误差,或简称误差.Ax x x-称为x A 的相对误差.当x =0时,相对误差没有意义.在实际计算中,精确值x 往往是不知道的,所以通常把AAx x x -作为A x 的相对误差.定义1.2 设x 是某实值的精确值,A x 是它的⼀个近似值,并可对A x 的绝对误差作估计|x -A x |?A ε,则称εA 是A x 的绝对误差界,或简称误差界.称AAx ε是A x 的相对误差界.例 1.1 我们知道π=3.1415926…,若取近似值πA =3.14,则π-πA =0.0015926…,可以估计绝对误差界为0.002,相对误差界为0.0006.例 1.2 测量⼀⽊板长是954 cm,问测量的相对误差界是多⼤?解因为实际问题中所截取的近似数,其绝对误差界⼀般不超过最⼩刻度的半个单位,所以当x =954 cm 时,有A ε=0.5 cm ,其相对误差界为0.50.00052410.053%954AAx ε==< .定义1.3 设A x 是x 的⼀个近似值,将A x 写成12100.,k A i x a a a =±? , (1.1) 它可以是有限或⽆限⼩数的形式,其中i a (i =1,2,…)是0,1,…,9中的⼀个数字,1a ≠0,k 为整数.如果|x -A x |?0.5×10k n -,则称A x 为x 的具有n 位有效数字的近似值.可见,若近似值A x 的误差界是某⼀位的半个单位,该位到A x 的第⼀位⾮零数字共有n 位,则A x 有n 位有效数字.通常在x 的准确值已知的情况下,若要取有限位数的数字作为近似值,就采⽤四舍五⼊的原则,不难验证,采⽤四舍五⼊得到的近似值,其绝对误差界可以取为被保留的最后数位上的半个单位.例如|π-3.14|?0.5×210-, |π-3.142|?0.5×310-.按定义,3.14和3.142分别是具有3位和4位有效数字的近似值.显然,近似值的有效数字位数越多,相对误差界就越⼩,反之也对.下⾯,我们给出相对误差界与有效数字的关系.定理1.1 设x 的近似值A x 有(1.1)式的表达式. (1) 如果A x 有n 位有效数字,则 111×102A nAx x x a --≤; (1.2)(2) 如果()111×1021A nAx x x a --≤+, (1.3)则A x ⾄少具有n 位有效数字.证由(1.1)式可得到()111--?+≤≤?k A k a x a . (1.4)所以,当A x 有n 位有效数字时11110.5101×10,×102k nA nk Ax x x a a ----?≤=即(1.2)式得证.由(1.3)式和(1.4)式有()()nk nk AAA A a a x x x x x x ---?=?+?+≤-=-105.0101211011111,即说明A x 有n 位有效数字,(2)得证.例1.30.1%,应取⼏位有效数字?解由于因此1a =4,设有n 位有效数字,则由(1.2)式,可令11110a -?≤,即410n -?18,得n ?4.故只要对4位有效数字,其相对误差就可⼩于0.1%,4.472.例1.4 已知近似数A x 的相对误差界为0.3%,问A x ⾄少有⼏位有效数字?解设A x 有n 位有效数字,由于A x 的第⼀个有效数1a 没有具体给定,⽽我们知道1a ⼀定是1,2,…,9中的⼀个,由于()12311101000210291A Ax x x --≤<=+,故由(1.3)式知n=2,即A x ⾄少有2位有效数字.1.2.3 函数求值的误差估计对⼀元函数f(x ),⾃变量x 的⼀个近似值为A x ,以f(A x )近似f(x ),其误差界记作ε(f(A x )).若f(x )具有⼆阶连续导数,f′(A x )与f″(A x )的⽐值不太⼤,则可忽略|x -A x |的⼆次项,由Taylor 展开式得到f(A x )的⼀个近似误差界ε(f(A x ))≈|f′(A x )|ε(A x ).对n 元函数f(x 1,x 2,…,x n ),⾃变量x 1,x 2,…,x n 的近似值分别为x 1A ,x 2A ,…,x n A ,则有()()()12121,,,,,,nn A A nA k kA k k Af f x x x f x x x x x x=??-≈- ∑ ,其中()12,,,A A nA k k f f x x x x x A.因此,可以得到函数值的⼀个近似误差界()()()121,,,nAA nA kA k k Af f x x x x x εε=??≈ ∑. 特别地,对f(x 1,x 2)=x 1±x 2有ε(x 1A ±x 2A )=ε(x 1A )+ε(x 2A ).同样,可以得到ε(x 1A x 2A )≈|x 1A |ε(x 2A )+|x 2A |ε(x 1A ),()()12211222A A A A A A A x x x x x x x εεε+??≈,20A x ≠例1.5 设有长为l,宽为d 的某场地.现测得l 的近似值l A =120 m,d 的近似值d A =90 m ,并已知它们的误差界为|l-l A |?0.2 m,|d-d A |?0.2 m.试估计该场地⾯积S=ld 的误差界和相对误差界.解这⾥ε(l A )=0.2,ε(d A )=0.2,并且有2,,10800A A A S S d l S l d mld====.于是有误差界()21200.2900.242A S m ε≈?+?=,相对误差界()()420.39%10800A r A AS S l dεε=≈=.例1.6 设有3个近似数a=2.31, b=1.93, c=2.24,它们都有3位有效数字.试计算p=a+bc 的误差界和相对误差界,并问p 的计算结果能有⼏位有效数字?解 p=2.31+1.93×2.24=6.6332.于是有误差界ε(p)=ε(a)+ε(bc)≈ε(a)+|b|ε(c)+|c|ε(b) =0.005+0.005(1.93+2.24)=0.02585,相对误差界εr (p)=()0.025856.6332p pε≈≈0.39%.因为ε(p)≈0.02585<0.05,所以p=6.6332能有2位有效数字.1.2.4 计算机中数的表⽰任意⼀个⾮零实数⽤(1.1)式表⽰,是规格化的⼗进制科学记数⽅法.在计算机中通常采⽤⼆进制的数系(或其变形的⼗六进制等),并且表⽰成与⼗进制类似的规格化形式,即浮点形式±2m ×0.β1β2…βt ,这⾥整数m 称为阶码,⽤⼆进制表⽰为m=±α1α2…αs , αj =0或1(j=1,2,…,s),s 是阶的位数.⼩数0.β1β2…βt 称为尾数,其中β1=1,βj =0或1(j=2,3,…,t),t 是尾数部位的位数.s 和t 与具体的机器有关.由于计算机的字长总是有限位的,所以计算机所能表⽰的数系是⼀个特殊的离散集合,此集合的数称为机器数.⽤浮点⽅式表⽰的数有⽐较⼤的取值范围.⼗进制输⼊计算机时转换成⼆进制,并对t 位后⾯的数作舍⼊处理,使得尾数为t 位,因此⼀般都有舍⼊误差.两个⼆进制数作算术运算时,对计算结果也要作类似的舍⼊处理,使得尾数为t 位,从⽽也有舍⼊误差.在实现算法时,计算的最后结果与算法的精确解之间的误差,从根本上说是由机器的舍⼊误差造成的,包括输⼊数据和算术运算的舍⼊误差.因此有必要对计算机中数的浮点表⽰⽅法和舍⼊误差有⼀个初步的了解.有时为了分析某⼀个计算⽅法可能出现的误差现象,为了适应⼈们的习惯,我们会采⽤⼗进制实数系统进⾏误差分析.1.3 数值稳定性和要注意的若⼲原则 1.3.1 数值⽅法的稳定性实际计算时,给定的数据会有误差,数值计算中也会产⽣误差,并且,这些误差在进⼀步的计算中会有误差传播.因此,尽管数值计算中的误差估计⽐较困难,我们还是应该重视计算过程中的误差分析.定义 1.4 对于某个数值计算⽅法,如果输⼊数据的误差在计算过程中迅速增长⽽得不到控制,则称该算法是数值不稳定的,否则是数值稳定的.下⾯举例说明误差传播的现象.例 1.7 计算积分值105nxdx I x =+?, n=0,1,…,6.解由于要计算系列的积分值,我们先推导In 的⼀个递推公式.由1110555n n n n x x I I dx x --++=+?111n xdx n-==,可得下⾯两个递推算法.算法1:115n n I I n-=-,n=1,2, (6)算法2:1115n n I I n -??=-,n=6,5, (1)直接计算可得0ln 6ln 5I =-.如果我们⽤4位数字计算,得I 0的近似值为0I *=0.1823.记n n n E I I *=-,I n *为In 的近似值.对算法1,有15n n E E -=-=…=()5n-E 0.按以上初始值I0的取法有|E 0|?0.5×410-,事实上|E 0|≈0.22×410-.这样,我们得到|E 6|=65|E 0|≈0.34.这个数已经⼤⼤超过了I 6的⼤⼩,所以6I *连⼀位有效数字也没有了,误差掩盖了真值.对算法2,有E k-n =15n ??-E k ,|E 0|=615??|E 6|.如果我们能够给出I 6的⼀个近似值,则可由算法2计算I n (n=5,4,…,0)的近似值.并且,即使E 6较⼤,得到的近似值的误差将较⼩.由于()()11011616551kkk xxI d d x x k k =<<=++??,因此,可取Ik 的⼀个近似值为()()11126151k I k k *=+?? ? ?++??. 对k=6有6I *=0.0262.按0I *=0.1823和6I *=0.0262,分别按算法1和算法2计算,计算结果如表1-1,其中()1n I 为算法1的计算值, ()2n I 为算法2的计算值.易知,对于任何⾃然数n,都有0表1-1n()1nI()2nInI (4位)0 0.1823 0.1823 0.18231 0.0885 0.0884 0.08842 0.0575 0.0580 0.05803 0.0458 0.0431 0.04314 0.0210 0.0344 0.03435 0.0950 0.0281 0.02856-0.3083 0.0262 0.0243当然,数值不稳定的⽅法⼀般在实际计算中不能采⽤.数值不稳定的现象属于误差危害现象.下⾯讨论误差危害现象的其他表现及如何避免问题.1.3.2 避免有效数字的损失在数值计算中,参加运算的数有时数量级相差很⼤,⽽计算机位数有限,如不注意,“⼩数”的作⽤可能消失,即出现“⼤数”吃“⼩数”的现象. 例1.8 ⽤3位⼗进制数字计算x =101+δ1+δ2+…+δ100,其中0.1?δi ?0.4,i =1,2, (100)解在计算机内计算时,要写成浮点数形式,且要对阶.如果是101与δ1相加,对阶时,101=0.101×103,δ1=0.000×103.因此,如果我们⾃左⾄右逐个相加,则所有的δi 都会被舍掉,得x ≈101.但若把所有的δi 先加起来,再与101相加,就有111=101+100×0.1?x ?101+100×0.4=141.可见,计算的次序会产⽣很⼤的影响.这是因为⽤计算机计算时,在运算中要“对阶”,对阶引起了⼤数吃⼩数的现象.⼤数吃⼩数在有些情况下是允许的,但有些情况下则会造成谬误.在数值计算中,两个相近数相减会使有效数字严重损失.例1.9 求实系数⼆次⽅程20ax bx c ++=的根,其中b 2-4ac>0,ab ≠0. 解考虑两种算法. 算法1:1,22x a=算法2:(12b sign b x a--=, 21c x ax =,其中sign 表⽰取数的符号,即()1,0,0,0,1,0.b sign b b b >??==??-对算法1,若ac b 42>>,则是不稳定的,否则是稳定的.这是因为在算法1中分⼦会有相近数相减的情形,会造成有效数字的严重损失,从⽽结果的误差很⼤.算法2不存在这个问题,在任何情况下都是稳定的.因此称算法1是条件稳定的,算法2是⽆条件稳定的.例如,对于⽅程262.10 1.0000x x ++=,⽤4位有效数字计算,结果如下:算法1:x 1=-62.08, x 2=-0.02000. 算法2:x 1=-62.08, x 2=-0.01611.准确解是x 1=-62.083892…,x 2=-0.016107237….这⾥,ac b 42>>,所以算法1不稳定,舍⼊误差对x 2的影响⼤.在进⾏数值计算时,如果遇到两相近数相减的情形,可通过变换计算公式来避免或减少有效数字的损失.例如,如果|x |≈0,有变换公式1cos sin sin 1cos x x xx-=+.如果x 1≈x 2,有变换公式1122lg lg lgx x x x -=.如果x 〉〉1,有变换公式.此外,⽤绝对值很⼩的数作除数时,舍⼊误差会很⼤,可能对计算结果带来严重影响.因此,要避免除数绝对值远远⼩于被除数绝对值的除法运算.如果⽆法改变算法,则采⽤增加有效位数进⾏计算,或在计算上采⽤双精度运算,但这要增加机器计算时间和多占内存单元.1.3.3 减少运算次数在数值计算中,要注意简化计算步骤,减少运算次数,这也是数值分析中所要研究的重要内容.同样⼀个计算问题,如果能减少运算次数,不但可节省计算机的计算时间,还能减少误差的积累.下⾯举例说明简化计算公式的重要性.例1.10 给定x ,计算多项式()110nn n n n P x a x a xa --=+++的值.如果我们先求ak x k ,需要进⾏k 次乘法,再相加,则总共需要()12n n +次乘法和n次加法才能得到⼀个多项式的值.如果我们将多项式写成下⾯的形式()(){}1210n n n n P x x x x a x a a a a --??=+++++?? ,则只需n 次乘法和n 次加法即可得到⼀个多项式的值,这就是著名的秦九韶算法,可描述为1,,1,2,,0,n n k k k u a u u x a k n n +=??=+=--?最后有()0n u P x =.例1.11 计算ln2的值. 解如果利⽤级数()()11ln 11nn n xx n∞+=+=-∑计算ln2,若要精确到误差的绝对值⼩于10-5,要计算10万项求和,计算量很⼤,并且舍⼊误差的积累也⼗分严重.如果改⽤级数()35211ln 213!5!21!n xx x xx x n +??+=+++++ ? ?-+??来计算ln2,取x =1,则只要计算前9项,截断误差便⼩于10-10.1.4 向量和矩阵的范数为了对矩阵计算进⾏数值分析,我们需要对向量和矩阵的“⼤⼩”引进某种度量.在解析⼏何中,向量的⼤⼩和两个向量之差的⼤⼩是⽤“长度”和“距离”的概念来度量的.在实数域中,数的⼤⼩和两个数之间的距离是通过绝对值来度量的.范数是绝对值概念的⾃然推⼴.1.4.1 向量的范数定义1.5 如果向量x ∈n R 的某个实值函数f(x )=‖x ‖满⾜ (1) 正定性:x ?0,且x =0当且仅当x =0;(2) 齐次性:对任意实数α,都有αx =|α|x ; (3) 三⾓不等式:对任意x ,y ∈R n ,都有+x y ?x +y ,则称x 为n R 上的⼀个向量范数.在n R 中,记()12,,,Tn x x x =x ,实际计算中最常⽤的向量范数有: (1) 向量的∞范数1max i i nx ∞≤≤=x;(2) 向量的1范数11nii x ==∑x;(3) 向量的2范数12221in x i ==??∑x.容易验证,向量的∞范数和1范数满⾜定义1.5中的条件.对于2范数,满⾜定义1.5中的条件(1)和(2)是显然的,对于条件(3),利⽤向量内积的Cauchy-Schwarz 不等式可以验证.更⼀般地,有如下向量的p 范数1pipn px i ==??∑x,其中p ∈ [1,+∞).容易验证1ppn∞∞≤≤xxx,由此可得如下定理.定理1.2 lim pp ∞→∞=xx.下⾯,我们利⽤向量范数的连续性来说明向量范数的重要特征.定理1.3 设给定A ∈R n ×n ,x =(x 1,x 2,…,x n )T ∈R n ,则对R n 上每⼀种向量范数,‖A x ‖都是x 1,x 2,…,x n 的n 元连续函数.证设a j 为A 的列向量,将A 写成A =(a 1,a 2,…,a n ). 则由三⾓不等式,对h =(h 1,h 2,…,h n )T ∈R n,有|‖A (x +h )‖-‖A x ‖|?‖A h ‖=‖1ni i h =∑a i ‖1ni i h =∑‖a i ‖M max|h i |,其中M=1ni =∑‖a i ‖.所以,对任意的ε>0,当max|h i |<Mε时,有|‖A (x +h )‖-‖A x ‖|<ε, 这就证明了‖A x ‖的连续性.推论1.1 ‖x ‖是x 的各分量的连续函数. 向量范数的⼀个重要特征是具有等价性.定理 1.4 R n 上的所有向量范数是彼此等价的,即对R n 上的任意两种向量范数‖x ‖s和‖x ‖t ,存在常数c 1,c 2>0,使得对任意x ,有c 1‖x ‖s ?‖x ‖t ?c 2‖x ‖s .证只要就‖x ‖s =‖x ‖∞证明上式成⽴即可,即证明存在常数c 1,c 2>0,对⼀切x ∈R n且x ≠0,有c 1‖x ‖∞?‖x ‖t ?c 2‖x ‖∞.记R n 上的有界闭集D={x :x =(x 1,x 2,…,x n )T ,‖x ‖∞=1}.由定理1.3的推论知,‖x ‖t 是D 上的n 元连续函数,所以在D 上有最⼤值c 2和最⼩值c 1,且x ∈D 时有x ≠0,故有c 2?c 1>0.现考虑x ∈R n ,且x ≠0,则有∞x x ∈D,所以有c 1?‖∞x x ‖t ?c 2, ?x ∈R n ,x ≠0.从⽽对x ≠0有c 1‖x ‖∞?‖x ‖t ?c 2‖x ‖∞.⽽x =0时上式⾃然成⽴,定理得证.由于向量范数之间具有等价性,对于范数的极限性质,我们只需对⼀种范数进⾏讨论,其余范数也都具有相似的结论.⽐如,我们可以⽅便地讨论向量序列的收敛性.定义1.6 设向量序列x (k)=()()()()12,,,Tk k k nx x x ∈R n ,k=1,2,…,若存在x *=()12 ,,,Tn x x x ***∈R n ,使得()lim k iik x x *→∞=, i =1,2,…,n,则称序列{x (k)}收敛于x *,记为()lim k ik *→∞=x x.按定义有)()lim lim 0k k k k **→∞→∞∞=?-=xx xx.⼜因为()()()12k k k c c ***∞∞-≤-≤-xxxxxx,所以有()()lim lim 0k k k k **→∞→∞=?-=xx xx.因此,若向量序列在⼀种范数下收敛,则在其他范数下也收敛.不必强调是在哪种范数意义下收敛.1.4.2矩阵的范数定义1.7 如果矩阵A ∈R n ×n 的某个实值函数f(A )=‖A ‖满⾜ (1) 正定性:‖A ‖?0,且‖A ‖=0当且仅当A =0;(2) 齐次性:对任意实数α,都有‖αA ‖=|α|‖A ‖;(3) 三⾓不等式:对任意A ,B ∈R n ×n ,都有‖A +B ‖?‖A ‖+‖B ‖; (4) 相容性:对任意A ,B ∈R n ×n ,都有‖A B ‖?‖A ‖‖B ‖;则称‖A ‖为Rn ×n上的⼀个矩阵范数.可以验证,对()ij n na ?=A ,12211Fn n a ij i j ?? ?=∑∑ ?==??A是⼀种矩阵范数,称之为Froben i us 范数,简称F 范数.由于矩阵与向量常常同时参与讨论与计算,矩阵范数与向量范数之间需要有⼀种联系. 定义1.8 对于给定的R n 上的⼀种向量范数‖x ‖和R n ×n 上的⼀种矩阵范数‖A ‖,如果满⾜‖A x ‖?‖A ‖‖x ‖,则称矩阵范数‖A ‖与向量范数‖x ‖相容.上⾯的定义1.7是矩阵范数的⼀般定义,下⾯我们通过已给的向量范数来定义与之相容的矩阵范数.定义 1.9 设x ∈R n ,A ∈R n ×n ,对给出的⼀种向量范数v x ,相应地定义⼀个矩阵的⾮负函数m axvvx v≠=A x Ax.称之为由向量范数导出的矩阵范数,也称为算⼦范数或从属范数.由定义可得vvv≤A xAx,1max vvv==xAAx.算⼦范数满⾜矩阵范数⼀般定义中的条件(1)和(2)是显然的,现验证满⾜条件(3)和(4).对任意的A ,B ∈R n ×n ,有()1maxvvv =+=+xA B x11max max v vvvvvxx==≤+=+Ax BxAB1max vvv==xABABx1max vvvvvv=≤=xABxA.因此,算⼦范数满⾜矩阵范数⼀般定义中的条件(3)和(4).由常⽤的向量范数,可以导出与其相容的矩阵算⼦范数.定理1.5 设A ∈R n ×n ,记()ij n na ?=A ,则(1)11max nij i nj a ∞≤≤==∑A,称之为矩阵A 的⾏范数;(2) 111m ax nij j ni a ≤≤==∑A ,称之为矩阵A 的列范数;(3)2=A称之为矩阵A 的2范数或谱范数,其中,()max TλA A 表⽰T A A的最⼤特征值.证这⾥只对(1)和(3)给出证明,(2)的证明同理可得. 先证明(1):设x =(x 1,x 2,…,x n )T ≠0,不妨设A ≠0,则有1111max max nnij j ij i ni nj j xa x xa ∞∞≤≤≤≤===≤∑∑A .111max max nij xi nj a ∞∞∞=≤≤===∑AAx.设矩阵A 的第p ⾏元素的绝对值之和达到最⼤,即111max nnpj ij i nj j a a ≤≤===∑∑.取向量()12,,,Tn ξξξ= ξ,其中1,0,1,0.a pj j apjξ≥??=?-显然,‖ξ‖∞=1,⽽且1111m ax m axnn∞∞=≤≤===≥==∑∑xAA xA ξ.于是(1)得证.再证明(3):显然,A TA 是对称半正定矩阵,它的全部特征值均⾮负,设为120n λλλ≥≥≥≥ .由实对称矩阵的性质,各特征值对应的特征向量必正交.设对应的标准正交特征向量为12,,,nu u u ,即T i i i λ=A Au u (i =1,2,…,n),(u i ,u j )=δi j (i ,j=1,2,…,n).对向量x ∈R n ,‖x ‖2=1,可由R n 的⼀组基u i (i =1,2,…,n)线性表⽰,即有1niii c ==∑x u ,22211nii c===∑x11nnT Ti ii i i cc λλλ====≤=∑∑A xx A A x .另⼀⽅⾯,取ξ=u 1,显然有‖ξ‖2=1,211112T T Tλλ===A ξξA A ξu u .因此,2221m ax ===xAA x得证.由定理1.5可见,计算⼀个矩阵的⾏范数和列范数是⽐较容易的,⽽矩阵的2范数计算却不⽅便,但由于它有许多好的性质,所以在理论上还是有⽤的.例1.12 设矩阵1234-??=解 {}m ax 3,77∞==A,{}1m ax 4,66==A ,10141420T-??=-A A ()21014det 3041420Tλλλλλ--==-+-I A A ,求得115λ=+215λ=-因此25.46=≈A.定义1.10 设A ∈R n ×n 的特征值为λi (i =1,2,…,n),称()1max i i nρλ≤≤=A为A 的谱半径.谱半径在⼏何上可解释为以原点为圆⼼,能包含A 的全部特征值的圆的半径中最⼩者.例1.13 计算例1.12中矩阵的谱半径.解由A 的特征⽅程()2=--=-I A得12λ=,22λ=所以() 5.372ρ=≈A .定理1.6 设A ∈R n ×n ,则有()ρ≤A A .证设A x =λx ,x ≠0,且|λ|=ρ(A ),必存在向量y ,使x y T 不是零矩阵.于是()TTTTA ρλ==≤A xyxyxyA xy,即得ρ(A )?‖A ‖.例1.14 设矩阵A 与矩阵B 是对称的,求证ρ(A +B )?ρ(A )+ρ(B ).证因T =A A ,于是有()()()222max max 2A A AA ,即‖A ‖2=ρ(A ).同理‖B ‖2=ρ(B ).由于A +B =(A +B )T,因此()()()222ρρρ+=+≤+=+A B A BABA B .定理1.7 如果‖B ‖<1,则I ±B 为⾮奇异矩阵,且()111-±≤-I B B,这⾥的矩阵范数是指矩阵的算⼦范数.证若I ±B 奇异,则存在向量x ≠0,使(I ±B )x =0,故有ρ(B )?1,这与‖B ‖<1⽭盾,所以I ±B ⾮奇异.由于()()11--±=± I B I B I B ,于是得()()11--±≤+±I B I BI B .上的任意两种矩阵范数都是等价的,即对Rn ×n上的任意两种矩阵范数sA和t A ,存在常数c 1,c 2>0,使得12stsc c ≤≤AAA.由矩阵范数的等价性,我们可以⽤矩阵的范数描述矩阵序列的极限性质.定义1.11 设矩阵序列()()()kk n nijn na ??=∈A R,k=1,2,…,若存在()n nij n na **=∈A R,使得()lim k ijijk a a *→∞()lim k k *→∞=AA.可以验证()()lim lim 0k k k k **→∞→∞=?-=AA AA.评注本章介绍了数值计算的研究对象、误差及相关概念、数值计算的稳定性及构造算法的基本原则.考虑到矩阵计算的数值分析,本章还介绍了向量范数和矩阵范数的基本概念和常⽤定理.误差分析问题是数值分析中重要⽽困难的问题.误差的基本概念和误差分析的若⼲原则,对学习本课程是很有必要的.但是,作为⼯程或科学计算的实际问题则要复杂得多,往往要根据不同问题分门别类地进⾏分析.例如,由于舍⼊误差有随机性,有⼈应⽤概率的观点研究误差规律.在⼯程计算中,常⽤⼏种不同办法(包括实验⽅法)进⾏⽐较,以确定计算结果的可靠性.20世纪60年代以来,发展了两种估计误差的理论:⼀种是J.H.W i lk i nson 等⼈针对计算机浮点算法提出了⼀套预先估计的研究误差的⽅法,使矩阵运算的舍⼊误差研究获得了新发展;另⼀种是R .E.Moore 等⼈应⽤区间分析理论估计误差,开创了研究误差的新⽅法. 关于范数⽅⾯,所述内容是为以下各章服务的⼀些初步概念和常⽤的定理,对本书够⽤就可以了.例如只讨论了R n ×n 的范数,⽽没有顾及R n ×m .⼜例如介绍了R n 和R n ×n 上范数的等价性,此性质对有限维空间都是成⽴的,⽽对于C[a,b]则没有这个性质,这些都是赋范线性空间有关的问题,详细讨论这些问题是泛函分析的内容.习题 11.1 已知e=2.71828…,问下列近似值A x 有⼏位有效数字,相对误差界是多少? (1) x =e, A x =2.7; (2) x =e, A x =2.718; (3) x =e100, A x =0.027; (4) x =e100, A x =0.02718. 1.2 设原始数据的下列近似值每位都是有效数字:1x *=1.1021, 2x *=0.031, 3x *=56.430. 试计算(1) 1x *+2x *+3x *;(2),并估计它们的相对误差界.1.3 设x 的相对误差界为δ,求n x 的相对误差界.1.4 设x >0,x 的相对误差界为δ,求ln2的绝对误差界.1.5 为了使计算球体体积时的相对误差不超过1%,问测量半径R 时的允许相对误差界是多少?1.6 三⾓函数值取4位有效数字,怎样计算1-cos2°才能保证精度? 1.7 设0Y =28,按递推公式nY=1n Y --…,计算.若取27.982(5位有效数字),试问计算Y 100将有多⼤误差?1.8 求解⽅程25610x x ++=,使其根⾄少具有4位有效数字(≈27.982).1.9 正⽅形的边长⼤约为100 cm ,应怎样测量才能使其⾯积的误差不超过21cm ? 1.10 序列{yn}满⾜递推关系1101n n y y -=-,n=1,2,….若y 0 1.41(3位有效数字),计算到y 10时的误差有多⼤?这个计算过程稳定吗?1.11 对积分11n x n I x edx -=,n=0,1,…,验证101I e-=-,11n n I nI -=-.若取e -1≈0.3679,按递推公式11n n I nI -=-,⽤4位有效数字计算I 0,I 1,…,I 9,并证明这种算法是不稳定的.1.12 反双曲正弦函数为()(ln f x x =+.如何计算f(x )才能避免有效数字的损(1) sin x -siny ; (2) arctan x -arctany ;(3)2; (4)212xe-.1.14 已知三⾓形⾯积1sin 2s ab C=,其中C 为弧度,0π,且测量a,b,C 的误差分别为Δa,Δb,ΔC ,证明⾯积的误差Δs 满⾜s a b C s ab C≤++ .1.15 设P ∈R n ×n 且⾮奇异,⼜设‖x ‖为R n 上的⼀种向量范数,定义p=xP x.试证明‖x‖P 是R n 上的⼀种向量范数.1.16 设A ∈R n ×n 为对称正定矩阵,定义()12,A=xA x x .试证明‖x‖A 为R n 上的⼀种向量范数.1.17 设矩阵0.60.50.10.3??=2F≤≤AA,并说明‖A ‖F 与‖x‖2相容.1.19 设P ∈Rn ×n且⾮奇异,⼜设‖x‖为R n上的⼀种向量范数,定义范数‖x‖P =‖P x ‖.证明对应于‖x‖P 的算⼦范数1 p-=APAP.1.20 设A 为⾮奇异矩阵,求证:11m iny ∞-≠∞∞=A y yA.。
数值计算方法教案51
第5章 多项式逼近与曲线拟合教学目的 1. 理解连续函数空间,正交多项式理论;2. 掌握最佳平方逼近及最小二乘逼 近函数的求解方法;3. 理解非线性模型举例的有关知识的基础上会求模型的逼近函数。
教学重点及难点 重点是最佳平方逼近及最小二乘逼近函数的求解。
难点是会求非线性模型的逼近函数。
教学时数 6学时 教学过程§1 引言在科学计算中有下述两类逼近问题。
1.关于数学函数的逼近问题由于电子计算机只能做算术运算,因此,在计算机上计算数学函数(例如x x f e x f x sin )(,)(==等在有限区间上计算)必须用其他简单的函数来逼近(例如用多项式或有理分式来逼近数学函数,)且用它来代替原来精确的数学函数的计算。
这种函数逼近的特点是:(a )要求是高精度逼近;(b )要快速计算(计算量越小越好)。
2.建立实验数据的数学模型给定函数的实验数据,需要用较简单和合适的函数来逼近(或拟合实验数据)。
例如,已知)(x f y =实验数据mm y y y x f x x x x 2121)(希望建立)(x f y =数学模型(近似表达式),这种逼近的特点是: (a )适度的精度是需要的; (b )实验数据有小的误差;(c )对于某些问题,可能有某些特殊的信息能够用来选择实验数据的数学模型。
事实上,我们已经学过一些用多项式逼近一个函数)(x f y =的问题,例如 (1)用在0x x =点Taylor 多项式逼近函数 设)(x f y =在[a,b]上各阶导数)1,,1,0)(()(+=n i x fi 存在且连续,],[0b a x ∈,则有)()(!)())((')()(00)(000x R x x n x f x x x f x f x f n n n +-++-+=)()(x R x P n n +≡其中εε],,[,)()!1()()(10)1(b a x x x n f x R n n ∈-+=++在0x 和x 之间。
计算方法实验指导书
第一章 绪论一、主要要求通过实验,认真理解和体会数值计算的稳定性、精确性与步长的关系。
二、主要结果回顾: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)式的计算结果。
数值计算方法课后习题答案
第一章 绪论(12)1、设0>x ,x 的相对误差为δ,求x ln 的误差。
[解]设0*>x 为x 的近似值,则有相对误差为δε=)(*x r ,绝对误差为**)(x x δε=,从而x ln 的误差为δδεε=='=*****1)()(ln )(ln x x x x x , 相对误差为****ln ln )(ln )(ln x x x x rδεε==。
2、设x 的相对误差为2%,求n x 的相对误差。
[解]设*x 为x 的近似值,则有相对误差为%2)(*=x r ε,绝对误差为**%2)(x x =ε,从而nx 的误差为nn x x nxn x x n x x x **1***%2%2)()()()(ln *⋅=='=-=εε,相对误差为%2)()(ln )(ln ***n x x x nr==εε。
3、下列各数都是经过四舍五入得到的近似数,即误差不超过最后一位的半个单位,试指出它们是几位有效数字:1021.1*1=x ,031.0*2=x ,6.385*3=x ,430.56*4=x ,0.17*5⨯=x 。
[解]1021.1*1=x 有5位有效数字;0031.0*2=x 有2位有效数字;6.385*3=x 有4位有效数字;430.56*4=x 有5位有效数字;0.17*5⨯=x 有2位有效数字。
4、利用公式(3.3)求下列各近似值的误差限,其中*4*3*2*1,,,x x x x 均为第3题所给的数。
(1)*4*2*1x x x ++; [解]3334*4*2*11***4*2*1*1005.1102110211021)()()()()(----=⨯=⨯+⨯+⨯=++=⎪⎪⎭⎫ ⎝⎛∂∂=++∑x x x x x f x x x e nk k k εεεε;(2)*3*2*1x x x ;[解]52130996425.010********.2131001708255.01048488.2121059768.01021)031.01021.1(1021)6.3851021.1(1021)6.385031.0()()()()()()()()(3333334*3*2*1*2*3*1*1*3*21***3*2*1*=⨯=⨯+⨯+⨯=⨯⨯+⨯⨯+⨯⨯=++=⎪⎪⎭⎫⎝⎛∂∂=-------=∑x x x x x x x x x x x f x x x e n k k kεεεε;(3)*4*2/x x 。
(完整版)Mathematica数值分析和数值计算
第五章 数值分析和数值计算1. 如何求插值多项式给定n 个点( x i ,y i ),(i=1,2,…,n),构造一个次数不超过n-1的多项式函数f(x),使得f(x i )=y i ,则称f(x)为拉格朗日插值多项式。
可以证明该多项式函数由公式))...()(())...()((...))...()(())...()(())...()(())...()((1211212321231113121321--------++------+------=n n n n n n n n n n x x x x x x x x x x x x y x x x x x x x x x x x x y x x x x x x x x x x x x y y唯一给定。
Mathematica 提供了根据插值点数据计算拉格朗日插值多项式的函数InterpolatingPolynomial ,下面是其调用格式:InterpolatingPolynomial[data,var]作出以data 为插值点数据,以var 为变量名的插值多项式。
例:在多数情况下,我们构造插值函数的目的在于计算函数f(x)的值,而并不在意插值多项式的具体表示形式。
对于拉格朗日插值多项式,当n 较大时,得到的高次插值多项式由于截断误差和舍入误差的影响,往往误差较大。
此时在实际应用中,一般采用分段插值。
Mathematica 提供了分段插值函数Interpolation ,其使用格式为:Interpolation[data,InterpolationOrder->n]这里InterpolationOrder->n 指定插值多项式的次数,默认值为3。
此外数据data 中还可以包括插值点处的导数,格式为:{{x1,{y1,dy1}},{x2,{y2,dy2}},…}例:已知f(0)=0,f(1)=2,f’(0)=1,f’(1)=1,求3次插值多项式f(x),并计算f(0.72)和画出函数f(x)在[0,1]区间上的图形。
数值计算方法 第5章复习
第五章 常微分方程数值解法一、考核知识点:欧拉法,改进欧拉法,龙格-库塔法。
二、考核要求:1.熟练掌握用欧拉法,改进欧拉法求微分方程近似解的方法。
2.了解龙格-库塔法的基本思想;掌握用龙格-库塔法求微分方程近似解的方法。
3.了解稳定性。
三、重、难点分析例1 用欧拉法,预估——校正法求一阶微分方程初值问题⎩⎨⎧=-='1)0(y y x y ,在0=x (0.1)0,1近似解 解 (1)用1.0=h 欧拉法计算公式n n n n n n x y y x y y 1.09.0)(1.01+=-+=+,01n =,计算得 9.01=y 82.01.01.09.09.02=⨯+⨯=y(2)用预估—校正法计算公式1,0)(05.01.09.0)0(111)0(1=⎩⎨⎧-+-+=+=++++n y x y x y y x y y n n n n n n n n n计算得91.01=y ,83805.02=y例2、取0.1h =, 用改进欧拉法预测-校正公式求初值问题⎩⎨⎧=++='1)0(12y y x y 在0.10.2x =,处的近似值. 计算过程保留3位小数.解:改进欧拉法预测-校正公式为2n 12211111(,)(1)[(,)(,)](2)22n n n n n n n n n n n n n n n n n y y hf x y y h x y h h y y f x y f x y y x y x y ++++++⎧=+=+++⎪⎨=++=+++++⎪⎩,由h =0.1,x 0=0,y 0=1,x 1=0.1,有 ⎪⎩⎪⎨⎧=+++++==+++=227.1)2.11.0102(21.012.1)101(1.0122121y y , 由h =0.1,x 1=0.1,y 1=1.227,x 2=0.2,有 ⎪⎩⎪⎨⎧=+++++==+++=528.1)488.12.0227.11.02(21.0227.1488.1)227.11.01(1.0227.122222y y , 故,所求y (0.1)≈y 1=1.227 y (0.2)≈y 2=1.528。
数值计算方法及其应用
数值计算方法及其应用第一章引言数值计算方法是一种基于数学分析和计算机技术的计算方法,是概括了现代计算各个领域的一类方法。
随着计算机技术的不断进步,数值计算方法已经成为了计算机科学中的一个重要领域,涉及到计算机科学、数学、物理、工程等领域。
本文将从数值计算方法的基本概念、数值计算方法算法的分类、数值计算方法的优缺点以及数值计算方法的应用等方面加以探讨。
第二章数值计算方法的基本概念数值计算方法是使用数学方法和数值技术处理各种数学问题的一种方法。
它是一种解决数学问题的有效工具,不同于传统的数学方法,数值计算方法采用的是数值计算机计算技术,使得计算机可以精确计算、预测和模拟各种数学问题,如数值微积分、连续函数数值解、离散方程数值解等。
数值计算方法的核心概念就是数值算法,数值算法是指实现数值计算方法的算法,包括基于数学分析的算法和基于经验数据的算法。
第三章数值计算方法算法的分类数值计算方法算法可以分为以下几类:1.数值微积分算法2.解线性方程组的数值方法3.常微分方程的数值解法4.偏微分方程的数值解法5.数值优化方法6.数值统计算法7.数学模型的数值计算方法第四章数值计算方法的优缺点数值计算方法的优点:1.数值计算方法可以解决非常复杂和高度非线性的数学问题2.数值计算方法无所不能,可做大量的计算3.数值计算方法具有较高的可重复性和可验证性4.数值计算方法可以通过计算机进行高速计算,节省了人力成本和时间成本数值计算方法的缺点:1.数值计算方法的实现程序错误会导致计算结果失真2.数值计算方法对于计算精度的要求很高3.数值计算方法对于计算机硬件和软件的要求也很高第五章数值计算方法的应用数值计算方法已经被广泛应用于各个领域,如:1.科学研究:能够用计算机进行大规模复杂计算,计算机模拟得出科学研究结论,如气象学模拟,生命科学中的反应动力学分析等。
2.工程设计:例如结构力学分析、电路设计、流体力学分析和控制系统等。
3.数据科学:如数据挖掘、计算机视觉、自然语言处理、人脸识别等。
数值分析第五版第5章习题答案
第5章
)矩阵行列式的值很小。
)矩阵的范数小。
)矩阵的范数大。
(7)奇异矩阵的范数一定是零。
答:错误,
∞
•可以不为0。
(8)如果矩阵对称,则|| A||1 = || A||∞。
答:根据范数的定义,正确。
(9)如果线性方程组是良态的,则高斯消去法可以不选主元。
答:错误,不选主元时,可能除数为0。
(10)在求解非奇异性线性方程组时,即使系数矩阵病态,用列主元消去法产生的误差也很小。
答:错误。
对于病态方程组,选主元对误差的降低没有影响。
(11)|| A ||1 = || A T||∞。
答:根据范数的定义,正确。
(12)若A是n n的非奇异矩阵,则
)
(
cond
)
(
cond1-
=A
A。
答:正确。
A是n n的非奇异矩阵,则A存在逆矩阵。
根据条件数的定义有:
1
111111 cond()
cond()()
A A A
A A A A A A A
-
------
=•
=•=•=•
习题
如有侵权请联系告知删除,感谢你们的配合!。
丁丽娟《数值计算方法》五章课后实验题答案(源程序很详细,且运行无误)
丁丽娟《数值计算方法》五章课后实验题答案(源程序都是自己写的,很详细,且保证运行无误)我做的五章数值实验作业题目如下:第二章:1、2、3、4题第三章:1、2题第四章:1、2题第六章:2、3题第八章:1、2题第二章1:(1)对A进行列主元素三角分解:function [l u]=myfun(A)n=size(A);for k=1:nfor i=k:nsum=0;m=k;for j=1:(k-1)sum=sum+A(i,j)*A(j,k);ends(i)=A(i,k)-sum;if abs(s(m))<abs(s(i))m=i;endendfor j=1:nc=A(m,j);A(m,j)=A(k,j);A(k,j)=c;endfor j=k:nsum=0;for r=1:(k-1)sum=sum+A(k,r)*A(r,j);endu(k,j)=A(k,j)-sum;A(k,j)=u(k,j);endfor i=1:nl(i,i)=1;endfor i=(k+1):nsum=0;for r=1:(k-1)sum=sum+A(i,r)*u(r,k);endl(i,k)=(A(i,k)-sum)/u(k,k);A(i,k)=l(i,k);endend求A的列主元素三角分解:>>A=[1 1 1 1 1;1 2 3 4 5;1 3 6 10 15;1 4 10 20 35;1 5 15 35 70]; >>[L,U]=myfun(A)结果:L =1.0000 0 0 0 01.0000 1.0000 0 0 01.0000 0.5000 1.0000 0 01.0000 0.7500 0.7500 1.0000 01.0000 0.2500 0.7500 -1.0000 1.0000U =1.0000 1.0000 1.0000 1.0000 1.00000 4.0000 14.0000 34.0000 69.00000 0 -2.0000 -8.0000 -20.50000 0 0 -0.5000 -2.37500 0 0 0 -0.2500(2)求矩阵的逆矩阵A-1:inv(A)结果为:ans =5 -10 10 -5 1-10 30 -35 19 -410 -35 46 -27 6-5 19 -27 17 -41 -4 6 -4 1(3)检验结果:E=diag([1 1 1 1 1])A\Eans =5 -10 10 -5 1-10 30 -35 19 -410 -35 46 -27 6-5 19 -27 17 -41 -4 6 -4 1 2:程序:function d=myfun(a,b,c,d,n)for i=2:nl(i)=a(i)/b(i-1);a(i)=l(i);u(i)=b(i)-c(i-1)*a(i);b(i)=u(i);y(i)=d(i)-a(i)*d(i-1);d(i)=y(i);endx(n)=d(n)/b(n);d(n)=x(n);for i=(n-1):-1:1x(i)=(d(i)-c(i)*d(i+1))/b(i);d(i)=x(i);end求各段电流量程序:for i=2:8endb=[2 5 5 5 5 5 5 5];c=[-2 -2 -2 -2 -2 -2 -2];V=220;R=27;d=[V/R 0 0 0 0 0 0 0];n=8;I=myfun(a,b,c,d,n)运行程序得:I =8.1478 4.0737 2.0365 1.0175 0.5073 0.2506 0.1194 0.04773:(1)求矩阵A和向量b的matlab程序:function [A b]=myfun(n)for i=1:nX(i)=1+0.1*i;endfor i=1:nfor j=1:nA(i,j)=X(i)^(j-1);endfor i=1:nb(i)=sum(A(i,:));end求n=5时A1,b1及A1的2-条件数程序运行结果如下:n=5;[A1,b1]=myfun(n)A1 =1.0000 1.1000 1.2100 1.3310 1.46411.0000 1.2000 1.4400 1.72802.07361.0000 1.3000 1.69002.1970 2.85611.0000 1.4000 1.96002.74403.84161.0000 1.50002.25003.3750 5.0625 b1 =6.10517.4416 9.0431 10.9456 13.1875cond2=cond(A1,2)cond2 =5.3615e+005求n=10时A2,b2及A2的2-条件数程序运行结果如下:n=10;[A2,b2]=myfun(n)A2 =1.0000 1.1000 1.2100 1.3310 1.4641 1.6105 1.7716 1.94872.1436 2.35791.0000 1.2000 1.4400 1.72802.0736 2.4883 2.98603.58324.29985.15981.0000 1.3000 1.69002.1970 2.85613.71294.8268 6.2749 8.1573 10.60451.0000 1.4000 1.96002.74403.8416 5.3782 7.5295 10.5414 14.7579 20.66101.0000 1.50002.25003.3750 5.0625 7.5938 11.3906 17.0859 25.6289 38.44341.0000 1.60002.5600 4.0960 6.5536 10.4858 16.7772 26.8435 42.9497 68.71951.0000 1.70002.8900 4.9130 8.3521 14.1986 24.1376 41.0339 69.7576 118.58791.0000 1.8000 3.2400 5.8320 10.4976 18.8957 34.0122 61.2220 110.1996 198.35931.0000 1.9000 3.6100 6.8590 13.0321 24.7610 47.0459 89.3872 169.8356 322.68771.00002.0000 4.0000 8.0000 16.0000 32.0000 64.0000 128.0000 256.0000 512.0000b2 =1.0e+003 *0.0159 0.0260 0.0426 0.0698 0.1133 0.1816 0.2866 0.4451 0.6801 1.0230cond2=cond(A2,2)cond2 =8.6823e+011求n=20时A3,b3及A3的2-条件数程序运行结果如下:n=20;[A3,b3]=myfun(n)A3 =1.0e+009 *Columns 1 through 100.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000Columns 11 through 200.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0002 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0003 0.0005 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0003 0.0006 0.0013 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0003 0.0007 0.0015 0.0032 0.0000 0.0000 0.0000 0.0001 0.0001 0.0003 0.0006 0.0014 0.0032 0.0075 0.0000 0.0000 0.0000 0.0001 0.0002 0.0005 0.0012 0.0029 0.0070 0.0167 0.0000 0.0000 0.0001 0.0001 0.0004 0.0009 0.0023 0.0058 0.0146 0.0364 0.0000 0.0000 0.0001 0.0002 0.0006 0.0017 0.0044 0.0113 0.0295 0.0766 0.0000 0.0001 0.0002 0.0004 0.0011 0.0030 0.0080 0.0215 0.0581 0.1570 0.0000 0.0001 0.0002 0.0007 0.0018 0.0051 0.0143 0.0400 0.1119 0.31330.0000 0.0001 0.0004 0.0010 0.0030 0.0086 0.0250 0.0726 0.2105 0.61030.0001 0.0002 0.0005 0.0016 0.0048 0.0143 0.0430 0.1291 0.3874 1.1623b3 =1.0e+009 *Columns 1 through 100.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0002 0.0004 0.0010Columns 11 through 200.0025 0.0059 0.0132 0.0287 0.0606 0.1246 0.2494 0.4874 0.9316 1.7434cond2=cond(A3,2)cond2 =3.2395e+022由上述运行结果可知:它们是病态的,而且随着n的增大,矩阵的病态变得严重。
第五章 试验数据采集与处理【汽车试验学】
§5.2 计算机数据采集系统
计算机数据采集系统主要由多路模拟开关(MUX)、采样保 持器(SHA)、模数转换器(A/D)等组成。
1/3倍频带
汽车行驶平顺性是基于人体对振动的反应提出来的。人体对
振动的反应不仅在
三个轴向各不相同,而且在不同的频带
亦存在较大的差异。这里所说的频带是指1/3倍频带,即:将试
验所设定的分析频段按照如下关系分为若干个频带。
1
式中:
、
fu—/ f—l
23
分别为多个频带上的下限和上限频率。
为了方便表达每个频带上的数值,按1/3倍频带所分出的 每个频带均用中心频率 来表示,即:
பைடு நூலகம்
§5.3 动态试验数据处理
汽车性能试验的目的在于要了解汽车整车及各总成部 件性能的优劣,既需要建立一个指标体系对其进行评价。 不同的试验对象及同一试验对象的不同性能都对应着不 同的试验评价方法。限于篇幅,在此不可能对全部试验 对象的各项性能的评价问题一一进行讨论,所以仅以具 有代表性的汽车行驶平顺性试验为例讨论汽车试验的动 态数据处理问题。
2)
或
。
则连续时间函数 x(t可) 以由下式
x(t) t
sin (t nt) x(nt) t
n
t nt
唯一确定。 x(nt为) 第 点n 即 t n的函t 数值 。xn
采样定律表明,x(t只) 要满足 f 时fc 有 X ( f ), 则0 以
t 采1
2 fc
得的离散序列 能xn完 全表征连续函数 。x因(t)此,采样定律提
《数值计算方法》复习资料
实用文档《数值计算方法》复习资料第一章数值计算方法与误差分析第二章非线性方程的数值解法第三章线性方程组的数值解法第四章插值与曲线拟合第五章数值积分与数值微分第六章常微分方程的数值解法自测题课程的性质与任务数值计算方法是一门应用性很强的基础课,在学习高等数学,线性代数和算法语言的基础上,通过本课程的学习及上机实习、使学生正确理解有关的基本概念和理论,掌握常用的基本数值方法,培养应用计算机从事科学与工程计算的能力,为以后的学习及应用打下良好基础。
第一章数值计算方法与误差分析一考核知识点误差的来源类型;绝对误差和绝对误差限,相对误差和相对误差限,有效数字;绝对误差的传播。
二复习要求1.知道产生误差的主要来源。
2.了解绝对误差和绝对误差限、相对误差和相对误差限和有效数字等概念以及它们之间的关系。
3.知道四则运算中的误差传播公式。
实用文档三例题例 1 设x*= =3.1415926⋯近似值 x=3.14 = 0.314× 101,即 m=1,它的绝对误差是- 0.001 592 6 ,⋯有即 n=3,故 x=3.14 有 3 位有效数字 .x=3.14准确到小数点后第 2 位 .又近似值 x=3.1416,它的绝对误差是0.0000074 ⋯,有即 m=1,n= 5, x=3.1416 有 5 位有效数字 .而近似值x=3.1415,它的绝对误差是0.0000926 ⋯,有即 m=1,n= 4, x=3.1415 有 4 位有效数字 .这就是说某数有s 位数,若末位数字是四舍五入得到的,那么该数有s 位有效数字;例 2指出下列各数具有几位有效数字,及其绝对误差限和相对误差限:2.000 4-0.002 009 0009 000.00解因为 x1=2.000 4= 0.200 04× 101, 它的绝对误差限 0.000 05=0.5 × 10 1―5,即m=1,n=5, 故 x=2.000 4 有 5 位有效数字 . a1=2,相对误差限x2=- 0.002 00,绝对误差限0.000 005,因为 m=-2,n=3 ,x2=- 0.002 00 有 3 位有效数字 . a1=2 ,相对误差限r ==0.002 5实用文档x3=9 000 ,绝对误差限为0.5× 100,因为 m=4, n=4, x3=9 000 有 4 位有效数字, a=9 ,相对误差限r== 0.000 056x4=9 000.00 ,绝对误差限0.005,因为 m=4, n=6, x4=9 000.00 有 6 位有效数字,相对误差限为r== 0.000 000 56由 x3与 x4可以看到小数点之后的0,不是可有可无的,它是有实际意义的.例 3 ln2=0.69314718⋯,精确到10-3的近似值是多少?解精确到 10-3= 0.001,意旨两个近似值x1,x2满足,由于近似值都是四舍五入得到的,要求满足,近似值的绝对误差限应是=0.0005,故至少要保留小数点后三位才可以。
数值计算方法(第5章)1 深圳大学 科学与工程计算 数值分析 PPT课件
5
1 19, 75,50,50, 75,19 288
6
1 41, 216, 27, 272, 27, 216, 41 840
7
1 751,3577,1323, 2989, 2989,1323,3577, 751 17280
8
1 989,5888, 928,10496, 4540,10496, 928,5888,989 28350
其中
RT
[
f
]
(b a)3 12
f
'' (
)
(a,b)
y f (x)
f (x) Ln (x) Rn (x)
由Lagrannge插值,任何一的函数
都
L可n (x以) 近似l的j (x表) y示j是成f (x)的Lagrage插值多项式。
j0
其中
为简便起见,取节点为等分
h ba,x
25几个常用的求积公式的代数精度几个常用的求积公式的代数精度1t公式的代数精度公式具有一次的代数精所以xdxdxs公式的代数精度成立所以xdxdx27精确成立28精确成立同理可得n公式具有三次代数精度c公式具有五次代数精度
第5章 数值积分
引言
在数学分析中,我们学习过微积分基
本定理 Newton-Leibniz 公式:
Newton Cotes积分公式
定义 设f (x)是[a, b]上的连续函数,将
[a, b]区间等分n等分,取h
ba n
, xj
a kh
( j 0,1,2..., n), 记f (x j ) f j ,以{x j }0n 为节点作
f (x)的lagrage插值多项式,即
f (x) Ln (x) Rn (x)
第5章数值分析
y( xn+1 ) − y( xn ) y′( xn ) = f ( xn , y( xn )), 并用差商 近似替代 h 其中的导数 y′( xn ),结果有 y( xn+1 ) ≈ y( xn ) + hf ( xn , y( xn ))
已知, 用它代入上式右端进行计算, 设 y( xn )的近似值 yn已知, 用它代入上式右端进行计算,
y ( xn ) 1.0954 1.1832 1.2649 1.3416 1.4142 1.4832 1.5942 1.6125 1.6733 1.7321
例
y′ = − y − xy2 用 欧 拉 法 求 解 初 值 问 题 y(0) = 1
(0 ≤ x ≤ 0.6) 取步长 h = 0.2,计算过程保留 4 位小数。 位小数。 解 h = 0.2, f ( x, y) = − y − xy2,欧拉格式为 2 yn+1 = yn + hf ( xn , yn ) = yn − hyn − hxn yn (n = 0,1,2,L) = 0.2 yn (4 − xn yn )
1991 年, 科学家在阿尔卑斯山发现一个肌肉丰满的冰 人,据躯体所含碳原子消失的程度,通过求解微分方程, 据躯体所含碳原子消失的程度,通过求解微分方程, 年以前, 推断这个冰人大约遇难于 5000 年以前,类似的实例还有 很多。在微分方程的发展史中,数学家牛顿,莱布尼茨, 很多。在微分方程的发展史中,数学家牛顿,莱布尼茨, 贝努利家族,拉格朗日,欧拉, 贝努利家族,拉格朗日,欧拉,拉普拉斯等都做出了卓 越的贡献。 越的贡献。 在微分方程中,自变量的个数只有一个, 在微分方程中,自变量的个数只有一个,称为常微 分方程。 分方程。自变量的个数为两个或两个以上的微分方程叫 偏微分方程。微分方程中出现的未知函数最高阶导数的 偏微分方程。 阶数称为微分方程的阶数。 阶数称为微分方程的阶数。
计算方法 4方程求根的迭代法
x 1
代入式(5―5)的右端可得
x 3
x0 1 1.35721
x1 与 x0 相差较大 , 如果改用 x1 作为近似根代入式
(5―5)的右端得
x2 3
x1 1
k 0,1, 2,
表 5―2
对于一般形式的方程 (5―1), 首先我们设法将其化
而这相当于过p0引平行于x轴的直线交y=x于
Q1(x1,x2)
再过Q1引平行于y轴的直线交曲线y=g(x)于
p1(x1,x2) 仿此可得到点列 p0(x0,x1),p1(x1,x2),p2(x2,x3),… 若
lim pk p
k k
lim xk x
则迭代法收敛,见图5.4(a);否则迭代法发散,见图5.4(b)。
是所求方程(5―1)的根x。
我们把每次二分后的有根区间(ak,bk)的中点
1 xk (ak bk ) 2
作为所求根x的近似值,这样获得一个近似根的序列
x0,x1,x2,…,xk,… 该序列必以根x为极限,即
lim xk x
k
1 x xk (bk ak ) bk 1 ak 1 2
k q q x xk xk xk 1 x1 x0 1 q 1 q
(5―11)
因为,对任意正整数p有
xk p xk xk p xk p 1 xk 1 xk 2 xk 1 xk ( q p q p 1 q) xk xk 1 q q p 1 xk xk 1 1 q
2. 计算框图
例1 求方程 f(x)=x3-x-1=0 在区间 (1,1.5) 内的根。要求用四位小数计算 , 精确 到10-2。
数值计算第5章课后习题
5.1解:⎪⎩⎪⎨⎧--=--=+-=2212133112322211x x x x x x x x x⑴Jacobi 迭代法:⎪⎩⎪⎨⎧--=--=+-=+++2131312132112211221k k k k k k k k k x x x x x x x x k=0,…,n\x (0)=0∴x 11=1 x 21=1 x 31=1∴x 12=1 x 22=-1 x 32=-3g=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--200320220 ∴特征多项式为:λλλ--------221122∴λ1=λ2=λ3=0∴)(G ρ=0<1∴该迭代法收敛。
⑵Gauss-Swidel 迭代法:⎪⎩⎪⎨⎧--=--=+-=+++2131312132112211221k k k k k k k k k x x x x x x x x k=0,…,n\∴ x 1(0)=x 2(0)=x 3(0)=0∴x 11=1 x 21=0 x 31=-1∴x 12=-1 x 22=3 x 32=-3∴⎪⎪⎩⎪⎪⎨⎧+-=-=+-=+++k k k k k k k k x x x x x x x x 331322132112132221∴迭代阵为G=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--200320220 ∴特征多项式为λλλ-----20032022 ∴-λ(2-λ)2=0∴λ1=0 λ2=λ3=2∴)(G ρ=2>1∴该迭代法发散。
5.2解:调整顺讯后得:⎪⎪⎩⎪⎪⎨⎧-=-+-=-+=21112233112311312322411x x x x x x x x x ⑴Jacobi 迭代法:⎪⎪⎩⎪⎪⎨⎧-=-+-=-+=+++213131213211112211311311241k k k k k k k k k x x x x x x x x x ⑵Gauss-Swidel 迭代法: ⎪⎪⎩⎪⎪⎨⎧-=-+-=-+=+++213131213211112211311311241k k k k k k k k k x x x x x x x x x调整后得到的矩阵为A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----3331124111122 验证可得A 严格对角占优阵;∴Jacobi 迭代和Gauss-Swidel 迭代均收敛。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其中:Aij是元素aij的余子式。
利用逆阵求解法,即x=A-1b 利用Gauss消元法求解 利用LU分解法求解
建议:尽量避 免使用该法去 解方程组。
!前三种解法的真正意义是在理论上,而不是在实际的 数值计算上。
恰定方程的MATLAB求解
在MATLAB中,求解方程组Ax=b的指令十分简单:
x=A\ b
MATLAB指令:
指令 d=eig(A) [V,D]=eig(A) 意义 仅计算矩阵A的特征值 (以向量形式d存放) 计算矩阵A的特征向量阵V 和特征值对角阵D
例4-1:
A=[1,-3;2,2/3]; [V,D]=eig(A)
MATLAB运行结果: V= 0.7746 0.0430 - 0.6310i D= 0.8333 + 2.4438i 0
MATLAB程序:
a=[0.5 1.1 3.1; 2.0 4.5 0.36; 5.0 0.96 6.5] b=[6.0 0.02 0.96] B=b’ X=a\B X= -2.6000 1.0000 2.0000
与精确 解一致!
二、矩阵特征值和矩阵函数
矩阵A与向量x相乘,即表示矩阵对向量的变换。一般
输出FX,FY,FZ分别表示沿X,Y,Z方向的偏导数。
3)方向导数的可视化
•quiver(X,Y,U,V,scale) 在(X,Y)二维平面上,画(U,V) 表示的方向箭头 在(X,Y,Z)三维平面上, 画(U,V,W)表示的方向箭头
•quiver(X,Y,Z,U,V,W,scale) 说明:
• scale用来控制箭头的长度,例如scale=2时,将使自 动绘制的箭头长度乘2。
③+①*(-2) 消去③中x1
x1 x2 x3 6 4 x2 x3 5 4 x x 11 2 3
③+② 消去③中x2
x1 x2 x3 6 4 x2 x3 5 2 x3 6
回代
X*=(1,2,3)T
高斯消去法的条件
含有n个未知数的n个方程所构成的方程组成为恰定方
程组。
恰定方程组用矩阵、向量写成如下形式:
a11 a 式中:A 21 an1 a12 a22 an 2 a1n a2 n ann
AX=b
b1 b b 2 bn
Gauss主元素法
采用Gauss列主元消去法解 解:设方程组的增广矩阵为 A ,消去过程用矩阵变换表示为:
0.5 1.1 3.1 6.0 5.0 0.96 6.5 0.96 A 2.0 4.5 0.36 0.02 2.0 4.5 0.36 0.02 5.0 0.96 6.5 0.96 0.5 1.1 3.1 6.0 5.0 (1) 0 l21 0.4 l31 0.1 0 5.0 (2) 0 l32 0.243 0 0.96 0.96 4.12 2.24 0.364 1.0 2.45 5.90 6.5 0.96 0.96 4.12 2.24 0.364 0 2.99 5.99 6.5
回代求得
X=(-2.60,1.0,2.0)T
一、LU分解、行列式和逆
LU分解:
LU分解是采用高斯主元消去法,将矩阵A分解为主对角 线元素为1的下三角阵L,和上三角阵U的乘积。 为了保证主元消去策略的实施,一般说来,必须对被分 解矩阵实施行变换。因此有: LU=PA L为主对角线元素为1的下三角阵,U为上三角阵,P是 由0或1组成的行置换矩阵。
采用Gauss消去法解方程组:
0.5 1.1 3.1 x1 6.0 2.0 4.5 0.36 x 0.02 2 5.0 0.96 6.5 x3 0.96
其精确解为: X=(-2.60,1.0,2.0)T
x1 x x 2 xn
在线性代数中,最常见的解法有:
恰定方程组的求解
在线性代数中,最常见的解法有:
利用Cramer公式求解法
即: x
1 A11b1 A21b2 An1bn det A A1nb1 A2 nb2 Annbn
MATLAB指令:
roots(p) 求多项式p的根。p为多项式系数行向量。 求x3+2x+3=0的根。 roots([1 0 2 3])
ans = 0.5000 + 1.6583i 0.5000 - 1.6583i -1.0000
例:
求x2-2x-15=0的根。 roots([1 -2 -15])
第5章 数值计算
引言
讨论若干常见的数值计算问题:线性分析、一元
和多元函数分析、微积分、数据分析、常微分方程 求解等等。
重点是如何利用MATLAB进行数值计算,至于数
学描述、求解方法等则不再详述。以最简明的方式 阐述理论数学、数值数学和MATLAB计算指令间的 关系。
§3-1 矩阵运算
一、LU分解、行列式和逆
说来,向量在变换的作用下将会发生旋转、反射、放 大或缩小。
但是,对于任何一个矩阵,总存在一些特殊的向量,
在对其变换的作用下,向量的方向不变,而仅长短发 生变化。这种向量称为该矩阵的特征向量。它满足方 程 : Ax=λx 该方程称为矩阵A的特征方程,标量因子λ称为矩阵A 的特征值。
特征值问题在很多应用领域里占据极其重要的地位。
MATLAB指令为:[L,U,P]=lu(A)
LU分解示例
例:
a=[0.5 1.1 3.1; 2.0 4.5 0.36; 5.0 0.96 6.5] [L,U,P]=lu(a) c=L*U
d=P*a
一、LU分解、行列式和逆
矩阵的行列式的值:
det(A)
矩阵的逆阵:
inv(A)
恰定方程组的求解
! 指令中的斜杠“\”是“左除”符号。因为在方程 Ax=b中,A在变量x的左边,所以指令中的A必须在“\” 的左边,切不可放错位置。 ! 假若方程是xC=d的形式,那么将使用“右除”,即 指令为:x=d / C
恰定方程的MATLAB求解(示例)
求解方程组: 0.5
3.1 x1 6.0 2.0 4.5 0.36 x 0.02 2 5.0 0.96 6.5 x3 0.96 1.1
例4-3 用一个简单矩阵表现diff和g,8,9] Dx=diff(F) Dx_2=diff(F,1,2) [FX,FY]=gradient(F) [FX_2,FY_2]=gradient(F,0.5)
二、函数的零点
1、多项式的根
n n-1 欲求多项式:a1x a2 x ... an x an1 0 的根。
Gauss主元素法
Gauss主元素法: Gauss列主元素法:在每次消元前,首先找出列最大
元素,交换行,以列最大元素作为此次消元的主元素。
Gauss全主元素法:在每次进行消元前,首先找出矩
阵中所有元素的绝对值最大的元素,经过行列变换,将 该元素置于第1行第1列的位置后,再作高斯消元法。
Gauss主元素法
特征值代表矩阵所描写的系统的振型或模态。
特征值和特征向量的求取
理论数学的求解方法:
先根据 |A-λI|=0 求特征值λi(i=1,2,…,n),然后再 由Ax=λix求对应的特征向量。
!这种方法只对阶数为2、3、4的低阶矩阵适用,因此
该方法的意义主要是在教学上,而不是在真正的数值 计算上。
特征值和特征向量的求取
MATLAB中计算和绘制曲面法线的指令是: •surfnorm(X,Y,Z) 绘制(X,Y,Z)所表示的曲面的法线 给出(X,Y,Z)所表示 的曲面的法线数据
•[NX,NY,NZ]=surfnorm(X,Y,Z)
例4-2
y=-1:0.1:1; x=2*cos(asin(y));
%旋转曲面的“母线”
0.7746 0.0430 + 0.6310i
0 0.8333 - 2.4438i
§3-2 函数运算
一、函数的数值导数和切平面
1、法线
当用i,j,k表示直角坐标的单位向量时,曲面z=f(x,y) 在(x0,y0)处的法线n是:
n f f i j-k x y
2 2
f f 1 x y
[X,Y,Z]=cylinder(x,20);
%形成旋转曲面
surfnorm(X(:,11:21),Y(:,11:21),Z(:,11:21)); %在曲面上画法线 view([120,18]) %控制观察角
2、导数、偏导数与梯度
函数f(x,y)的偏导数为:
f ( x x, y ) - f ( x, y ) f x, y lim x 0 x x
•DX=diff(X,n,dim)
2)数值梯度
•[FX,FY]=gradient(F,h) 求二元函数的梯度
•[FX,FY,FZ,…]=gradient(F,h1,h2,h3,…) 求多元函数的梯度
说明: MATLAB约定:数组的“行”数据点沿X轴取得;“列” 数据点沿Y轴取得。 输入F是函数的数值矩阵; 输入h是函数沿坐标取点的步长。h1,h2,h3分别表示沿 X,Y,Z等方向的不同步长;步长可以省略,缺省时, 默认的步长为1。
LU分解:
LU分解是采用高斯主元消去法,将矩阵A分解 为主对角线元素为1的下三角阵L,和上三角阵 U的乘积。
Gauss 消去法
基本思想:设法消去方程组的系数矩阵A的主对角 线下的元素,而将Ax=b化为等价的上三角型方程 组,然后再通过回代过程便可以得到方程组的解。