使用sympy.diff求導(dǎo)
創(chuàng)新互聯(lián)建站主營江安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),江安h5小程序制作搭建,江安網(wǎng)站營銷推廣歡迎江安等地區(qū)企業(yè)咨詢
from?sympy?import?*init_printing(use_unicode=True)x?=?symbols("x")f?=?log(x)
一階導(dǎo)數(shù)
diff(f,?x)
二階導(dǎo)數(shù)可以傳入第三個參數(shù),表示階數(shù)
diff(f,?x,?2)
希望可以幫助到你。
你需要知道在任意點(diǎn)多的一階導(dǎo)數(shù)
也就是已知f'(n)=g(n)
那么f(n)=∫g(n)dn
計(jì)算這個積分就可以了
python有個符號計(jì)算的庫叫sympy,可以直接用這個庫求導(dǎo)數(shù)然后解導(dǎo)數(shù)=0的方程,參考代碼如下:
from sympy import *
x = symbols('x')
y = (x-3)**2+2*sin(x)-3*x+1
eq = diff(y, x)
solve(eq, x)
#coding:utf-8
#一階導(dǎo)
def?fun1(X,?WINDOW?=?5):
result?=?[]
for?k?in?range(WINDOW,?len(X)-WINDOW):
mid?=?(X[k+WINDOW]-X[k-WINDOW])/(2*WINDOW)
result.append(mid)
return?result
#二階導(dǎo)
def?fun2(X,?WINDOW?=?5):
result?=?[]
for?k?in?range(WINDOW,?len(X)-WINDOW):
mid?=?(X[k+WINDOW]-2*X[k]+X[k-WINDOW])/(WINDOW*WINDOW)
result.append(mid)
return?result
X?=?[1,2,3,4,5,6,7,8,9,10]
result1?=?fun1(X,?3)
result2?=?fun2(X,?2)
如上自己寫,或者用numpy自帶的多項(xiàng)式的n階導(dǎo)函數(shù)。
得到多項(xiàng)式的n階導(dǎo)函數(shù):多項(xiàng)式.deriv(m = n)
from?numpy?import?*
X?=?[1,2,3,4,5,6,7,8,9,10]
result?=?X.deriv(m?=?n)?#n是導(dǎo)數(shù)階數(shù)
打開python運(yùn)行環(huán)境。
導(dǎo)入微分的模塊包:from sympy import *。
定義符號變量:x = symbols('x')
定義一個函數(shù):f = x**9
diff = diff(f,x)求導(dǎo)
最后輸入diff,即可顯示其變量值了。
眾多python培訓(xùn)視頻,盡在python學(xué)習(xí)網(wǎng),歡迎在線學(xué)習(xí)!