实验四实验报告线性方程组的迭代解法_第1页
实验四实验报告线性方程组的迭代解法_第2页
实验四实验报告线性方程组的迭代解法_第3页
实验四实验报告线性方程组的迭代解法_第4页
实验四实验报告线性方程组的迭代解法_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验四 线性方程组的迭代解法一、 实验目的(1) 学会用Jacobi迭代法、Gauss- Seidel迭代法和超松弛迭代法求线性方程组解(2) 学会对各种迭代法作收敛性分析,研究求方程组解的最优迭代方法(3) 按照题目要求完成实验内容,写出相应的Matlab程序,给出实验结果(4) 对实验结果进行分析讨论(5) 写出相应的实验报告二、实验内容1.熟悉Jacobi迭代法,并编写Matlab程序matlab程序按照算法(Jacobi迭代法)编写Matlab程序(Jacobi.m)functionx,k,index=Jacobi(A,b,ep,it_max) 求解线性方程组的Jacobi迭代法,其中

2、, A为方程组的系数矩阵; b为方程组的右端项; ep为精度要求,缺省值1e-5; it_max为最大选代次数,缺省值100; x为方程组的解; k为迭代次数; index为指标变量 index=1表示迭代收敛到指定要求, , index=0表示迭代失败.if nargin<4 it_max=100;endif nargin<3 ep=1e-5;endn=length(A);k=0;x=zeros(n,1);y=x;index=1;while l for i=1:ny(i)=b(i) for j=1:n if j = i y(i)=y(i)-A(i,j)*x(j); end end

