780 likes | 1.02k Views
数 值 分析 游 雄 youx@njau.edu.cn 南京农业大学理学院 2010 年 9 月 -2011 年 1 月. Numerical Analysis. You Xiong youx@njau.edu.cn. College of Science Nanjing Agricultural University Sept. 2010-Jan. 2011. 评分 Grading Policy. Homework: 15%. Numerical Experiments: 15% (please send to youxiongnew@163.com).
E N D
数 值 分析游 雄youx@njau.edu.cn南京农业大学理学院2010年9月-2011年1月
Numerical Analysis You Xiong youx@njau.edu.cn College of Science Nanjing Agricultural University Sept. 2010-Jan. 2011
评分Grading Policy Homework: 15% Numerical Experiments: 15% (please send to youxiongnew@163.com) Final exam: 70%
李庆扬、王能超、易大义. 数值分析,第五版.北京,清华大学出版社, 2008. Text Book Reference Book J. Mathews and K. Fink. Numerical Solutions Using Matlab, 3rd edition. Clifford A Shaffer, 1999. (电子工业出版社,影印版,2002)
1.1 数值分析的对象、作用与特点 1.2 数值计算的误差 1.3 误差定性分析与避免误差危害 1.4 数值计算中算法设计的技术 1.5 数学软件
1.1 数值分析的对象、作用与特点 数值分析也称为计算数学,或称计算方法,是数学科学的一个主要分支. 计算数学研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现. 其基本过程为: (1)对实际问题建立数学模型; (2)对数学模型,设计数值计算方法,对给予理论分析; (3)利用数学软件编制程序,在计算机上计算出结果。
数值计算方法 上机计算求出结果 实际问题 建模 数学模型 算法设计 数学软件编程
数值分析的主要内容: (1)函数的数值逼近(插值)、与数据的曲线拟合 (2)数值线性代数(线性方程组与矩阵特征值的数值求解) (3)数值微分与数值积分 (4)非线性方程数值解 (5)微分方程数值解(常微和偏微)等. (6)数值优化等.
【例】微分方程初值问题: 的解是一个连续函数: 数值问题: 给出函数 在区间[a, b]内一系列离散点 上的近似值 近似值满足一定的精度要求. 数值计算的基本思想:近似 常用近似手段:连续问题离散化 → 数值问题
【算法研究的重要性】---- 以行列式的计算为例 常用算法: 其中 是1,2,…,n的一个全排列, 是 的逆序数. 乘法次数: (n-1)n! 用2亿次/秒的计算机:计算20阶行列式需732.8948年,计算100阶行列式需1.464910143年! Gauss列主元消去法(Ch5): n=20, n+1个行列式,需3060次乘除法.
数值算法:输入元+算子(运算序列)+输出元 算子包括: (1)简单操作:算术运算(+,-,×,/),逻辑运算 (2)宏操作:向量运算、数组传输、基本初等函数求值 面向计算机的数值算法有两类: (1)串行算法:单进程(适用于串行计算机) (2)并行算法:多进程(适用于并行计算机)
数值分析的特点: (1) 面向计算机 能根据计算机特点提供切实可行的有效算法. (2) 要有可靠的理论分析 分析算法的收敛性和数值稳定性,对误差进行估计. (3) 要有好的计算复杂性(可行性) 时间复杂性好:省时间;空间复杂性好:节省存储量. (4) 要有数值实验 通过计算机上数值试验证明算法的有效性.
实际问题 数学模型 1.2 数值计算的误差 1.2.1 误差来源与分类 (error) 模型误差:数学模型与实际问题之间出现的误差. 观测误差: 由观测数据过程产生的误差. 建模 (简化、近似) (这两种误差“数值分析”中不讨论) 截断误差(truncation error)或方法误差:数值方法求解数学模型时近似解与精确解之间的误差. 数值计算 数值结果
近似代替函数 , 【例】用泰勒(Taylor)多项式 则数值方法的截断误差是
舍入误差:由于字长的限制,在计算机用浮点数表示数据(原始数据及计算所得数据)时产生的误差. 【例】 用3.14159近似代替 产生的误差 就是舍入误差. 初始数据的误差通常也归结为舍入误差. 本节主要讨论舍入误差对计算的影响,而截断误差将在以后各章结合具体算法加以研究.
设 为准确值, 为 的一个近似值, 误差 可正可负,当绝对误差为正时近似值偏大,叫 强近似值; 通常准确值 是未知的, 因此误差 也未知. 1.2.2 误差与有效数字 定义1 称 为近似值的绝对误差, 简称误差. 当绝对误差为负时近似值偏小,叫弱近似值. 若能根据测量工具或计算情况估计出误差绝对值的一个
则 叫做近似值的误差限, 例如,用毫米刻度的米尺测量一长度 ,读出和该长度接近的刻度 , 它的误差限是 , 是 的近似值, 则有 . 如读出的长度为 , 虽然从这个不等式不能知道准确的 是多少,但可知 上界,即 它总是正数. 于是
对于一般情形 , 结果说明 在区间 内. 即 也可以表示为 但要注意的是,误差限的大小并不能完全表示近似值的 好坏.
虽然 比 大 4 倍, 例如,有两个量 , 要小得多,这说明 近似 的程度比 近似 的程度好. 所以除考虑误差的大小外,还应考虑准确值 本身的大小. 则 但 比
把近似值的误差 与准确值 的比值 称为近似值 的相对误差, 记作 . 由于真值 总是未知的, 作为 的相对误差, 条件是 较小, 通常取 实际计算中, 此时利用 知
是 的平方项级, 即 记作 , 故可忽略不计. 相对误差也可正可负,它的绝对值上界叫做相对误差 限,
上例中 与 的相对误差限分别为 可见 近似 的程度比 近似 的程度好. 根据定义,
当准确值 位数比较多时,常常按四舍五入的原则得 到 的前几位近似值 , 例如 取3位 取5位 即 它们的误差都不超过末位数字的半个单位,
若近似值 的误差限是某一位的半个单位, 该位到 的第一位非零数字共有 位,就说 有 位有效数字. (2.1) 其中 是0到9中的一个数字, 为整数, (2.2) 定义2 表示为 且
取 作为 的近似值, 就有3位有效数字, 取 , 就有5位有效数字. 按这个定义,如果
的5位有效数字近似数是8.0000,而不是8, 按四舍五入原则写出下列各数具有5位有效数字的 例1 近似数: 187.9325, 0.03785551, 8.000033, 2.7182818. 按定义, 上述各数具有5位有效数字的近似数分别是 187.93, 0.037856, 8.0000, 2.7183. 注意: 因为8只有1位有效数字.
若以km/s2为单位, ,它们都具有3位有效数字, 重力常数g, 如果以 m/s2 为单位, 例2 因为按第一种写法 按(2.1)的表示方法, 按第二种写法 这里 它们虽然写法不同,但都具有3位有效数字.
至于绝对误差限,由于单位不同所以结果也不同至于绝对误差限,由于单位不同所以结果也不同 但相对误差都是 注意相对误差与相对误差限是无量纲的,而绝对误差 与误差限是有量纲的. 例2说明有效位数与小数点后有多少位数无关.
在 相同的情况下, 越大则 越小,故有效位数越 多,绝对误差限越小. 从(2.2)可得到具有 位有效数字的近似数 ,其绝对 误差限为
设近似数 表示为 其中 是0到9中的一个数字, 为整数. 若 具有 位有效数字, 若 的相对误差限 , 则 至少具有 位有效数字. 定理1 则其相对误差限为 反之,
当 有 位有效数字时 由(2.1)′可得 证明 反之,由
知 至少有 位有效数字. 定理说明,有效位数越多,相对误差限越小.
要使 的近似值的相对误差限小于0.1%,需取 设取 位有效数字, 由于 故只要取 , 知 , 即只要对 的近似值取4位有效数字,其相对误差限就 小于0.1%. 此时由开方表得 . 例3 几位有效数字? 由定理1 就有
两个近似数 与 ,其误差限分别为 及 , 1.2.3 数值运算的误差估计 它们进行加、减、乘、除运算得到的误差限分别为
设 是一元函数, 的近似值为 ,以 近 似 ,其误差界记作 , 一般情况下,当自变量有误差时函数值也产生误差, 其误差限可利用函数的泰勒展开式进行估计. 利用泰勒展开 取绝对值得
假定 与 的比值不太大,可忽略 当 为多元函数,如计算 时. 的近似值为 , 则 的近似值为 函数值 的误差 为 于是可得计算函数的误差限 的高阶项, 如果 于是由泰勒展开,
(2.3) 于是误差限
而 的相对误差限为 (2.4)
已测得某场地长 的值为 , 宽 的值为 已知 . , 试求面积 的绝对误差限与相对误差限. 因 例4 解 由(2.3) 知
而 其中 于是绝对误差限 相对误差限
1.3 误差定性分析与避免误差危害 一个工程或科学计算问题往往要运算千万次,由于每 步运算都有误差,如果每步都做误差分析是不可能的,也 不科学. 因为误差积累有正有负,绝对值有大有小,都按最坏 情况估计误差限得到的结果比实际误差大得多,这种保守 的误差估计不反映实际误差积累.
考虑到误差分布的随机性,有人用概率统计方法,将考虑到误差分布的随机性,有人用概率统计方法,将 数据和运算中的舍入误差视为适合某种分布的随机变量, 然后确定计算结果的误差分布,这样得到的误差估计更接近实际, 这种方法称为概率分析法. 20世纪60年代以后对舍入误差分析提出了一些新方法,较重要的有Wilkinson的向后误差分析法(backward error analysis)和Moore的区间分析法(interval analysis)两种,但都不是十分有效. 为确保数值计算机的准确性,通常只对舍入误差进行定性分析.
计算 并估计误差. 由分部积分可得计算 的递推公式 (3.1) 若计算出 , 代入(3.2),可逐次求出 的值. 1.3.1 算法的数值稳定性 用一个算法进行计算,如果初始数据误差在计算中传播 使计算结果的误差增长很快,这个算法就是数值不稳定的. 例5
而要算出 就要先计算 . 并取 , 则得 , 若用泰勒多项式展开部分和 用4位小数计算, 截断误差 计算过程中小数点后第5位的数字按四舍五入原则舍入.
当初值取为 时,用(3.1)递推的计 算公式为 计算结果见表1-1的 列. 用 近似 产生的误差 就是初值误差, 它对后面计算结果是有影响的.
从表中看到 出现负值, 这与一切 相矛盾. (3.2) 因此,当 较大时,用 近似 显然是不正确的. 实际上,由积分估值得
主要就是初值 有误差 ,由此引起以后各步 计算的误差 满足关系 这说明 有误差 ,则 就是 的 倍误差. 计算公式与每步计算都是正确的,计算结果错误的原因 容易推得
例如, , 若 , 这就说明 完全不能近似 了. 它表明计算公式(A) 由(3.3)取 , 则 是数值不稳定的. 若换一种计算方案. 由 取