数值分析实验报告 jacobi迭代和seidel迭代分析

数值分析实验报告 jacobi迭代和seidel迭代分析

ID:48308018

大小:82.01 KB

页数:7页

时间:2019-11-06

数值分析实验报告 jacobi迭代和seidel迭代分析_第1页
数值分析实验报告 jacobi迭代和seidel迭代分析_第2页
数值分析实验报告 jacobi迭代和seidel迭代分析_第3页
数值分析实验报告 jacobi迭代和seidel迭代分析_第4页
数值分析实验报告 jacobi迭代和seidel迭代分析_第5页
资源描述:

《数值分析实验报告 jacobi迭代和seidel迭代分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数值分析实验报告一、实验目的1、了解熟悉jacobi迭代法和seidel迭代法的解法2、将原理与matlab语言结合起来,编程解决问题3、分析实验结果二、实验题目设线性方程组为考察用jacobi迭代法和seidel迭代法求解该线性方程组的收敛情况。如果收敛,给出误差满足的解。三、实验原理将A作如下分解这里Jacobi迭代矩阵为Seidel迭代矩阵为它们的迭代格式都可化为则迭代格式对任何初值都瘦脸的充要条件是迭代矩阵谱半径Jacobi迭代矩阵的特征方程为Seidel迭代矩阵的特征方程为四、实验内容用matlab编写计

2、算jacobi迭代矩程序,建立m文件如下:function[M]=BJ(A)D=diag(diag(A));L=tril(-A)+D;U=triu(-A)+D;M=inv(D)*(L+U);输入:>>A=[201-3-1;31807;-1240-2;10-15];>>[M]=BJ(A)M:M=0-0.05000.15000.0500-0.166700-0.38890.0250-0.050000.0500-0.200000.20000则jacobi迭代矩阵为:用matlab求jacobi迭代矩阵的特征根的算法如下:>

3、>A=[0-0.050.15-0.05;-0.6700-0.39;0.025-0.0500.05;-0.200.20];[V,D]=eig(A)V=-0.1892+0.0450i-0.1892-0.0450i-0.3812-0.5005-0.9467-0.94670.88670.5461-0.1528-0.1181i-0.1528+0.1181i-0.2099-0.0466-0.1056+0.1325i-0.1056-0.1325i0.15610.6701D=-0.1774+0.0864i0000-0.1774-0

4、.0864i00000.219400000.1355则最大特征根为:0.2194则,所以jacobi迭代法收敛用matlab编程jacobi迭代法求根的算法:function[n,x]=jacobi(A,b,X,nm,w)%用雅克比迭代法求解方程组Ax=b%输入:A为方程组的系数矩阵,b为方程组右端的列向量,X为迭代初值构成的列向量,nm为最大迭代次数,w为误差精度%输出:x为求得的方程组的解构成的列向量,n为迭代次数n=1;m=length(A);D=diag(diag(A));%令A=D-L-U,计算矩阵DL=

5、tril(-A)+D;%令A=D-L-U,计算矩阵LU=triu(-A)+D;%令A=D-L-U,计算矩阵UM=inv(D)*(L+U);%计算迭代矩阵g=inv(D)*b;%计算迭代格式中的常数项%下面是迭代过程whilen<=nmx=M*X+g;%用迭代格式进行迭代ifnorm(x-X,2)

6、的最终结果(并不是方程组的解)disp('在最大迭代次数内不收敛!');输入数据:>>A=[201-3-1;31807;-1240-2;10-15];b=[1;2;10;-1];X=[0;0;0;0];>>nm=100;>>w=1e-4;>>[n,x]=jacobi1(A,b,X,nm,w)迭代次数为n=6方程组的解为x=0.06870.16450.2352-0.1667n=6x=0.06870.16450.2352-0.1667所以,满足精度的根为x=0.06870.16450.2352-0.1667迭代次数为6

7、次用matlab编程计算seidel迭代矩阵算法为:function[M]=BS(A)D=diag(diag(A));L=tril(-A)+D;U=triu(-A)+D;M=inv(D-L)*U;输入:>>A=[201-3-1;31807;-1240-2;10-15];>>[M]=BS(A)M=0-0.05000.15000.050000.0083-0.0250-0.39720-0.00170.00500.071100.0097-0.02900.0042则seidel迭代矩阵为:用matlab编程求得seidel矩

8、阵的算法为:>>A=[0-0.050.150.05;00.0083-0.025-0.3972;0-0.00170.0050.0711;00.0097-0.0290.0042];[V,D]=eig(A)V=1.0000-0.1596+0.6750i-0.1596-0.6750i-0.910400.69650.69650.39240-0.1250+0.0028i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。