如何用Python對數(shù)學函數(shù)進行求值、求偏導
用Python對數(shù)學函數(shù)進行求值、求偏導
from sympy import * # x = Symbol("x") # y = diff(x**3+x, x) # print(y) # result = y.subs('x', 1) # print(result) x, y = symbols('x, y') z = x**2+y**2+x*y+2 print(z) result = z.subs({x: 1, y: 2}) # 用數(shù)值分別對x、y進行替換 print(result) dx = diff(z, x) # 對x求偏導 print(dx) result = dx.subs({x: 1, y: 2}) print(result) dy = diff(z, y) # 對y求偏導 print(dy) result = dy.subs({x: 1, y: 2}) print(result) # subs函數(shù)可以將算式中的符號進行替換,它有3種調(diào)用方式: # expression.subs(x, y) : 將算式中的x替換成y # expression.subs({x:y,u:v}) : 使用字典進行多次替換 # expression.subs([(x,y),(u,v)]) : 使用列表進行多次替換
Python對函數(shù)求偏導數(shù)
求偏導數(shù)partial derivative
利用Sympy庫
SymPy是一個符號計算的Python庫。它的目標是成為一個全功能的計算機代數(shù)系統(tǒng),同時保持代碼簡潔、易于理解和擴展。它完全由Python寫成,不依賴于外部庫。
SymPy支持符號計算、高精度計算、模式匹配、繪圖、解方程、微積分、組合數(shù)學、離散數(shù)學、幾何學、概率與統(tǒng)計、物理學等方面的功能。
程序代碼
>>> from sympy import symbols, diff >>> x, y = symbols('x y', real=True) >>> diff( x**2 + y**3, y) 3*y**2 >>> diff( x**2 + y**3, y).subs({x:3, y:1}) 3
先將所求變量(x,y)符號化。
否則會提示為定義錯誤:NameError: name 'y' is not defined。
之后利用diff函數(shù)求對應函數(shù)偏導數(shù)。
求出偏導數(shù)之后,若想求具體的值,可利用subs屬性進行變量的替換,便可自動求出對應值。
參考鏈接:
https://docs.sympy.org/latest/index.html
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)顏色rgb和hex相互轉(zhuǎn)換的函數(shù)
這篇文章主要介紹了python實現(xiàn)顏色rgb和hex相互轉(zhuǎn)換的函數(shù),可實現(xiàn)將rgb表示的顏色轉(zhuǎn)換成hex值的功能,非常具有實用價值,需要的朋友可以參考下2015-03-03pandas 數(shù)據(jù)實現(xiàn)行間計算的方法
今天小編就為大家分享一篇pandas 數(shù)據(jù)實現(xiàn)行間計算的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06python list中append()與extend()用法分享
列表是以類的形式實現(xiàn)的?!皠?chuàng)建”列表實際上是將一個類實例化。因此,列表有多種方法可以操作2013-03-035個Python中實現(xiàn)文字轉(zhuǎn)語音模塊的使用講解
這篇文章主要為大家詳細介紹了5個Python中實現(xiàn)文字轉(zhuǎn)語音模塊的使用,文中的示例代碼講解詳細,對我們深入掌握Python有一定的幫助,需要的可以參考下2023-11-11python flask解析json數(shù)據(jù)不完整的解決方法
這篇文章主要介紹了python flask解析json數(shù)據(jù)不完整的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05