1、误差和MATLAB的计算精度,误差的来源,概念:数据和客观事物之间存在的差异。 1、模型误差 数学模型与实际的差异。 2、观测误差 观测数据与事物本身的差异。如,仪器、观测方法等。 3、截断误差 近似数值解与精确解析解的差异。如,无穷级数在实际计算中只能取有限项。 4、舍入误差 对参与运算的数据取有限位数据。如,四舍五入。3和4 属于数值计算误差的范畴。,绝对误差和相对误差,绝对误差:准确值x*-近似值x; 绝对误差限s:|x*-x|s; !绝对误差无法反映误差的好坏;相对误差:绝对误差与准确值的比; (x*-x)/x* 在实际中,用(x*-x)/x计算; 相对误差限se: |(x*-x)/x
2、| se,可用s/|x|计算; 数值计算中通常使用误差限,来估计误差。,浮点数及其运算特点,浮点表示法:允许小数点浮动的表示数字方法; 表示进制、p表示阶码; x0时,d1 0,浮点数表示具有唯一性,这样的浮点数称为规格化浮点数; t是计算机的字长 计算机中对阶码不同的数相加减时,先将数的阶码统一成较大者,然后运算,会发生大数吃掉小数的现象;,Matlab中的三种运算精度,数值算法:每个数值都取16位有效数字,按浮点数进行运算;运算速度快; 符号算法:按有理数计算方法运算,可得出有理表达式;运算慢; 可控精度算法:用digits(n)指定运算的有效数字;,计算中的几个原则,避免两个相近的数相减:运算后有效数字将减少; 避免两个数量级相差很大的数相加减:小的数会被吃掉; 减少运算次数:防止累积误差; 避免用绝对值过小的数作除数,分母不要接近零;,