当前位置:   article > 正文

jacobi迭代-python_python实现jacobi迭代

python实现jacobi迭代

相关公式:(老师的ppt)

代码:

  1. import numpy as np
  2. #输入A、b
  3. n=3
  4. A=np.array([[10,-2,-1],
  5. [-2,10,-1],
  6. [-1,-2,5]],dtype=np.float_)
  7. b=np.array([[3,15,10]]).T
  8. #初始化xk+1,xk
  9. xk=np.zeros((3,1),dtype=np.float_)
  10. xk1=np.zeros((3,1),dtype=np.float_)
  11. #生成D、L、U
  12. D=np.diag(np.diag(A))
  13. # D=[[10,0,0],
  14. # [0,10,0],
  15. # [0,0,5]]
  16. L=-np.tril(A,k=-1)
  17. # L=[[0,0,0],
  18. # [-1,0,0],
  19. # [-1,-1,0]]
  20. U=-np.triu(A,k=1)
  21. # U=[[0,-1,-2],
  22. # [0,0,-2],
  23. # [0,0,0]]
  24. #计算M、g
  25. M=np.linalg.inv(D)@(L+U)
  26. g=np.linalg.inv(D)@b
  27. #迭代
  28. for i in range(10):
  29. print(xk)
  30. xk1=M@xk+g
  31. xk=xk1
  32. #结果
  33. print(xk.T)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/78123
推荐阅读
相关标签
  

闽ICP备14008679号