【发布时间】:2022-01-10 03:03:32
【问题描述】:
我尝试使用 newton raphson 方法计算函数的导数,但出现以下错误:
import numpy as np
import matplotlib.pyplot as plt
import sympy as sym
acc = 10**-4
x = sym.Symbol('x')
def p(x): #define the function
return 924*x**6 - 2772*x**5 + 3150*x**4 - 1680*x**3 + 420*x**2 - 42*x + 1
p_prime = sym.diff(p(x))
def newton(p,p_prime, acc, start_val):
x= start_val
delta = p(x)/p_prime(x)
while abs(delta) > acc:
delta = p(x)/p_prime(x)
print(abs(delta))
x =x- delta;
return round(x, acc);
a = newton(p, p_prime,-4, 0)
错误是:
delta = p(x)/p_prime(x)
TypeError: 'Add' object is not callable
【问题讨论】:
标签: python typeerror sympy derivative newtons-method