SymPy解方程的實現


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庫解決了初中的數學題——線性方程組,接下來介紹如何解決更難的數學題——微積分相關習題


免責聲明!

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



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