簡體   English   中英

為什么浮點型 object 不能在這里調用?

[英]Why is a float type object not callable here?

我正在嘗試在 Python 中制作泰勒級數,但我不知道如何刪除此錯誤:

x=Symbol("x")

def f(x):
    return ((math.e)**x)*sin(x)

y=f(x)

print(y.diff(x))

def Taylor(f,x,m,a):
    y=f(x)
    y2=f
    yargliige=0
    viga = 10**(-m)
    n=0
    while True:
        if n>10:
           return yargliige,n
        else:
           yargliige+=(y(x)*(x-a)**n)/(factorial(n))
           y=y.diff(x)
           if abs(yargliige(x)-f(x))<viga:
              return yargliige,n
        n+=1

print(Taylor(f,-0.3,3,-1))

我得到的錯誤信息:

Traceback (most recent call last):
  File "C:\Users\arman\Desktop\Numbrilised meetodid\praktikum10.py", line 31, in <module>
    print(Taylor(f,-0.3,3,-1))
  File "C:\Users\arman\Desktop\Numbrilised meetodid\praktikum10.py", line 25, in Taylor
    yargliige+=(y(x)*(x-a)**n)/(factorial(n))
TypeError: 'Float' object is not callable

好像原來的function不接受float,看起來很可笑。

您已經調用了y = f(x)來存儲從 function f返回的float 你不能做y()因為y是不可調用的。 y = f(x)更改為y = f ,它應該可以解決您的用例。

我看到您試圖將yargliige稱為 function yargliige(x) ,這是不適用的,因為它是一個變量而不是 function。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM