数值分析实验之线性方程组的迭代求解(Python实现)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了数值分析实验之线性方程组的迭代求解(Python实现),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1702字,纯文字阅读大概需要3分钟。
内容图文
详细实验指导见上一篇,此处只写内容啦
实验内容: 求解如下4元线性方程组的近似解。
? Jacobi迭代过程
1 import numpy as np 2 3 A = np.array([[10,-1,2,0],[-1,11,-1,3],[2,-1,10,-1],[0,3,-1,8]]) 4 B = np.array([6, 25, -11, 15]) 5 x0 = np.array([0.0, 0, 0, 0]) 6 x = np.array([0.0, 0, 0, 0]) 7 8 times = 0 910while True: 11for i in range(4): 12 temp = 0 13for j in range(4): 14if i != j: 15 temp += x0[j] * A[i][j] 16 x[i] = (B[i] - temp) / A[i][i] 17 calTemp = max(abs(x - x0)) 18 times += 1 19if calTemp < 1e-5: 20break21else: 22 x0 = x.copy() 2324print(times) 25print(x)
运行结果:
?Gauss-Seidel迭代
1 import numpy as np 2 3 A = np.array([[10,-1,2,0],[-1,11,-1,3],[2,-1,10,-1],[0,3,-1,8]]) 4 B = np.array([6, 25, -11, 15]) 5 x0 = np.array([0.0, 0, 0, 0]) 6 x = np.array([1.0, 2, -1, 1]) 7 times = 0 8 9while True: 10for i in range(4): 11 temp = 0 12 tempx = x0.copy() 13for j in range(4): 14if i != j: 15 temp += x0[j] * A[i][j] 16 x[i] = (B[i] - temp) / A[i][i] 17 x0[i] = x[i].copy() 18 calTemp = max(abs(x - tempx)) 19 times += 1 20if calTemp < 1e-5: 21break22else: 23 x0 = x.copy() 2425print(times) 26print(x)
运行结果:
? SOR迭代法
1 import numpy as np 2 3 A = np.array([[10,-1,2,0],[-1,11,-1,3],[2,-1,10,-1],[0,3,-1,8]]) 4 B = np.array([6, 25, -11, 15]) 5 x0 = np.array([0.0, 0, 0, 0]) 6 x = np.array([1.0, 2, -1, 1]) 7 w = 1.2 8 times, MT = 0, 1000 910while times < MT: 11 tempx = x0.copy() 12for i in range(4): 13 temp = 0 14for j in range(4): 15if i != j: 16 temp += x0[j] * A[i][j] 17 x[i] = (B[i] - temp) / A[i][i] 18 x0[i] = x[i] 19 x = w * x + (1-w) * tempx 20 calTemp = max(abs(x - tempx)) 21 times += 1 22if calTemp < 1e-5: 23break24print(times) 25print(x)
运行结果:
原文:https://www.cnblogs.com/ynly/p/12828100.html
内容总结
以上是互联网集市为您收集整理的数值分析实验之线性方程组的迭代求解(Python实现)全部内容,希望文章能够帮你解决数值分析实验之线性方程组的迭代求解(Python实现)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。