您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第1章绪论yjs13
数值分析1数值分析(NumericalAnalysis)主讲:吴晓勤xqwu123@aliyun.com湖南科技大学数学与计算科学学院2013年9月数值分析2数值分析的学科别名•计算方法数值计算方法数值分析在工程设计和分析中得到了越来越广泛的重视,已经成为解决复杂的工程分析计算问题的有效途径,现在从汽车到航天飞机几乎所有的设计制造都已离不开数值计算,其在航空航天、汽车、土木建筑、电子电器、国防军工、船舶、铁道、石化、能源、天气预报、科学研究等各个领域的广泛应用已使设计水平发生了质的飞跃。主要表现在以下方面:第一,增加产品和工程的可靠性;第二,在产品的设计阶段发现潜在的问题;第三,经过分析计算,采用优化设计方案,降低原材料成本;第四,缩短产品投向市场的时间;第五,模拟试验方案,减少试验次数,从而减少试验经费。3超级计算使科学变得更直观数值分析4科学计算的重要性•科学计算是工程实践的重要工具•科学计算是继理论与实验后另一科学研究手段•科学计算和传统的科学方法——理论和实验相并列成为第三种科学研究方法1.1引论数值分析5现代科学研究的三大支柱理论研究科学实验科学计算计算数学数值分析6建立数学模型选取计算方法编写上机程序计算得出结果科学计算解题过程数值分析71.1引论什么是数值分析?“数值分析”就是研究在计算机上解决数学问题的理论和数值方法。•数值算法的构造:计算公式和算法步骤算法是指解决问题的步骤,由一些基本运算及运算顺序的规定构成的一个完整的解题步骤称为算法。•算法的理论分析:误差分析、收敛性、稳定性等评价算法的两个主要标准:速度和精度分析算法的两个主要方面:空间复杂度和时间复杂度时间复杂性即计算量:一个算法所需四则运算总次数.一个算法所需的乘除运算总次数,单位是flop.空间复杂性即存储量数值分析8();;1:7*;*;MatlabsxyxforisssyyBsend算法flopN14计算量(输入x,输出y)255x例1计算B:x255=x·x2·x4·x8·x16·x32·x64·x128存储量=2A:x255=x·x···x254数值分析9pxxxx32()3426计算多项式例2:的值。231,xxx由计算法:算出后再算。需乘法5次,加法3次,存储单元7个。()[(34)22]6pxxxx算法:需乘法3次,加法3次,存储单元6个。一般地,计算n次多项式的值0111)(axaxaxaxPnnnnn算法1、需乘法2n-1次,加法n次,存储单元2n+1个。数值分析10算法2、秦九韶算法(又称为Horner算法)需乘法n次,加法n次,存储单元n+3个。有递推公式nnnnPxxxxxaxaaaa1210()(((()))nnaskkkaxss10)(sxPn0,1,2,,1nk0111)(axaxaxaxPnnnnn数值分析11pyendkapxpnkfornap)(*0:1:1)(其原理为算法(秦九韶算法)(输入a(i)(i=0,1,…,n),x;输出y)flopnN计算量0121)))(((axaxaxaxannn注意数值分析12a11x1+a12x2+…+a1nxn=b1┆┆┆(1)an1+an2x2+…+annxn=bn由线性方程组的克莱姆(Cramer)规则可知,如果方程组(1)的系数矩阵A的行列式(一般记为D=|A|)不等于零,那末,这个方程组有唯一解,而且它们可以表示为xi=Di/D(i=1,…,n)这里,Di是指D中第i列元素用右端(b1,…bn)代替构成的行列式。Ax=bA可逆线性方程组Ax=b,当n=20时,用Cramer法则求解,运算次数约为9.7*1020,用每秒1000亿次的计算机也要算300年。用Gauss消元法求解,运算次数为3060。例3:求解n元线性方程组数值分析1321世纪信息社会的两个主要特征:“计算机无处不在”“数学无处不在”21世纪信息社会对科技人才的要求:--会“用数学”解决实际问题--会用计算机进行科学计算数值分析14数值分析课程的主要内容•插值和函数逼近•数值微分和数值积分•常(偏)微分方程数值解法•非线性方程的迭代法•数值代数:求解线性和非线性方程组的直接法和间接法•代数特征值问题的数值解法数值分析研究对象是根据数学模型提出的数值计算方法直到编程上机算出结果。1.2数值分析的研究内容和特点数值分析15数值分析的学科特点实用性理论性实践性1面向计算机,根据计算机的特点提供可行的有效算法;•只提供加减乘除和逻辑运算•串行机和并行机-超级计算2有可靠的理论分析:算法的收敛性、稳定性和误差分析;3有好的计算复杂性:时间和空间复杂性;4有充分的数值实验证明算法的有效性。数值分析16构造数值算法的基本思想近似替代离散化递推化数值分析17学习“数值分析”需注意如下几点1.要掌握算法的原理和思想2.要掌握算法的处理技巧,步骤和计算公式3.重视误差分析,理解收敛性,稳定性分析的理论4.做一定的理论分析证明与计算练习5.上机实践(Matlab)数值分析18•内容多,时间少;•课前自学(借一本参考书,研究型学习);•课堂能认真听(不完全按照书本讲);•课后多上机实践。•答疑:•E-mail:xqwu123@aliyun.com学习“数值分析”要求:数值分析19教材数值分析熊之光等编著(天津大学出版社)参考书目应用数值方法使用MATLAB和C语言RobertJ.Schilling&SandraL.Harris(机械工业出版社)数值分析数值计算方法计算方法等数值分析李庆扬、易大义、王能超编著(清华大学出版社)数值分析201.3计算机中数的定点表示和浮点表示小数点按约定方式标出一、定点表示SfS1S2Sn…数符数值部分小数点位置SfS1S2Sn…数符数值部分小数点位置或定点机小数定点机整数定点机原码补码反码–(1–2-n)~+(1–2-n)–(2n–1)~+(2n–1)–1~+(1–2-n)–2n~+(2n–1)–(1–2-n)~+(1–2-n)–(2n–1)~+(2n–1)数值分析21二、浮点表示N=S×rj浮点数的一般形式S尾数j阶码r基数(基值)计算机中r取2、4、8、16等当r=2N=11.0101=0.110101×210=1.10101×21=1101.01×2-10=0.00110101×2100计算机中S小数、可正可负j整数、可正可负规格化数二进制表示数值分析22三、举例例6.13将+写成二进制定点数、浮点数及在定点机和浮点机中的机器数形式。其中数值部分均取10位,数符取1位,浮点数阶码取5位(含1位阶符)。19128解:设x=+19128二进制形式定点表示浮点规格化形式[x]原=1,0010;0.1001100000[x]补=1,1110;0.1001100000[x]反=1,1101;0.1001100000定点机中浮点机中000x=0.0010011x=0.0010011x=0.1001100000×2-10[x]原=[x]补=[x]反=0.0010011000数值分析23计算机中数的运算•首先将两个数表示为浮点数,然后对两个浮点数作加减乘除运算,按以下规则:(1)加减法首先比较两数的阶码,将阶码较小的尾数向右移位,每移1位阶码加1,直至两数的阶码相等为止,此过程称为对阶;再将移位后的尾数多于计算机字长的部分进行四舍五入,之后对尾数进行加减运算,最后将尾数写成规格化形式。(2)乘法阶码相加,尾数相乘,得两倍字长尾数,最后将乘积的尾数舍入成规格化形式,并冠以乘积的符合(同号积为正,异号积为负)。(3)除法阶码相减,将被除数尾数扩大为双倍字长进行除法,得两倍字长的尾数,最后舍入成规格化形式,并冠以商的符合(同号商为正,异号商为负)。数值分析24110162.0)(xfl解分别记x,y的规格化浮点数为fl(x),fl(y),则010189.0)(yfl0110189.010162.0)()()(yflxflyxfl11110181.010019.010162.0)()34())(34()(1yxflflyxflzfl221110024073.010181.0133.010181.010133.0110240.0)3()4())3(4()(2yxflflyxflzfl)]10300.0()10181.0[(10400.011110110)603.0400.0()10603.0()10400.0(1110241.010241200.0例1.1设有两个实数x=1.623,y=0.189,假设机器浮点数中阶码是3位,尾数也是3位,试用机器计算z1=4/3(x+y),z2=4[(x+y)/3].数值分析251.4误差及有效数字用计算机进行实际问题的数值计算时,往往求得的是问题的近似解,都存在误差。误差是不可避免的,既要允许误差,又要控制误差,要重视误差分析,分析误差的来源,误差的传播及对误差作出估计。用计算机解决科学计算问题时,需要经历以下几个环节:实际问题建立数学模型确定数值计算方法编制程序上机算出结果实际问题的精确解与用计算机计算出来的数值结果之间就有差异,这种差异在数学上称为误差。数值结果是指在选择某种数值方法之后,编制程序正确,输入初始数据正确的情形下所获得的数值结果。数值分析261.4.1、误差的来源20(1)tlLtt1、数学模型001tLtLt记是金属棒在温度的长度,是度时金属棒的长度,求在任何温度下金属例棒的长度。根据热胀冷缩原理和物理实验,可建立如下数学模型:00660.00125310,0.00006810Lt这里是金属棒在时的长度,、为物理参数并有如下估计:数值分析272、四种误差模型误差数学模型与实际问题之间出现的这种误差称为模型误差。在例1中,Lt-lt就是模型误差。观测误差通过仪器观测,确定数学模型中的参数所引起这种的误差称为观测误差.在例1中的10-6就是观测误差。Sxxxx23311()12!3!xe求的例2近似值。xnexxxxn231111,2!3!!数值分析282、四种误差截断误差模型的准确解与某种数值方法的准确解之间的误差称为截断误差或方法误差。在例2中,就是截断误差。431()4!xeSxx舍入误差用计算机计算,由于计算机字长有限而在数值运算的每一步所产生的误差称为舍入误差。在例2中的用4位浮点机计算1/6所产生的误差就是舍入误差。10.16670.00003346数值分析29在数值计算方法中,主要研究截断误差和舍入误差(包括初始数据的误差)对计算结果的影响!例:利用ln(x+1)的Taylor公式:...)1(...)1ln(11441331221nnnxxxxxx实际计算时只能截取有限项代数和计算,如取前5项有:5141312112ln这里产生误差(记作R5)...101918171615R数值分析30例1:舍入误差590472.1066.1492.1设在一台虚构的4位数字的计算机上计算590.1066.1492.1舍入误差为0.000472例2:考虑Matlab简单程序formatlongx=4/3-1y=3*xz=1-y舍入误差分析数值分析31舍入误差对计算结果影响很大12311111236111132341247111345360xxx考察方:程组例1321xxx其解为783.008.183.1200.0250.0333.0250.0333.0500.0333.0500.0000.1321xxx数字如果把系数舍入成三
本文标题:第1章绪论yjs13
链接地址:https://www.777doc.com/doc-2154257 .html