高斯-塞德尔迭代
import numpy as np
x = [0, 0]
err = 1
k = 0
while err > 0.0000001:
k = k+1
x[0] = 0.25*(1+x[1]-0.1*np.exp(x[0]))
x[1] = 0.25*(x[0]-(1/8)*x[0]*x[0])
err = max(abs(4*x[0]-x[1]+0.1*np.exp(x[0])-1), abs(-x[0]+4*x[1]+x[0]*x[0]/8))
print('第{}次迭代,误差为{}'.format(k, err))
print('迭代结果为', x)
简单迭代法
import numpy as np
x = [0, 0]
err = 1
k = 0
while err > 0.0000001:
k = k+1
x1 = [0, 0]
x1[0] = 0.25*(1+x[1]-0.1*np.exp(x[0]))
x1[1] = 0.25*(x[0]-(1/8)*x[0]*x[0])
x = x1
err = max(abs(4*x[0]-x[1]+0.1*np.exp(x[0])-1), abs(-x[0]+4*x[1]+x[0]*x[0]/8))
print('第{}次迭代,误差为{}'.format(k, err))
print('迭代结果为', x)