毕业论文

打赏
当前位置: 毕业论文 > 数学论文 >

迭代算法的应用研究(2)

时间:2024-01-15 22:09来源:毕业论文
作为国际上流行的计算机高级编程语言,Java语言拥有许多其他编程语言没有的优点。相比于汇编语言,Java语言具有较好的程序可读性与可移植性。而与一

作为国际上流行的计算机高级编程语言,Java语言拥有许多其他编程语言没有的优点。相比于汇编语言,Java语言具有较好的程序可读性与可移植性。而与一般的高级计算机编程语言相比,Java语言能够完成其他高级语言无法实现的某些功能,比如对内存地址的操作、位操作。总而言之,Java语言是一种同时具有一般高级语言和低级语言优点的计算机编程语言。除此之外,Java语言还有语言简洁、灵活,数据类型丰富,能够进行模块化设计等其它优点。

本文综合介绍了迭代算法的基本概念,对迭代算法进行了算法分析,并且结合Java语言的有关知识,给出了迭代算法在Java语言中实现的详细方法和程序源代码。最后结合实例进行分析比较,得出结论。

2 迭代法

2。1 基本概念

迭代法又被称之为辗转相乘法,被广泛的应用于计算机从而解决实际问题,迭代法的算法思路是根据旧值推导新值。与直接法相对应,顾名思义直接法就是根据条件直接解决问题,不需要反复迭代进行求解。迭代法分为近似迭代和精确迭代,其中近似迭代包含“二分法”、“牛顿迭代法”。迭代法借助计算机计算快、结果准的优势,让计算机反复执行一段代码,不断的通过旧值得到一系列的新值。从而帮助人们解决人力无法胜任的复杂、繁琐的计算工作。它极大解放了利用算盘演绎推算的时代,大大推进了科技的前进。

一般定义如下:假设给定线性方程组Y=BY+C(这里的Y、B、C同为n阶矩阵,说明任意线性方程组都可以转换成此形式),将公式 (初始时k=0)逐步带入上述公式,运用迭代求近似解的方法被称为迭代法(或称一阶定常迭代法)。如果当k趋向正无穷大时, 的极限存在且有界,不妨记为 ,则该方程组有解;否则方程组解不存在。与迭代法对应的解法是直接法,顾名思义直接法就是直接地、一次性解决问题。通常这类问题简单,没有较复杂的逻辑关系,并且不需要通过迭代或递推来推导。例如求解方程,我们 可以一目了然的发现此方程的解为x=1。在我们解决问题时,总是优先考虑直接法,若果直接法不能解决所要解决的问题,接下来可以考虑利用迭代法,例如未知量很多,方程为非线性(五次以及更高次数的代数方程)。目前最常见的迭代方法是牛顿迭代法。还有最小二乘法、线性规划、非线性规划、遗传算法等等。本文主要研究牛顿迭代法。

2。2 算法思想文献综述

迭代算法就像士兵在进攻时采取的交替掩护的方式,当处在前面的士兵占领位置后,他会继续前进,然后将位置留给后面协同的战友。如果在一维坐标系上分别用A、B表示两个士兵所处的位置,规定前进方向为一维坐标的正方向。则总有A到B,B到A交替出现的现象。现在假设士兵中来了一个新兵胆小鬼,大家都挺照顾他。每次进攻都让他跟在大家的后面,每次当前面人占据了一个有利的位置,就把该有利位置让给他,前面的人继续前进占据有利位置。也就是说A始终在B的前面,A前进,然后将位置留给B,B跟随A前进直到占领所有地形,完成进攻。像这种两个人一前一后交替前进的方法被成为迭代法。

    为了更好的理解迭代法的算法思想,我们来看一个数学表达式,求某个数的阶乘。 。因为 n!=n*(n-1)!故代码的实现可以直接写成:

迭代算法的应用研究(2):http://www.youerw.com/shuxue/lunwen_200770.html
------分隔线----------------------------
推荐内容