https://www.cnblogs.com/zgyc/p/6277562.html
SymPy完全是用Python寫的,並不需要外部的庫
原理:
單純用語言內置的運算與變量解決的是,由值求結果。如:
print(x+y) #會報錯
上式中的x與y在這條語句執行前你肯定得賦值的,否則就會出錯。
而符號計算不同,你可以在之前將其設為符號。
x = Symbol('x') y = Symbol('y') print(x+y)
上述代碼是可以的。因為Sympy庫將x與y轉換成了符號(概念上)。 經過介紹,你應該稍微懂了一點,經過下面的介紹,你會更加明白
第一步:SymPy庫的安裝
linux 環境安裝命令:sudo pip install sympy
windows環境安裝命令: pip install sympy
第二步:解二元一次方程功能實現
解方程的功能主要由sympy中的solve函數實現
示例題目: 3x+5y = 19
4x-3y = 6
方程中的符號表示:
from sympy import * x = symbol('x') y = symblo('y') ------------------------------#或 from sympy import * x,y = symbols('x y')
代碼表示與手寫還是有區別的,下面列出常用的:
- 加號 +
- 減號 -
- 除號 /
- 乘號 *
- 指數 **
- 對數 log()
- e的指數次冪 exp()
對於長的表達式,如果不確定,就加小括號
例題中的表達式可表示為:3*x + 5*Y - 19 = 0
4*x - 3*y - 6 = 0
由於需要將表達式都轉化成右端等於0,這里把常數19和6移到等式左邊
利用solve函數解方程
在解決例子之前,我們先解決一個一元一次的方程。
x * 9 - 6 = 0
雖然很容易口算出來,我們還是要用solve函數
print(solve(x * 9 - 6,x))
下面進行例題求解:
完整代碼為
from sympy import * x = symbol('x') y = symbol('y') print(solve([3 * y + 5 * y - 19, 4 * x - 3 * y - 6],[x,y]))
結果為 {x:3,y:2}
總結:上文簡單介紹了SymPy庫,和用SymPy庫解決了初中的數學題——線性方程組,接下來介紹如何解決更難的數學題——微積分相關習題