sympy庫和matplotlib庫簡介


在進入本門課內容之前有的同學反映在使用pythonanywhere時程序偶爾會莫名其妙的報錯,遇到這種情況的處理辦法是先kill當前的控制台進程(見下圖),然后重新run一下自己的python文檔,一般就可以恢復正常。

 

sympy庫是python中用來求解方程的一個庫,下面是一個例子。

在上面這個例子中我們通過solve函數來求解方程2*x-4=0, solve函數接受的第一個參數是方程(默認右邊=0),其余參數是方程的未知數(需要用Symbol函數提前定義)。注意:在pythonanywhere里面輸出結果時要在solve外面加上print函數才能在控制台顯示!

 

在上面這個例子中我們求解的是一個方程組:2*x-y-3=0和3*x+y-7=0。

sympy庫提供了limit函數來求極限,下面是一個例子:

limit函數接受三個參數,第一個是表達式,第二個是自變量名,第三個是自變量無限逼近的值,oo表示無窮大。

下面是另一個求極限的例子,注意第三行里的**n表示n次冪結果中的那個E就是數學里的自然對數底常量e。

除了可以解方程組外,sympy庫還提供了diff函數用來求導數,第一個參數是表達式,第二個參數是待求導的變量名,例子如下:

在python中冪是用**來表示,比如x**2表示x的2次方。

除了計算一階導數外,還可以計算二階導數,只需要引入第三個參數指定階數即可,例子如下:

sympy中的dsolve函數可以用來解偏微分方程,例如:

dsolve函數的第一個參數是偏微分方程的標准形式(即方程右端為零),上圖的偏微分方程是:f(x)的一階導數等於2x。

dsolve函數的第二個參數是待求解的函數名,f 要預先用Function定義好。

下面是另一個求解偏微分方程的例子,該例子求解的方程是f(x)的一階導數等於2*x*f(x):

matplotlib 庫是一個python中的畫圖庫,第一種使用matplotlib的方法是引入該庫的pylab模組,下面這個例子我們利用pylab的plot方法繪制出了y=x*x+2這條拋物線。

在plot函數中第一個參數是自變量x的取值列表,這里我們用numpy庫自帶的linspace函數生成了從0到10的20個等距的x值。

在plot函數中第二個參數是因變量y的取值列表,有了x的取值列表自然可以通過y=x*x+2自動計算出來。

在plot函數中第三個參數是線條顏色,'r'是紅色。

下面的畫圖例子我是在 try jupyter 網站上完成的,pythonanywhere不支持在線顯示圖表,只支持控制台輸出。

matplotlib庫中的subplot函數是一個圖片布局的函數,subplot(1,2,1)代表在一行兩列的畫布上要在第一列的位置畫第一個子圖。

subplot(1,2,2)代表要在一行兩列的畫布上在第二列的位置畫第二個子圖。在plot函數中的第三個參數除了可以指定線條顏色還可以指定線條樣式,比如--,*-,等。

第二種使用matplotlib的方法是引入該庫的pyplot模組


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM