1 Star 0 Fork 0

暮恋冰/数值分析

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
newton.py 853 Bytes
一键复制 编辑 原始数据 按行查看 历史
暮恋冰 提交于 2023-10-27 01:34 . add newton.py.
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('迭代次数达到设置上限')
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/twilight-love/numerical-analysis.git
git@gitee.com:twilight-love/numerical-analysis.git
twilight-love
numerical-analysis
数值分析
master

搜索帮助