Python 为什么我的函数不取导数并代入?
我正试图写一个代码,它接受一个函数,并使用泰勒级数来生成泰勒多项式。然而,当我尝试取函数的导数并替换我的中心('c')时,它给了我一个错误,我不知道该修复什么 我尝试过重命名函数,但手动输入函数时总是会出现此错误。如果我试着输入f(x),它说x在函数之前已经被调用了Python 为什么我的函数不取导数并代入?,python,Python,我正试图写一个代码,它接受一个函数,并使用泰勒级数来生成泰勒多项式。然而,当我尝试取函数的导数并替换我的中心('c')时,它给了我一个错误,我不知道该修复什么 我尝试过重命名函数,但手动输入函数时总是会出现此错误。如果我试着输入f(x),它说x在函数之前已经被调用了 import numpy as np from sympy import * import math as mt ############################################### def fac
import numpy as np
from sympy import *
import math as mt
###############################################
def factorial(m):
if m <= 0:
return 1
else:
return m*factorial(m-1)
x, h = symbols('x, h')
f = Function('f')
def fp(function, m = 10, c = 0, x0 = 1):
if m < 0 or type(m) != int:
raise ValueError('Value m must be a positive integer', m)
##Check if m is a positive integer
if type(c) not in (int, float):
raise ValueError('Value c must be one a Real Number', c)
##Check if c is valid
################################################
while i <= m:
p = p +((f.diff(x, i).subs(x,c)/(factorial(i)))*(x-x0)**i
i += 1
return p
## Defin Taylor
################################################
## Plots function
将numpy导入为np
从sympy进口*
将数学导入为机器翻译
###############################################
def阶乘(m):
如果我喜欢它,
现在修好了
import numpy as np
from sympy import *
import math as mt
def factorial(m):
if m <= 0:
return 1
else:
return m*factorial(m-1)
x, h = symbols('x, h')
f = Function('f')
print(diff(cos(x),x).subs(x,0)+diff(cos(x),x))
def fp(function, m = 10, c = 0, x0 = 1):
if m < 0 or type(m) != int:
raise ValueError('Value m must be a positive integer', m)
if type(c) not in (int, float):
raise ValueError('Value c must be one a Real Number', c)
i = 0
p=0
while i <= m:
p = p +(((function.diff(x, i).subs(x,c))/(factorial(i)))*(x-c)**i)
print(p)
i += 1
return p
将numpy导入为np
从sympy进口*
将数学导入为机器翻译
def阶乘(m):
如果m请显示完整准确的错误消息,包括traceback.fyi您缺少一个括号,请使用p=p+((f.diff(x,i).subs(x,c)/(阶乘(i))*(x-x0)**i)
除了错误消息之外,while
循环只在一次迭代后返回p
,因此它似乎是无用的