论文部分内容阅读
随着大规模工业过程系统的广泛应用,大规模计算过程得到广泛的研究。现有大部分的研究都在默认计算准确的基础上展开,如分析理论收敛性等。由于计算机采用二进制有限位表示方式,实际计算结果与理论计算值之间有可能存在浮点舍入误差。由于每次计算步骤引入的浮点舍入误差通常很小,貌似不会对计算结果产生太大的影响,因此并没有引起大家广泛关注。但如果计算过程较复杂,浮点舍入误差就可能对计算结果产生严重影响,带来灾难性的后果。针对复杂计算过程浮点舍入误差的必然性和潜在危害性,我们研究了浮点舍入误差的定量分析方法,取得了一定的成果。具体研究内容有以下几点:◆提出了一种基于区间分析的浮点舍入误差定量分析方法。该方法借鉴自动微分的思路和方法,将计算流程表示成基本元函数的组合,再利用区间算法对元函数的浮点误差进行计算,最后对元函数浮点误差进行累积,完成对整个计算流程的浮点舍入误差的定量分析。在这个思想的指导下,编写了MATLAB浮点舍入误差自动分析工具箱。利用该误差分析工具箱首次对航空弹投弹过程进行误差分析,分析了单精度,双精度下的误差扩散程度。◆分析了浮点舍入误差对收敛迭代算法的影响:通常浮点舍入误差累加越大,迭代计算结果有可能越不准确。在这个思想的指引下,我们提出了一种新型的舍入误差约束界迭代算法:用判断舍入误差的累积情况代替了传统固定迭代次数上界的停止标准。该算法能依据迭代计算的精度(单精度,双精度)而自动调整迭代停止次数上界,具有很强的自适应能力,仿真结果表明该算法能取得比传统算法更好的迭代效果。随后针对浮点舍入误差基本不影响牛顿迭代算法的事实,分析并发现了浮点舍入误差对收敛迭代算法产生影响的机理:浮点舍入误差的引入是否破坏了原有算法的收敛性。如果引入的浮点舍入误差不足以破坏收敛机制,则舍入误差仅仅对每步迭代值产生影响,不会影响最终迭代结果;但一旦破坏收敛机制,舍入误差会对迭代结果产生非常大的影响。◆为了处理多维复杂计算过程的误差分析,提出了新的向量,矩阵之间的区间运算符。在此基础上,扩展了MATLAB平台下的自动误差分析工具箱,使其能分析多维复杂计算过程的误差累积情况。