首页
/
每日頭條
/
科技
/
非線性方程解法
非線性方程解法
更新时间:2025-02-21 20:11:34

全文共1097字,預計學習時長5分鐘

非線性方程解法(最有效的求解方法)1

圖源:unsplash

在三行函數中解決任何線性方程式的技巧,甚至可以在兩行代碼中重寫,不想了解一下嘛?據筆者所知,這是解決Python中線性方程的最有效方法。

defsolve_linear(equation,var='x'): expression =equation.replace("=","-(") ")" grouped =eval(expression.replace(var,'1j')) return -grouped.real/grouped.imag

非線性方程解法(最有效的求解方法)2

這是标準代數過程示例,最後得出答案。

它的原理是怎樣的呢?首先定義一個線性方程式,它必須以純形式可解。這意味着它隻能有一個變量,通常寫為x。二元方程需要求解多個線性方程(方程組)。

非線性方程解法(最有效的求解方法)3

線性方程式由三個主要部分組成:常數,變量和乘數。

非線性方程解法(最有效的求解方法)4

不管是幾元方程還是運算的組合(加,減,乘和除),在括号範圍内都是有效的。隻要遵守線性方程的這些定義,就可以通過函數解決。

非線性方程解法(最有效的求解方法)5

接下來逐步分解該函數,用以下線性方程式的演示為例。

非線性方程解法(最有效的求解方法)6

将第一行中等式右側的整個表達式移到左側,将等式轉換為要求值的表達式。

expression= equation.replace("="," - (") ")"

非線性方程解法(最有效的求解方法)7

IDE中的演示如下:

非線性方程解法(最有效的求解方法)8

等式中的所有“變量”已移至一側,等号後已無變量,該表達式等于0。

在第二行代碼中計算新表達式的值,表示為ax b =0。使用Python的内置複數處理,其中j表示數學常數i =√-1。

grouped= eval(expression.replace(var,'1j')

注意,在函數初始化時将var指定為x。

eval函數有一個表達式。通過用已知的j(i)替換未知變量x,Python将兩類表達式元素分開求值,即變量和常量。對表達式求值時,答案為a * j b,Python認定這是一個複數。由于使用j代替了x,所以結果是一個簡化且易于求解的線性方程。

非線性方程解法(最有效的求解方法)9

首先,在eval()的演示工作流程中,它可以接收字符串中給出的任何Python命令:

非線性方程解法(最有效的求解方法)10

因此,數學表達式與任何Python表達式的處理方式相同。eval()的獨到之處在于無需手動執行繁重的工作,而是利用Python的字符串處理。

非線性方程解法(最有效的求解方法)11

Python會認為x實際上是i來自動求值字符串,這與下圖中的操作相同:

非線性方程解法(最有效的求解方法)12

最後獲得了簡化形式ax b = 0。通過标準和簡單的代數運算,發現x等于-b / a,或者通過創建的複數來運算,實數部分的負數(上例中為9)除以虛數乘數(上例中為1)。

非線性方程解法(最有效的求解方法)13

return -grouped.real/grouped.imag

在最後一行代碼中,通過返回複數實數部分的負數除以虛數部分來簡單地返回此代數步驟。

通過操縱和利用Python的内置數學求值功能,這三行函數就可以對任何線性方程式(無論其長度或複雜度)進行處理啦。

非線性方程解法(最有效的求解方法)14

留言點贊關注

我們一起分享AI學習與發展的幹貨

如轉載,請後台留言,遵守轉載規範

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
wps使用複制表格技巧
wps使用複制表格技巧
1、首先雙擊打開桌面上的WPS。2、單擊新建表格空白文檔。3、單元格中輸入文本資料,如果是連續相同的...
2025-02-21
福特車怎麼挂擋
福特車怎麼挂擋
1、進入車内找到車輛的檔位操作杆位置。2、P”檔也就是停車檔,将車輛停好之後挂入這個檔位。3、R”檔就是倒車檔,倒車注意合理觀察後視鏡。4、N”檔為空擋,空擋主要切斷車輛發動機動力連接。5、D”檔是自動前進檔,注意合理控制車速。
2025-02-21
不鏽鋼生鏽了用什麼能去除
不鏽鋼生鏽了用什麼能去除
1、受異種金屬附着而生鏽時因鐵粉等引起的“附帶生鏽”或情形不太嚴重時,可用海綿或布、加上中性清洗劑或...
2025-02-21
花椰菜爛根怎麼辦
花椰菜爛根怎麼辦
1、發生原因。花椰菜爛根的主要原因是由于根腐病導緻。根腐病的主要危害對象為花椰菜的根部。在前期的時候,花椰菜的跟群會出現黃化現象,地上部分無異常情況。然後随着時間的推移會逐漸擴展病部。在溫度較高的時候,地上葉片出現垂落萎焉現象,常溫時恢複。在主根受到嚴重危害時,花椰菜莖基部萎焉回縮。3-4天後出現深...
2025-02-21
word後綴是doc還是docx
word後綴是doc還是docx
演示機型:華為MateBookX系統版本:win10APP版本:word2016doc和docx都是word文檔的格式。DOCX格式由微軟開發,屬于DOC文件的繼承者。任何能夠打開DOC文件的文字處理軟件都可以将該文檔轉換為DOCX文件,Word2007或更高版本(或某些其他兼容程序)中都可以打開DOCX文件。docx文件打開方法:Office2007,Office2000、XP、2003的用戶通
2025-02-21
Copyright 2023-2025 - www.tftnews.com All Rights Reserved