自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

有效的求解方法:三行代碼搞定任何線性方程

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

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)

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

  1. defsolve_linear(equation,var='x'): 
  2.     expression =equation.replace("=","-(")+")" 
  3.     grouped =eval(expression.replace(var,'1j')) 
  4.     return -grouped.real/grouped.imag 
最有效的求解方法:三行代碼搞定任何線性方程

這是標(biāo)準(zhǔn)代數(shù)過程示例,最后得出答案。

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

最有效的求解方法:三行代碼搞定任何線性方程

線性方程式由三個(gè)主要部分組成:常數(shù),變量和乘數(shù)。

最有效的求解方法:三行代碼搞定任何線性方程

不管是幾元方程還是運(yùn)算的組合(加,減,乘和除),在括號范圍內(nèi)都是有效的。只要遵守線性方程的這些定義,就可以通過函數(shù)解決。

最有效的求解方法:三行代碼搞定任何線性方程

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

最有效的求解方法:三行代碼搞定任何線性方程

將第一行中等式右側(cè)的整個(gè)表達(dá)式移到左側(cè),將等式轉(zhuǎn)換為要求值的表達(dá)式。

  1. expressionequation.replace("="," - (")+")" 
最有效的求解方法:三行代碼搞定任何線性方程

IDE中的演示如下:

最有效的求解方法:三行代碼搞定任何線性方程

等式中的所有“變量”已移至一側(cè),等號后已無變量,該表達(dá)式等于0。

在第二行代碼中計(jì)算新表達(dá)式的值,表示為ax + b =0。使用Python的內(nèi)置復(fù)數(shù)處理,其中j表示數(shù)學(xué)常數(shù)i =√-1。

  1. groupedeval(expression.replace(var,'1j') 

注意,在函數(shù)初始化時(shí)將var指定為x。

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

最有效的求解方法:三行代碼搞定任何線性方程

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

最有效的求解方法:三行代碼搞定任何線性方程

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

最有效的求解方法:三行代碼搞定任何線性方程

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

最有效的求解方法:三行代碼搞定任何線性方程

最后獲得了簡化形式ax + b = 0。通過標(biāo)準(zhǔn)和簡單的代數(shù)運(yùn)算,發(fā)現(xiàn)x等于-b / a,或者通過創(chuàng)建的復(fù)數(shù)來運(yùn)算,實(shí)數(shù)部分的負(fù)數(shù)(上例中為9)除以虛數(shù)乘數(shù)(上例中為1)。

 

 

最有效的求解方法:三行代碼搞定任何線性方程

 

  1. return -grouped.real/grouped.imag 

在最后一行代碼中,通過返回復(fù)數(shù)實(shí)數(shù)部分的負(fù)數(shù)除以虛數(shù)部分來簡單地返回此代數(shù)步驟。

通過操縱和利用Python的內(nèi)置數(shù)學(xué)求值功能,這三行函數(shù)就可以對任何線性方程式(無論其長度或復(fù)雜度)進(jìn)行處理啦。

 

責(zé)任編輯:趙寧寧 來源: 讀芯術(shù)
相關(guān)推薦

2021-12-17 12:12:22

Python 開發(fā)數(shù)據(jù)

2020-05-06 22:01:52

Excel代碼Python

2023-07-31 08:02:28

2019-10-09 15:51:45

Python 開發(fā)編程語言

2021-11-18 10:20:22

代碼PDFPython

2020-08-12 09:14:45

Python驗(yàn)證碼工具

2022-05-11 09:02:27

Python數(shù)據(jù)庫Excel

2019-06-26 08:37:23

Python數(shù)據(jù)處理編程語言

2018-10-07 05:27:03

Python代碼機(jī)器學(xué)習(xí)

2017-08-31 13:50:53

Python編程語言

2023-05-15 10:41:13

CSS深色模式

2021-08-30 15:41:23

代碼開源微軟

2021-10-28 09:42:38

代碼編碼開發(fā)

2023-11-06 13:26:26

2010-06-07 10:39:51

中國超算性能

2021-01-12 14:35:14

量子芯片計(jì)算機(jī)

2024-01-18 15:18:48

數(shù)據(jù)模型

2019-05-05 09:46:01

Python代碼神經(jīng)網(wǎng)絡(luò)

2022-04-19 07:45:40

代碼Python美圖秀秀

2021-02-24 14:30:59

JavaScript語言開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號