首页
/
每日頭條
/
科技
/
非線性方程解法
非線性方程解法
更新时间:2024-11-27 11:44:46

全文共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
推荐阅读
信用卡怎樣取現微信
信用卡怎樣取現微信
1、信用卡暫不支持提現到微信,目前微信隻支持中國大陸地區銀行儲蓄卡提現,微信綁定的信用卡可以用于線上...
2024-11-27
電腦mac地址查詢方法
電腦mac地址查詢方法
1、首先按住鍵盤上的“開始鍵+R鍵”,然後在彈出的對話框中輸入“CMD”。另外還可以依次點擊開始>所...
2024-11-27
淘寶賬号怎麼改名字
淘寶賬号怎麼改名字
1、淘寶賬号名字改的是“淘寶昵稱”,“會員名”作為登錄名是不可以更改的,就是我們注冊時候的登錄名是改...
2024-11-27
手機相機怎麼恢複正常
手機相機怎麼恢複正常
以華為P40、EMUI11為例。1、返回手機主界面,打開手機的“設置”應用;2、接下來在“設置”界面下拉找到“系統”功能欄,然後點擊進入系統界面;3、接下來在“系統”界面選擇“備份與恢複”功能,點擊進入備份與恢複界面;4、接下來在“備份與恢複”界面選擇&l
2024-11-27
華為手機照相不清楚很模糊怎麼解決
華為手機照相不清楚很模糊怎麼解決
以華為P40,Android11為例。檢查攝像頭鏡頭是否清潔,可使用幹淨的軟布輕輕擦拭。檢查鏡頭是否有磨損。檢查對焦是否準确,手機對着待拍物不要晃動。若在光線較暗的環境下,建議打開手機閃光燈功能或人工添加輔助備光設備拍照。以上均不能解決,請攜帶購機發票、保修卡和手機到當地的售後服務中心檢測維修。華為技術有限公司,成立于1987年,總部位于廣東省深圳市龍崗區。華為是全球領先的信息與通信技術(ICT)
2024-11-27
Copyright 2023-2024 - www.tftnews.com All Rights Reserved