作业: 分别用 J 法和 G-S 法求解下列方程,并讨论结果。12312x#includeusing namespace std;/J 法解线性方程int main()int m,n,i,j,times=0,mtimes;double s,sum,max;coutmn;if(mAij;coutBi;
高斯-赛德尔迭代法matlab程序Tag内容描述:
1、作业: 分别用 J 法和 G-S 法求解下列方程,并讨论结果。12312x#includeusing namespace std;/J 法解线性方程int main()int m,n,i,j,times=0,mtimes;double s,sum,max;coutmn;if(mAij;coutBi;couts;coutmtimes;coutXi;Ti=Xi;/T存放上一次迭代结果dofor(i=0;imax)max=Si;while(maxs*s)/G-S 法解线性方程int main()int m,n,i,j,times=0,mtimes;double s,sum,sum1,max;coutmn;if(mAij;coutBi;couts;coutmtimes;coutXi;Ti=Xi;/T存放上一次迭代结果dofor(i=0;imax)max=Si;while(maxs*s)cout“该方程组的解为:“endl;for(i=0;im;i+)coutXi“ “。
2、第 1 页西安财经学院本 科 实 验 报 告学 院( 部 ) 统计学院 实 验 室 数学专业实训基地 课 程 名 称 大学数学实验 学 生 姓 名 董童丹(编程)杨媚(实验报告)学 号 0804280125 0804280126 专 业 数学与应用数学 0801 教务处制二 0 一一年五月四日第 2 页用雅可比迭代法和高斯赛德尔迭代法解线性方程组实验报告开课实验室:实验室 313 2011 年 5 月 4 日 学院 统计学院 年级、专业、班 数学与应用数学 0801 班姓名 董童丹杨媚成绩课程名称大学数学实验实验项目名 称用雅可比迭代法和高斯赛德尔迭代法解线性方程组指导教师 严惠云教师。
3、数值分析实验五班级: 10 信计二班 学号:59 姓名: 王志桃 分数: 一实验名称高斯-赛德尔迭代法解线性方程组二实验目的1. 学会利用高斯赛德尔方法解线性方程组2. 明白迭代法的原理3. 对于大型稀疏矩阵方程组适用于迭代法比较简单三实验内容利用 Gauss-Seidel 迭代法求解下列方程组, 其中取 。361264081xx 0)(x四、算法描述由 Jacobi 迭代法中,每一次的迭代只用到前一次的迭代值,若每一次迭代充分利用当前最新的迭代值,即在计算第 个分量 时,用最新分量 , 代i)1(kix)1(kx)1(2k)1(-kix替旧分量 , ,就得到所谓解方程组的 Gauss-Seid。
4、0高斯-赛德尔迭代法的算法及程序设计设方程组 的系数矩阵的对角线元素 , 为迭代次数容许的最大Axb(1,2)in M值, 为容许误差。1 取初始向量令 k=0.2 对 i=1,2,n 计算 3 如果则输出结束;否则执行 44 如果则不收敛,终止程序;否则,转 2源程序:#include #include #define N 600void main()int i;double x4;double c45=10,-1,2,0,-11,0,8,-1,3,-11,2,-1,10,0,6,-1,3,-1,11,25;void GaussSeidel(double *,int,double);GaussSeidel(c0,4,x);for(i=0;iN)printf(“迭代发散 nn“);return;输出结果结果分析:从输出结果可以看出此方程组的迭代。
5、第八节 雅可比迭代法与高斯塞德尔迭代法一 雅可比迭代法设线性方程组 bAx(1)的系数矩阵 A 可逆且主对角元素 na,.21均不为零,令diagD并将 A 分解成 (2)从而(1)可写成bxA 令1fBx其中 D,I11. (3)以 为迭代矩阵的迭代法(公式) 11fxkk(4)称为雅可比(Jacobi)迭代法(公式),用向量的分量来表示,(4)为,.k,n.iabaxnij)k(jiii)k(i 20211(5)其中Tn,.x0201为初始向量.由此看出,雅可比迭代法公式简单,每迭代一次只需计算一次矩阵和向量的乘法.在电算时需要两组存储单元,以存放 kx及 1.例 1例 1 用雅可比迭代法求解下列方程组 24538072121.x.解 将方程组。
6、matlab中应用的高斯 -赛德尔迭代程序主程序如下:function X=gsdddy(A,b,X0,P,wucha,max1)D=diag(diag(A);U=-triu(A,1);L=-tril(A, -1);dD=det(D);if dD=0disp(请注意:因为对角阵D奇异,所以此方程无解 )elsedisp(请注意:因为对角阵距D非奇异,所以此方程有解 )iD=inv(D -L);B2=iD*U;f2=iD*b;jX=Ab;X=X0;n m=size(A);for k=1:max1X1=B2*X+f2;djwcX=norm(X1 -X,P);xdwcX=djwcX/(norm(X,P)+eps);if(djwcX A=10 3 1;2 -10 3;1 3 10; b=14;11;20;X0=0 0 0; X=gsdddy(A,b,X0,inf,0.001,100)请注意:因为对角矩阵 D 非奇异,所以此方程组有解。
7、一、 实验目的与要求对于线性方程组 692810731xx1. 用高斯-赛德尔迭代法求此方程组的近似解(终止迭代过程的最大允许迭代次数N,近似解的误差限 eps,均由用户设定) ;2. 通过数值实验说明,求此线性方程组的近似解时,高斯-赛德尔迭代法的收敛速度比雅可比迭代法的收敛速度要快一些。 (用同样精度要求的条件来比较迭代次数)二、 实验方案(程序源文件)运用 MATLAB 软件编辑 M 文件如下:function EX()a=input(请输入系数矩阵a :);b=input(请输入矩阵b:);N=input(请输入最大迭代次数N :);esp=input(请输入近似解的误差限: );if any(d。
8、 %-高斯赛德尔迭代法 -%-Gauss - Seidel iteration methodclear;clc;% A=10,-1,-2;-1,10,-2;-1,-1,5;% b=7.2,8.3,4.2;A=10,-1,-2;-1,10,-2;-1,-1,5;b=7.2,8.3,4.2;N=length(b); %解向量的维数fprintf(库函数计算结果:);x=inv(A)*b %库函数计算结果x=zeros(N,1);%迭代初始值%-(A=D-E-F)-D=diag(diag(A);E=-tril(A,-1);%下三角F=-triu(A,1);%上三角B=inv(D-E)*F;g=inv(D-E)*b;eps=0.0001;%相邻解的距离小于该数时,结束迭代%-开始迭代-for k=1:100 %最大迭代次数为 100fprintf(第%d 次迭代:,k);y=B*x+g;fprintf(n 与上次计算结果的距离(2 。
9、disp(划分为M*M 个正方形)M=5 %每行的方格数,改变M可以方便地改变剖分的点数u=zeros(M+1);%得到一个(M+1 )*(M+1 )的矩阵disp(对每个剖分点赋初值,因为迭代次数很高,所以如何赋初值并不重要,故采用对列线性赋值。)disp(对边界内的点赋初值并使用边界条件对边界赋值:)for j=1:M-1for i=1:M-1u(i+1,j+1)=100*sin(pi/M*j)/M*(M-i);%对矩阵(即每个刨分点)赋初值endendfor i=1:M+1u(1,i)=100*sin(pi*(i-1)/M);%使用边界条件对边界赋值u(1,M+1)=0;endutic %获取运行时间的起点disp(迭代次数为N)N=6 %迭代次数,改变N可以方便地改变迭。