我們先從簡單的來
例題1: 這是北師大版小學六年級上冊課本95頁的一道解方程練習題:
大家可以先口算一下,這道題裡面的x的值為200
接下來我們用python來實現,**如下,每一句**後面都寫有解釋語:
1 import sympy # 引入解方程的專業模組sympy
2 x = sympy.symbols("x") # 申明未知數"x"
3 a = sympy.solve([x+(1/5)*x-240],[x]) # 寫入需要解的方程體
4 print(a) # 列印出結果
大家應該注意到了,在寫入方程體的時候,(上面的第三行**)我們並沒有原封不動的將原方程寫進去,而是換了一種寫法,將等號右邊的數移到了等號左邊(當然,移動的過程中注意要變號哦!)然後將等號丟棄,最後變成了乙個式子。這個是我們的乙個固定寫法,大家記住就可以了。
注意:注意!!在數學裡面數字和未知數相乘時中間可以不加任何符號,比如2x就代表2乘以x,但在計算機裡,乘法必須寫成*乘的形式。比如2*x,而不能直接寫出2x,此處一定要注意!
這是執行後的結果:
大家可以看到,結果被一對大括號包裹著,冒號前是要求的未知數,冒號後即是程式執行後得出的結果。
我們的計算機還是很聰明的,是吧!
例題2: 接下來我們來試一下兩個未知數的
這是北師大版初中八年級上冊課本132頁的一道練習題:
用python來實現,
1 import sympy # 引入解方程的專業模組sympy
3 x,y = sympy.symbols("x y") # 申明未知數"x"和"y"
4 a = sympy.solve([3*x -2*y-3,x+2*y-5],[x,y]) # 寫入需要解的方程組
5 print(a) # 列印出結果
執行結果:
所以正確答案為:c答案
例題3: 接下來,我們再來嘗試一下分式方程:
以下為2018成都市的中考數學真題a卷第8題:
用同樣的程式邏輯,填好我們要求的方程,**如下:
1 import sympy
3 x = sympy.symbols("x")
4 a = sympy.solve([((x+1)/x + 1/(x-2))-1],[x])
5 print(a)
執行結果:
例題4: 最後,我們來嘗試一下對於數學中考裡必考的巧算代數式的值:
以下為2018成都市的中考數學真題b卷第21題:
常規解題思路分析:
一、這是一道根據方程組的解計算代數式的值的常規考題,出這道題的意圖就在於讓同學們在不計算出未知數的值的基礎上就能找到一定的技巧,求出答案。
二、如果單從聯立兩個方程,解方程組,然後再將解出來的x和y帶入後面的代數式求結果的話,計算量會稍微大一些,而且計算過程需要非常仔細小心,因為這裡面牽涉到小數,更或者是一些無理數,那我們常規的解決辦法就是,觀察後面的代數式,將其變為乙個完全平方式子
,再將前面兩個方程構造成x+2y的模式,即將兩方程相加,等號左邊的相加,等號右邊的相加,得到乙個新方程
,化簡,得
,所以原式得
用python實現:
1 import sympy
3 x,y = sympy.symbols("x y")
4 a = sympy.solve([x + y - 0.2,x + 3*y -1],[x,y])
5 x = a[x]
6 y = a[y]
7 re = x**2+4*x*y +4*y**2
8 print(re)
注意:不要省略乘號「*」
「**」代表乘方
執行結果截圖:
至此,我們就已經完成了用python來解方程的示範,同學們學會了嗎,如果還有疑問,歡迎留下你們的問題,我們一起來**。
附錄:準備工作 sympy的安裝
筆者會不定時的更新一些跟python相關又和數學相關的一些有趣的程式,喜歡就關注我吧。
標籤:方程,python,未知數,symbols,解方程,sympy,例題
2024 求X到Y之間的整數和
time limit 3 second memory limit 2 mb 計算x到y之間的整數和 要求用函式實現 注意輸入時x不一定小於y,且x y不一定都是整數。兩行,第一行為x,第二行為y。一行,x與y之間的整數和 8.512.542 題解 這個處理有點麻煩。先獲取兩個數的整數部分 用int ...
求x到y的最少計算次數 (BFS)
時間限制 1秒 空間限制 262144k 給定兩個 100到100的整數x和y,對x只能進行加1,減1,乘2操作,問最少對x進行幾次操作能得到y?例如 a 3,b 11 可以通過3 2 2 1,3次操作得到11 a 5,b 8 可以通過 5 1 2,2次操作得到8 輸入描述 輸入以英文逗號分隔的兩個...
用matlab求線性方程的解
用矩陣除法,求線性方程組的特解 利用矩陣除法求線性方程組的形式為 ax b,其中a為係數矩陣,b為方程組右側的一列常數。由ax b,得x a b,在這種條件下,首先要保證a為滿秩矩陣,否則無法求解。例如,求線性方程組 在matlab的命令列視窗,依次輸入如下命令 a 5 4 2 5 係數矩陣a b ...