- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验1基于Rn中变分原理的迭代法的研究与实例分析一、实验目的研究基于变分原理以及相应问题空间的特征来设计数值求解算法这一比较普遍的数值求解技术。二、实验内容1、从理论上讨论与总结基于Rn中变分原理推出求解线性代数方程组迭代法的关键步骤以及从一般迭代法到按不同特征形成几个特殊具体的迭代法的形成过程;2、分析松弛因子与下降方向的影响;3、按不同特征选择几个线性代数方程组求解示例进行算法设计;4、用Matlab进行程序设计与运行实验。三、实验原理、方法和手段3.1 Rn中的变分原理设为一个阶对称正定矩阵,.则其中该定理把求解等价于将一个多元二次函数(也称泛函)极小化的问题。松弛法的任务是取向量序列,使收敛于的极小值。给定初值,选取,求使得在向量上达极小。分析可得最小的为为保证序列从总体上收敛最快,令可得迭代格式当时收敛。当取不同范围时对应的迭代可分为亚松弛完全松弛超松弛实践表明,对某些矩阵用超松弛迭代比完全松弛收敛快。3.2坐标松弛在一般松弛法中,取则第i个分量的迭代格式为最佳松弛因子为其中为雅克比迭代矩阵。3.3最优斜量法取得最优斜量法迭代公式如下可验证。即是在点梯度方向的反方向。3.4实验方法选取实例研究松弛因子和迭代方向对结果的影响。四、实验条件台式计算机,Matlab软件试验平台。五、实验步骤5.1 理论分析根据变分原理的定义,推导迭代形式的关键在于找到使达到极小值的条件。为了使收敛最快,加入松弛因子,对某些矩阵用超松弛比完全松弛收敛快,具体见3.1节的分析。当下降方向取不同值时对结果影响不同。在一般松弛法中取,每步迭代使二次函数在方向下降最多,其过程类似赛德尔迭代,一般可达到较快的收敛速度。当取构成最优斜量法,使沿在的梯度反向,此时可达到最快的下降速度。具体见3.2和3.3节的分析。5.2 算法设计为了具体研究松弛因子和和下降方向对迭代过程的影响,设计坐标松弛法和最优斜量法的计算机实现算法。坐标迭代算法:输入A, b,初始值,松弛因子,容许误差err,容许最大迭代次数maxN.对i=1,2,…,n, 循环T = aii对j=1,2,…,i-1,循环al = al + A(i,j) * x(j,k+1);对j=1,2,…,n,循环au = au + A(i,j) * x(j,k);迭代:对i=1,2,…,n,计算x(k+1)=x(k)+ w *( b(i) - al - au )/A(i,i);若,输出x,否则,若kmaxN, k = k+1,转到③最优斜量算法:5.3 实例选择与程序实现实例选择为课本P277例8.7. 方程组为取初值, 最大迭代次数maxN=100, 容许误差err=.分别使用坐标松弛法和最优斜量法进行迭代,选择松弛因子分别为0.2, 0.4,…,1.8和最优松弛因子, 输出不同松弛因子达到容许误差内时需要的迭代次数,以及每次迭代的x值。程序选择使用matlab代码实现,代码请见附录1.5.4 结果分析坐标松弛算法中,当达到容许精度err时不同的松弛因子对应的迭代次数见表5-1.可见迭代次数在最优松弛因子处达到最小,表明此时收敛速度最快;松弛因子与最优松弛因子的距离越远,对应的迭代次数越多;总体来看,松弛因子在(1.0, 1.5)区间时收敛速度比较理想。表5-1 坐标松弛算法松弛因子与迭代次数对应关系松弛因子0.20.40.60.81.01.21.41.61.81.24迭代次数n100764030221317296512最优斜量算法中,当达到容许精度err时不同的松弛因子对应的迭代次数见表5-2。可见下降方向改变了松弛因子与迭代次数的对应关系。最少迭代次数比坐标松弛的最少迭代次数多,且起伏不是很大。表5-1 最优斜量算法松弛因子与迭代次数对应关系松弛因子0.20.40.60.81.01.21.41.61.81.24迭代次数n64433024444546476445六、实验总结通过该实验,从理论上讨论与总结基于Rn中变分原理推出求解线性代数方程组迭代法的关键步骤以及从一般迭代法到按不同特征形成几个特殊具体的迭代法的形成过程,分析了松弛因子与下降方向的影响;并用matlab编程实现了坐标松弛迭代和最优斜量算法,通过实例研究验证了松弛因子和下降方向对结果的影响。附录1实验1代码% filename: RelaxationIteration.m% 实验1 基于Rn中变分原理的迭代法的研究与实例分析% 实验例子:[4 3 0; 3 4 -1; 0 -1 4]*[x1; x2; x3] = [24; 30; -24];% 松弛因子取0.2,0.4,...,1.8,w0,其中w0是最优迭代松弛因子,通过调用OptimalW(A)求得% 初始条件是x=[1 1 1] ,控制最多迭代次数为100次,maxN =100; 容
文档评论(0)