代码拉取完成,页面将自动刷新
from sympy import *
# 定义迭代函数
def exchange(i):
x = symbols('x')
eq = pow(x, 3)-85 # 定义初始函数 f(x) = 0 型
dx = diff(eq, x) # diff(a,b,c) 函数a对b求c阶导数
if i == 1: # 单根时
c = x - eq / dx
return c
else: # 多重根时
d = eq/dx
e = diff(d, x)
f = x - d/e
return f
change = exchange(1)
x0 = 4
n = 10
a = 0.5e-4
for k in range(1, n):
x = change.evalf(subs={'x': x0}) # 把x等于x0 带入计算
b = abs(x-x0)
x0 = x
print('k={:<4} Xk={:<{width}} 绝对误差为{:<{width}}'.format(k, x, b, width=20))
if b < a:
# print('k={:<4} Xk={:<{width}} 绝对误差为{:<{width}}'.format(k, x, b,width=20))
break
if k == n:
print('迭代次数达到设置上限')
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。