SymPy解方程的實現

2022-08-17 14:42:12 字數 1165 閱讀 4112

sympy完全是用python寫的,並不需要外部的庫

原理:單純用語言內建的運算與變數解決的是,由值求結果。如:

print(x+y)  #

會報錯

上式中的x與y在這條語句執行前你肯定得賦值的,否則就會出錯。

而符號計算不同,你可以在之前將其設為符號。

x = symbol('x'

)y = symbol('y'

)print(x+y)

上述**是可以的。因為sympy庫將x與y轉換成了符號(概念上)。 經過介紹,你應該稍微懂了一點,經過下面的介紹,你會更加明白

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')

**表示與手寫還是有區別的,下面列出常用的:

對於長的表示式,如果不確定,就加小括號

例題中的表示式可表示為: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]))

結果為

解方程命令

求極限 limit 例 limit f,x,a,left 對表示式f求極限,變數為x,從左邊趨近a。inf 正無窮 inf 負無窮。求解線形方程 solve,linsolve 例 a 5 0 4 2 1 1 2 1 4 1 2 0 1 1 1 1 矩陣的行之間用分號隔開,元素之間用逗號或空格 b 3...

基本解方程

ncl是一家專門從事計算器改良與公升級的實驗室,最近該實驗室收到了某公司所委託的乙個任務 需要在該公司某型號的計算器上加上解一元一次方程的功能。實驗室將這個任務交給了乙個剛進入的新手zl先生。為了很好的完成這個任務,zl先生首先研究了一些一元一次方程的例項 4 3x 8 6a 5 1 2 2a 5 ...

數學 解方程

簡而言之,本題任務就是解方程。共有兩個子任務。作為小學生,我們只會解一元一次方程,一元一次方程最終都可以化為 ax n 的形式。現在問 對於給定的 n 要使得 x 有正整數解,總共可以取多少個不同的 a 呢?作為中學生,我們只會解二元一次不定方程,二元一次不定方程最終都可以化為 ax by n 的形...