代码拉取完成,页面将自动刷新
# -*- coding: utf-8 -*-
# -- Sheet --
import numpy as np
def Jacobi(A,b,x0,it_max,ep):
D=np.diag(np.diag(A))
U=-np.triu(A,1)
L=-np.tril(A,-1)
B=np.dot (np.linalg.inv (D),(L+U))
f=np.dot (np.linalg.inv(D),b)
x=np.dot(B,x0)+f
k=1
index=1
while np.linalg.norm(x-x0)>=ep:
x=x0
x=np.dot(B,x0)+f
k=k+1
if k>it_max:
index=0
break
return k,index,x
def G_S(A,b,x0,it_max,ep):
D=np.diag(np.diag(A))
U=-np.triu(A,1)
L=-np.tril(A,-1)
B=np.dot (np.linalg.inv (D-L),U)
f=np.dot (np.linalg.inv(D-L),b)
x=np.dot(B,x0)+f
k=1
index=1
while np.linalg.norm(x-x0)>=ep:
x=x0
x=np.dot(B,x0)+f
k=k+1
if k>it_max:
index=0
break
return k,index,x
A=[[4,3,0],[3,4,-1],[0,-1,4]]
b=[24,30,-24]
x0=[0,0,0]
print(Jacobi(A,b,x0,100,0.000001))
print(G_S(A,b,x0,100,0.000001))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。