[第八章算法基础.ppt
文本预览下载声明
例 计算积分序列 ,由于 解法1 向前迭代 可以采用迭代的解法求解. 计算初值 建立迭代格式 目录 下页 返回 上页 结束 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 解法2 向后迭代 利用上面不等式计算初值 建立迭代格式 目录 下页 返回 上页 结束 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 严重失真 目录 下页 返回 上页 结束 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 的显著性分析. 注 算法的稳定性不同于建立模型过程中因素 小结 向前迭代算法是一个稳定性不好的算法. 的舍入误差传播到 时增大5倍,如此进行, 传播到 时将增大 倍. 向后迭代算法是一个稳定的算法.虽然初始值 精度不高, 但每计算一步,舍入误差会减小 为原来的五分之一, 取得了很好的计算效果. 目录 下页 返回 上页 结束 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 四、数值算法设计注意事项 对于一个数值型算法除了其正确性(如收敛性), 研究其效率(如收敛速度),鲁棒性(如稳定性) 是很重要的,同时程序设计或实现时如下几个 问题也不可忽视: 4.1 减少计算次数 4.2 避免相近数相减 4.3 避免大数吃小数 4.4 避免很小的数做分母,防止溢出出现 4.5 正确使用实数相等的比较 目录 下页 返回 上页 结束 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 4.1 减少计算次数 设计算法时,好的算法能有效减少运算时间, 减小误差的积累.对计算机而言,乘除法花费 机时大大多于加减法,因此数值型算法以减 少乘除法运算次数为主. 例 一般多项式求值问题 秦九韶算法 目录 下页 返回 上页 结束 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 4.2 避免相近数相减 两个相近数相减会快速消减有效数字的位数. 例 和 都有5位有效数字,但是 只有1位有效数字. 注、通过改变算法可以避免这种现象. 例 已知 解法1 解法2 1位有效 数字 4位有效 数字 目录 下页 返回 上页 结束 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 一些避免相近数相减算法 目录 下页 返回 上页 结束 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 4.3 避免大数吃小数 定义 在计算机做加法时,两加数的指数 先向大指数对齐,再将浮点部分相加,如 两个数指数相差太大,就会出现小数无法 加进去的现象. 例 、用单精度计算 的根 解法1 求根公式 解法2 根与系数关系 错误 目录 下页 返回 上页 结束 E
显示全部