如何用Python對(duì)數(shù)學(xué)函數(shù)進(jìn)行求值、求偏導(dǎo)
用Python對(duì)數(shù)學(xué)函數(shù)進(jìn)行求值、求偏導(dǎo)
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ù)值分別對(duì)x、y進(jìn)行替換
print(result)
dx = diff(z, x) # 對(duì)x求偏導(dǎo)
print(dx)
result = dx.subs({x: 1, y: 2})
print(result)
dy = diff(z, y) # 對(duì)y求偏導(dǎo)
print(dy)
result = dy.subs({x: 1, y: 2})
print(result)
# subs函數(shù)可以將算式中的符號(hào)進(jìn)行替換,它有3種調(diào)用方式:
# expression.subs(x, y) : 將算式中的x替換成y
# expression.subs({x:y,u:v}) : 使用字典進(jìn)行多次替換
# expression.subs([(x,y),(u,v)]) : 使用列表進(jìn)行多次替換Python對(duì)函數(shù)求偏導(dǎo)數(shù)
求偏導(dǎo)數(shù)partial derivative
利用Sympy庫
SymPy是一個(gè)符號(hào)計(jì)算的Python庫。它的目標(biāo)是成為一個(gè)全功能的計(jì)算機(jī)代數(shù)系統(tǒng),同時(shí)保持代碼簡潔、易于理解和擴(kuò)展。它完全由Python寫成,不依賴于外部庫。
SymPy支持符號(hào)計(jì)算、高精度計(jì)算、模式匹配、繪圖、解方程、微積分、組合數(shù)學(xué)、離散數(shù)學(xué)、幾何學(xué)、概率與統(tǒng)計(jì)、物理學(xué)等方面的功能。
程序代碼
>>> 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)符號(hào)化。
否則會(huì)提示為定義錯(cuò)誤:NameError: name 'y' is not defined。
之后利用diff函數(shù)求對(duì)應(yīng)函數(shù)偏導(dǎo)數(shù)。
求出偏導(dǎo)數(shù)之后,若想求具體的值,可利用subs屬性進(jìn)行變量的替換,便可自動(dòng)求出對(duì)應(yīng)值。
參考鏈接:
https://docs.sympy.org/latest/index.html
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用urllib2實(shí)現(xiàn)發(fā)送帶cookie的請(qǐng)求
這篇文章主要介紹了python使用urllib2實(shí)現(xiàn)發(fā)送帶cookie的請(qǐng)求,涉及Python操作cookie的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
Python自動(dòng)化高效實(shí)現(xiàn)Word文檔的動(dòng)態(tài)創(chuàng)建與管理
在日常工作中,Word文檔處理占據(jù)了我們大量時(shí)間,ord文檔的動(dòng)態(tài)創(chuàng)建與管理,讓文檔自動(dòng)化成為您的得力助手,本文將深入探討如何利用一個(gè)高效的Python庫,實(shí)現(xiàn)Word文檔的動(dòng)態(tài)創(chuàng)建與管理,感興趣的小伙伴可以了解下2025-09-09
PyCharm活動(dòng)模板設(shè)置步驟實(shí)現(xiàn)
很多情況,我們?cè)趯懘a都會(huì)存在經(jīng)常要寫一些簡單且又重復(fù)的代碼,Pycharm中的活動(dòng)模板可以把這些使用頻率很高的一些代碼打包起來設(shè)置一個(gè)快捷鍵,本文就來介紹一下如何實(shí)現(xiàn)2023-12-12
Pandas數(shù)據(jù)填充的具體實(shí)現(xiàn)
在數(shù)據(jù)分析與預(yù)處理過程中,臟數(shù)據(jù)幾乎不可避免,本文主要介紹了Pandas數(shù)據(jù)填充的具體實(shí)現(xiàn),也稱為缺失值處理,使數(shù)據(jù)清洗工作更加高效,感興趣的可以了解一下2024-07-07
Python 使用Opencv實(shí)現(xiàn)目標(biāo)檢測(cè)與識(shí)別的示例代碼
這篇文章主要介紹了Python 使用Opencv實(shí)現(xiàn)目標(biāo)檢測(cè)與識(shí)別的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Python中urlencode()函數(shù)構(gòu)建URL查詢字符串的利器學(xué)習(xí)
這篇文章主要為大家介紹了Python中urlencode()函數(shù)構(gòu)建URL查詢字符串的利器學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
python中快速進(jìn)行多個(gè)字符替換的方法小結(jié)
最近在用python給自己的seo工作提高效率和節(jié)省時(shí)間,發(fā)現(xiàn)python真的很不錯(cuò),可以完成很多事情。多個(gè)字符替換是大家可能都會(huì)遇到的一個(gè)問題,昨天在工作中就碰到了這么一個(gè)問題,所以想著記錄一下解決方案及其過程,方便以后參考。下面來一起看看吧。2016-12-12
Expected conditions模塊使用方法匯總代碼解析
這篇文章主要介紹了Expected conditions模塊使用方法匯總代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08