3、 if abs(A(i,i)<1e-10|k= it_max index=0; return; end y(i)=y(i)/A(i,i); end if norm(y-x,inf)<ep break; end e=y;k=k+1;end2. 熟悉Gauss-Seidel迭代法,并编写Matlab程序练习题1. 用Jacobi迭代法求方程组的解。修改上述程序,得到正确的源程序:functionx,k,index=Jacobi(A,b,ep,it_max)%£¥ Çó½âÏßÐÔ

4、3;½³Ì×éµÄJacobiµü´ú·¨,ÆäÖÐ,%£¥ AΪ·½³Ì×éµÄϵÊý¾ØÕó%£¥ bΪ·½³Ì×é&#

5、181;ÄÓÒ¶ËÏî%£¥ epΪ¾«¶ÈÒªÇó£¬È±Ê¡Öµ1e-5;%£¥ it_maxΪ×î´óÑ¡´ú´ÎÊý£¬È

6、77;Ê¡Öµ100;%£¥ xΪ·½³Ì×éµÄ½â%£¥ kΪµü´ú´ÎÊý%£¥ indexΪָ±ê±äÁ¿ index=1±íÊ&#

7、190;µü´úÊÕÁ²µ½Ö¸¶¨ÒªÇó,%£¥ index=0±íʾµü´úʧ°Ü.if nargin<4 it_max=100;endif nargin<3 ep=1e-5;endn=length(A);k=0;x=zeros(n,1);y=x;index

8、=1;while 1 for i=1:ny(i)=b(i) for j=1:n if j=i y(i)=y(i)-A(i,j)*x(j); end end if abs(A(i,i)<1e-10|k=it_max index=0; return; end y(i)=y(i)/A(i,i); end if norm(y-x,inf)<ep break; end x=y;k=k+1;end主函数:A=4 3 0;3 3 -1;0 -1 4b=24;30;-24x,k,index=Jacobi(A,b)输出结果:A = 4 3 0 3 3 -1 0 -1 4b = 24 30 -24y

9、= 24 0 0y = 6 30 0y = 6 10 -24y = 24 10 -6y = -1.5000 30.0000 -6.0000y = -1.5000 2.0000 -24.0000y = 24.0000 2.0000 -3.5000y = 4.5000 30.0000 -3.5000y = 4.5000 10.3333 -24.0000y = 24.0000 10.3333 -5.5000y = -1.7500 30.0000 -5.5000y = -1.7500 3.6667 -24.0000y = 24.0000 3.6667 -3.4167y = 3.2500 30.0000

10、 -3.4167y = 3.2500 10.6111 -24.0000y = 24.0000 10.6111 -5.0833y = -1.9583 30.0000 -5.0833y = -1.9583 5.0556 -24.0000y = 24.0000 5.0556 -3.3472y = 2.2083 30.0000 -3.3472y = 2.2083 10.8426 -24.0000y = 24.0000 10.8426 -4.7361y = -2.1319 30.0000 -4.7361y = -2.1319 6.2130 -24.0000y = 24.0000 6.2130 -3.28

11、94y = 1.3403 30.0000 -3.2894y = 1.3403 11.0355 -24.0000y = 24.0000 11.0355 -4.4468y = -2.2766 30.0000 -4.4468y = -2.2766 7.1775 -24.0000y = 24.0000 7.1775 -3.2411y = 0.6169 30.0000 -3.2411y = 0.6169 11.1962 -24.0000y = 24.0000 11.1962 -4.2056y = -2.3972 30.0000 -4.2056y = -2.3972 7.9812 -24.0000y =

12、24.0000 7.9812 -3.2009y = 0.0141 30.0000 -3.2009y = 0.0141 11.3302 -24.0000y = 24.0000 11.3302 -4.0047y = -2.4977 30.0000 -4.0047y = -2.4977 8.6510 -24.0000y = 24.0000 8.6510 -3.1674y = -0.4883 30.0000 -3.1674y = -0.4883 11.4418 -24.0000y = 24.0000 11.4418 -3.8372y = -2.5814 30.0000 -3.8372y = -2.58

13、14 9.2092 -24.0000y = 24.0000 9.2092 -3.1395y = -0.9069 30.0000 -3.1395y = -0.9069 11.5349 -24.0000y = 24.0000 11.5349 -3.6977y = -2.6511 30.0000 -3.6977y = -2.6511 9.6743 -24.0000y = 24.0000 9.6743 -3.1163y = -1.2557 30.0000 -3.1163y = -1.2557 11.6124 -24.0000y = 24.0000 11.6124 -3.5814y = -2.7093

14、30.0000 -3.5814y = -2.7093 10.0619 -24.0000y = 24.0000 10.0619 -3.0969y = -1.5464 30.0000 -3.0969y = -1.5464 11.6770 -24.0000y = 24.0000 11.6770 -3.4845y = -2.7577 30.0000 -3.4845y = -2.7577 10.3849 -24.0000y = 24.0000 10.3849 -3.0808y = -1.7887 30.0000 -3.0808y = -1.7887 11.7308 -24.0000y = 24.0000

15、 11.7308 -3.4038y = -2.7981 30.0000 -3.4038y = -2.7981 10.6541 -24.0000y = 24.0000 10.6541 -3.0673y = -1.9906 30.0000 -3.0673y = -1.9906 11.7757 -24.0000y = 24.0000 11.7757 -3.3365y = -2.8318 30.0000 -3.3365y = -2.8318 10.8784 -24.0000y = 24.0000 10.8784 -3.0561y = -2.1588 30.0000 -3.0561y = -2.1588

16、 11.8131 -24.0000y = 24.0000 11.8131 -3.2804y = -2.8598 30.0000 -3.2804y = -2.8598 11.0654 -24.0000y = 24.0000 11.0654 -3.0467y = -2.2990 30.0000 -3.0467y = -2.2990 11.8442 -24.0000y = 24.0000 11.8442 -3.2337y = -2.8832 30.0000 -3.2337y = -2.8832 11.2211 -24.0000y = 24.0000 11.2211 -3.0389y = -2.415

17、9 30.0000 -3.0389y = -2.4159 11.8702 -24.0000y = 24.0000 11.8702 -3.1947y = -2.9026 30.0000 -3.1947y = -2.9026 11.3509 -24.0000y = 24.0000 11.3509 -3.0325y = -2.5132 30.0000 -3.0325y = -2.5132 11.8918 -24.0000y = 24.0000 11.8918 -3.1623y = -2.9189 30.0000 -3.1623y = -2.9189 11.4591 -24.0000y = 24.00

18、00 11.4591 -3.0270y = -2.5943 30.0000 -3.0270y = -2.5943 11.9099 -24.0000y = 24.0000 11.9099 -3.1352y = -2.9324 30.0000 -3.1352y = -2.9324 11.5493 -24.0000y = 24.0000 11.5493 -3.0225y = -2.6620 30.0000 -3.0225y = -2.6620 11.9249 -24.0000y = 24.0000 11.9249 -3.1127y = -2.9437 30.0000 -3.1127y = -2.94

19、37 11.6244 -24.0000y = 24.0000 11.6244 -3.0188y = -2.7183 30.0000 -3.0188y = -2.7183 11.9374 -24.0000y = 24.0000 11.9374 -3.0939y = -2.9530 30.0000 -3.0939y = -2.9530 11.6870 -24.0000y = 24.0000 11.6870 -3.0157y = -2.7652 30.0000 -3.0157y = -2.7652 11.9478 -24.0000y = 24.0000 11.9478 -3.0783y = -2.9

20、609 30.0000 -3.0783y = -2.9609 11.7392 -24.0000y = 24.0000 11.7392 -3.0130y = -2.8044 30.0000 -3.0130y = -2.8044 11.9565 -24.0000y = 24.0000 11.9565 -3.0652y = -2.9674 30.0000 -3.0652y = -2.9674 11.7826 -24.0000y = 24.0000 11.7826 -3.0109y = -2.8370 30.0000 -3.0109y = -2.8370 11.9638 -24.0000y = 24.

21、0000 11.9638 -3.0543y = -2.9728 30.0000 -3.0543y = -2.9728 11.8189 -24.0000y = 24.0000 11.8189 -3.0091y = -2.8641 30.0000 -3.0091y = -2.8641 11.9698 -24.0000y = 24.0000 11.9698 -3.0453y = -2.9774 30.0000 -3.0453y = -2.9774 11.8491 -24.0000y = 24.0000 11.8491 -3.0075y = -2.8868 30.0000 -3.0075y = -2.

22、8868 11.9748 -24.0000y = 24.0000 11.9748 -3.0377y = -2.9811 30.0000 -3.0377y = -2.9811 11.8742 -24.0000y = 24.0000 11.8742 -3.0063y = -2.9057 30.0000 -3.0063y = -2.9057 11.9790 -24.0000y = 24.0000 11.9790 -3.0314y = -2.9843 30.0000 -3.0314y = -2.9843 11.8952 -24.0000y = 24.0000 11.8952 -3.0052y = -2

23、.9214 30.0000 -3.0052y = -2.9214 11.9825 -24.0000y = 24.0000 11.9825 -3.0262y = -2.9869 30.0000 -3.0262y = -2.9869 11.9126 -24.0000y = 24.0000 11.9126 -3.0044y = -2.9345 30.0000 -3.0044y = -2.9345 11.9854 -24.0000y = 24.0000 11.9854 -3.0218y = -2.9891 30.0000 -3.0218y = -2.9891 11.9272 -24.0000y = 2

24、4.0000 11.9272 -3.0036y = -2.9454 30.0000 -3.0036y = -2.9454 11.9879 -24.0000y = 24.0000 11.9879 -3.0182y = -2.9909 30.0000 -3.0182y = -2.9909 11.9393 -24.0000y = 24.0000 11.9393 -3.0030y = -2.9545 30.0000 -3.0030y = -2.9545 11.9899 -24.0000y = 24.0000 11.9899 -3.0152y = -2.9924 30.0000 -3.0152y = -

25、2.9924 11.9494 -24.0000y = 24.0000 11.9494 -3.0025y = -2.9621 30.0000 -3.0025y = -2.9621 11.9916 -24.0000y = 24.0000 11.9916 -3.0126y = -2.9937 30.0000 -3.0126y = -2.9937 11.9579 -24.0000y = 24.0000 11.9579 -3.0021y = -2.9684 30.0000 -3.0021y = -2.9684 11.9930 -24.0000y = 24.0000 11.9930 -3.0105y =

26、-2.9947 30.0000 -3.0105y = -2.9947 11.9649 -24.0000y = 24.0000 11.9649 -3.0018y = -2.9737 30.0000 -3.0018y = -2.9737 11.9941 -24.0000y = 24.0000 11.9941 -3.0088y = -2.9956 30.0000 -3.0088y = -2.9956 11.9707 -24.0000y = 24.0000 11.9707 -3.0015y = -2.9781 30.0000 -3.0015y = -2.9781 11.9951 -24.0000y =

27、 24.0000 11.9951 -3.0073y = -2.9963 30.0000 -3.0073y = -2.9963 11.9756 -24.0000y = 24.0000 11.9756 -3.0012y = -2.9817 30.0000 -3.0012y = -2.9817 11.9959 -24.0000y = 24.0000 11.9959 -3.0061y = -2.9970 30.0000 -3.0061y = -2.9970 11.9797 -24.0000y = 24.0000 11.9797 -3.0010y = -2.9848 30.0000 -3.0010y =

28、 -2.9848 11.9966 -24.0000y = 24.0000 11.9966 -3.0051y = -2.9975 30.0000 -3.0051y = -2.9975 11.9831 -24.0000y = 24.0000 11.9831 -3.0008y = -2.9873 30.0000 -3.0008y = -2.9873 11.9972 -24.0000y = 24.0000 11.9972 -3.0042y = -2.9979 30.0000 -3.0042y = -2.9979 11.9859 -24.0000y = 24.0000 11.9859 -3.0007y

29、= -2.9894 30.0000 -3.0007y = -2.9894 11.9976 -24.0000y = 24.0000 11.9976 -3.0035y = -2.9982 30.0000 -3.0035y = -2.9982 11.9882 -24.0000y = 24.0000 11.9882 -3.0006y = -2.9912 30.0000 -3.0006y = -2.9912 11.9980 -24.0000y = 24.0000 11.9980 -3.0029y = -2.9985 30.0000 -3.0029y = -2.9985 11.9902 -24.0000y

30、 = 24.0000 11.9902 -3.0005y = -2.9927 30.0000 -3.0005y = -2.9927 11.9984 -24.0000y = 24.0000 11.9984 -3.0024y = -2.9988 30.0000 -3.0024y = -2.9988 11.9918 -24.0000y = 24.0000 11.9918 -3.0004y = -2.9939 30.0000 -3.0004y = -2.9939 11.9986 -24.0000y = 24.0000 11.9986 -3.0020y = -2.9990 30.0000 -3.0020y

31、 = -2.9990 11.9932 -24.0000y = 24.0000 11.9932 -3.0003y = -2.9949 30.0000 -3.0003y = -2.9949 11.9989 -24.0000y = 24.0000 11.9989 -3.0017y = -2.9991 30.0000 -3.0017y = -2.9991 11.9943 -24.0000y = 24.0000 11.9943 -3.0003y = -2.9957 30.0000 -3.0003y = -2.9957 11.9991 -24.0000y = 24.0000 11.9991 -3.0014

32、y = -2.9993 30.0000 -3.0014y = -2.9993 11.9953 -24.0000y = 24.0000 11.9953 -3.0002y = -2.9965 30.0000 -3.0002y = -2.9965 11.9992 -24.0000y = 24.0000 11.9992 -3.0012y = -2.9994 30.0000 -3.0012y = -2.9994 11.9961 -24.0000y = 24.0000 11.9961 -3.0002y = -2.9970 30.0000 -3.0002y = -2.9970 11.9993 -24.000

33、0y = 24.0000 11.9993 -3.0010y = -2.9995 30.0000 -3.0010y = -2.9995 11.9967 -24.0000y = 24.0000 11.9967 -3.0002y = -2.9975 30.0000 -3.0002y = -2.9975 11.9995 -24.0000y = 24.0000 11.9995 -3.0008y = -2.9996 30.0000 -3.0008y = -2.9996 11.9973 -24.0000y = 24.0000 11.9973 -3.0001y = -2.9979 30.0000 -3.000

34、1y = -2.9979 11.9995 -24.0000y = 24.0000 11.9995 -3.0007y = -2.9997 30.0000 -3.0007y = -2.9997 11.9977 -24.0000y = 24.0000 11.9977 -3.0001y = -2.9983 30.0000 -3.0001y = -2.9983 11.9996 -24.0000y = 24.0000 11.9996 -3.0006y = -2.9997 30.0000 -3.0006y = -2.9997 11.9981 -24.0000y = 24.0000 11.9981 -3.00

35、01y = -2.9986 30.0000 -3.0001y = -2.9986 11.9997 -24.0000y = 24.0000 11.9997 -3.0005y = -2.9998 30.0000 -3.0005y = -2.9998 11.9984 -24.0000y = 24.0000 11.9984 -3.0001y = -2.9988 30.0000 -3.0001y = -2.9988 11.9997 -24.0000y = 24.0000 11.9997 -3.0004y = -2.9998 30.0000 -3.0004y = -2.9998 11.9987 -24.0

36、000y = 24.0000 11.9987 -3.0001x = -2.9998 11.9987 -3.0001k = 100index = 0练习题2. 用Gauss-Seidel迭代法求解上题的线性方程组,取。源程序:function x,k,index=GaussSeidel(A,b,ep,it_max)if nargin<4 it_max=100;endif nargin<3 ep=1e-5;endn=length(A);k=0;x=zeros(n,1);y=x;e=x;index=1;while 1 for i=1:n y(i)=b(i) for j=1:n if j

37、= i y(i)=y(i)-A(i,j)*x(j); end end if abs(A(i,i)<1e-10|k= it_max index=0; return; end y(i)=y(i)/A(i,i); e(i)=y(i)-x(i); x(i)=y(i); end if norm(e,inf)<ep break; end x=y;k=k+1;end x;return;主函数:A=4 3 0;3 3 -1;0 -1 4b=24;30;-24x,k,index=GaussSeidel(A,b)输出结果:A = 4 3 0 3 3 -1 0 -1 4b = 24 30 -24y =

38、24 0 0y = 6 30 0y = 6 4 -24y = 24 4 -5y = 3 30 -5y = 3.0000 5.3333 -24.0000y = 24.0000 5.3333 -4.6667y = 2.0000 30.0000 -4.6667y = 2.0000 6.4444 -24.0000y = 24.0000 6.4444 -4.3889y = 1.1667 30.0000 -4.3889y = 1.1667 7.3704 -24.0000y = 24.0000 7.3704 -4.1574y = 0.4722 30.0000 -4.1574y = 0.4722 8.1420 -24.0000y = 24.0000 8.1420 -3.9645y = -0.1065 30.0000 -3.9645y = -0.1065 8.7850 -24.0000y = 24.0000 8.7850 -3.8038y = -0.5887 30.0000 -3.8038y = -0.5887 9.3208 -24.0000y = 24.0000 9.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论