一、雅可比迭代法 对于线性方程组AX=b,我们首先将系数矩阵A分解为对角矩阵D、下三角矩阵L和上三角矩阵U:1.1雅可比迭代法的matlab代码 在这里,我们求解下面的带状方程(以下程序均是以求解该带状方程为例):............. functionX0=jacobi(A,b,X0,delta,max1)%输入-A代表线性方程组AX=b的系数矩阵%-b代表线性方程组AX=b右侧的数值%-X0代表线性方程组AX=b进行高斯-赛德尔迭代法求解的迭代初值%-delta代表余项AX(k)-B的范数允许误差%-max1代表迭代的次数%输出-X0代表通过雅可比迭代法求解线性方程组AX=b的
实验目的及要求:1、了解各迭代法的基本原理和特点;2、判断雅克比迭代、高斯-塞德尔迭代对任意初始向量的收敛性;3、完成雅克比迭代、高斯-塞德尔迭代算法的程序实现。实验内容:1、编写雅可比迭代法与高斯-赛德尔迭代法通用子程序,求解下列线性方程组,并考察迭代过程的收敛性。实验步骤与程序:Jacobi迭代法理论:Jacobi迭代法流程图: Jacobi迭代法的MATLAB主程序被调用的Jacobi.m文件function[x,k,index]=Jacobi(A,b,ep,N)n=length(A);k=1;index=1;x=zeros(n,1);y=zeros(n,1);whilek for
一、分别运用雅克比、高斯-赛德尔两种迭代方法计算如下方程: 解:由于系数方程组不满足严格行(列)对角优矩阵的条件,即迭代不收敛,故将方程组转化成以下形式: (一)Jacobi迭代法:迭代方程可以化为: 得迭代矩阵: 可以在Matlab编写出以下迭代程序,创建脚本函数文件名为Jacobi_solve.m: 创建好函数文件之后,新建脚本,输入A: 线性方程组的系数矩阵(n*n,非奇异)b: 方程组右边的常数项列向量n: 方程组维数x0: 初始值tol: 精度上限值N: 最大迭代次数调用函数Jacobi_solve.m: 在命令窗口可以看出,当取: 时,得: 查看程序结果验证: 依次收敛下去,
随机生成若干个nnn阶方阵与nnn阶向量构成Ax=bAx=bAx=b分别判断J法和GS法的收敛性是否能收敛报告中应生成部分不收敛的矩阵估计J法和GS法收敛速度哪个更快实现用J法和GS法解该方程组实验判断J法和GS法的收敛速度,并与理论估计作对比首先随机生成矩阵,判断它是否非奇异、判断对角矩阵D是否非奇异、判断J法和GS法是否都收敛,如果不满足就重新生成。复杂度很高得到矩阵后,通过ρ(J)\rho(J)ρ(J)与ρ(G)\rho(G)ρ(G)的大小可以估计哪种迭代法收敛速度更快。然后使用J法和GS法分别求解,当误差小于给定值时,退出循环。记录迭代次数,就可以验证之前的估计是否正确。有了上次实验中