数值分析实验报告6_第1页
数值分析实验报告6_第2页
数值分析实验报告6_第3页
数值分析实验报告6_第4页
数值分析实验报告6_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、实验名称 :线性方程组迭代解法1)实验目的:1. 熟悉 matlab 编程。2. 学习线性方程组迭代解法的程序设计算法。2)实验题目:第一题 :研究解线性方程组ax=b 迭代法收敛速度。a 为 20 阶五对角距阵要求:(1)选取不同的初始向量x0 及右端向量b,给定迭代误差要求,用雅可比迭代和高斯-赛德尔迭代法求解,观察得到的序列是否收敛?若收敛,记录迭代次数, 分析计算结果并得出你的结论。(2)用 sor 迭代法求解上述方程组,松弛系数取 1 =1 for i=1:n m=0; % 此步也可以用ifj=i条件判定一下。for j=1:(i-1) m=m+a(i,j)*x(k,j); endf

2、or j=(i+1):n m=m+a(i,j)*x(k,j); end x(k+1,i)=(b(i)-m)/a(i,i); end l=0; % 判定满足条件使循环停止迭代。for i=1:n l=l+abs(x(k+1,i)-x(k,i); endif l=1 for i=1:n p=0;q=0; for j=1:(i-1) p=p+a(i,j)*x(k+1,j); endfor j=(i+1):n q=q+a(i,j)*x(k,j); end x(k+1,i)=(b(i)-q-p)/a(i,i); end l=0; % 判定满足条件使循环停止迭代。for i=1:n l=l+abs(x(k

3、+1,i)-x(k,i); endif l=1 if w=2|w=1 请重新输入 w的值, w在1与2之间 ; breakendfor i=1:n p=0;q=0; for j=1:(i-1) p=p+a(i,j)*x(k+1,j); endfor j=i:n q=q+a(i,j)*x(k,j); end x(k+1,i)=x(k,i)+w*(b(i)-q-p)/a(i,i); end l=0; % 判定满足条件使循环停止迭代。for i=1:n l=l+abs(x(k+1,i)-x(k,i); endif le breakend k=k+1; end% 输出所有的 x的值。 x(k+1,:)

4、 k 第二题: 代码:雅克比迭代法实现的函数function x = p211_1_jj(n) hn = get_hn(n); b = get_b(n); temp = 0; x0 = zeros(1, n); x_old = zeros(1, n); x_new = zeros(1, n); disp(now jacobi method!); disp(start with the vector that (0, 0, 0, .)t); for i = 1:n for k = 1:n x_old = x_new; temp = 0; for j = 1:n if(j = i) temp =

5、temp + hn(i, j) * x_old(j); end end x_new(i) = (b(i) - temp) / hn(i, i); end end x = x_new; end sor 迭代法实现的函数function x = p211_1_sor(n, w) hn = get_hn(n); b = get_b(n); temp01 = 0; temp02 = 0; x0 = zeros(1, n); x_old = zeros(1, n); x_new = zeros(1, n); disp(now successive over relaxtion method!); dis

6、p(start with the vector that (0, 0, 0, .)t); for i = 1:n for k = 1:n x_old = x_new; temp01 = 0; temp02 = 0; for j = 1:n if(j i) temp02 = temp02 + hn(i, j) * x_old(j); end end end x_new(i) = w * (b(i) - temp01 - temp02) / hn(i, i) + x_old(i); end x = x_new; end 5)实验结果:第一题雅克比( jacobi)迭代法此时初值全取 1; b=2.

7、2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2; yakebi(0.00001) ans = columns 1 through 9 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 columns 10 through 18 1.0000 1.0000 1.0000 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 columns 19 through 20 0.9787 0.

8、9793 k = 12 此时初值全取 1; b=2.5 1.9 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.9 2.5; yakebi(0.00001) ans = columns 1 through 12 1.0969 1.0707 1.0219 1.0103 1.0039 1.0016 1.0006 1.0003 1.0001 1.0001 1.0001 1.0001 columns 13 through 20 1.0003 1.0006 1.0016 1.0039 1.0103 1.0219 1.07

9、07 1.0969 k = 14 高斯赛得尔迭代法此时初值全取 1; b=2.2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2; gaoshisaideer(0.00001) ans = columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 columns 13 through 20 0.9999 0.9998 0.9995 0.998

10、9 0.9970 0.9941 0.9787 0.9793 k = 14 此时初值全取 1; b=2.5 1.9 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.9 2.5; gaoshisaideer(0.00001) ans = columns 1 through 12 1.0969 1.0707 1.0219 1.0103 1.0039 1.0016 1.0006 1.0003 1.0001 1.0001 1.0001 1.0001 columns 13 through 20 1.0003 1.0006

11、1.0016 1.0039 1.0103 1.0219 1.0707 1.0969 k = 14 超松驰法 caosongci(0.00001,1.5) ans = columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 25 caosongci(0.00001,1.4) ans

12、= columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 19 caosongci(0.00001,1.3) ans = columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.

13、0000 1.0000 1.0000 1.0000 columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 15 caosongci(0.00001,1.6) ans = columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.997

14、0 0.9941 0.9787 0.9793 k = 34 caosongci(0.00001,1.7) ans = columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 47 caosongci(0.00001,1.9) ans = columns 1 through 12 0

15、.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 150 第二题:对于雅克比迭代法,通过执行以下代码 p211_1_jj(6) p211_1_jj(8) p211_1_jj(10) 可以分别得到:now jacobi method! start with the vector that (0, 0, 0, .)t an

16、s = 2.4500 1.1036 0.6265 0.4060 0.2831 0.2071 now jacobi method! start with the vector that (0, 0, 0, .)t ans = 2.7179 1.4101 0.8524 0.5809 0.4221 0.3198 0.2497 0.1995 now jacobi method! start with the vector that (0, 0, 0, .)t ans = columns 1 through 9 2.9290 1.6662 1.0517 0.7423 0.5554 0.4315 0.34

17、45 0.2807 0.2325 column 10 0.1951 对于 sor 迭代法,执行相对应代码n=6, =1,1.25,1.5的时候 p211_1_sor(6, 1) now successive over relaxtion method! start with the vector that (0, 0, 0, .)t ans = 2.4500 1.1036 0.6265 0.4060 0.2831 0.2071 p211_1_sor(6, 1.25) now successive over relaxtion method! start with the vector that

18、 (0, 0, 0, .)t ans = 3.0625 0.2310 0.8704 0.3389 0.3141 0.2097 p211_1_sor(6, 1.5) now successive over relaxtion method! start with the vector that (0, 0, 0, .)t ans = 3.6750 -1.1009 2.0106 -0.3994 0.7670 -0.0384 与n=8, =1,1.25,1.5的时候 p211_1_sor(8, 1) now successive over relaxtion method! start with t

19、he vector that (0, 0, 0, .)t ans = 2.7179 1.4101 0.8524 0.5809 0.4221 0.3198 0.2497 0.1995 p211_1_sor(8, 1.25) now successive over relaxtion method! start with the vector that (0, 0, 0, .)t ans = 3.3973 0.4887 1.0898 0.5062 0.4501 0.3203 0.2573 0.2042 p211_1_sor(8, 1.5) now successive over relaxtion method! start with the vector that (0, 0, 0, .)t ans = 4.0768 -0.9424 2.2923 -0.2753 0.9252 0.0578 0.4071 0.1275 与n=10, =1,1.25,1.5的时候 p211_1_sor(10, 1) now successive over relaxtion method! start with the vector that (0, 0, 0, .)t ans = columns 1 through 9 2.9290 1.6662 1

温馨提示

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

评论

0/150

提交评论