【Excel】多元一次方程组求解计算器
1 靈感來源
看書,偶然看到“解聯立方程組”的內容,描述了如何用數組公式minverse和mmult求解二元一次方程組,驚到了。
二元一次方程組,通過消元的方式,可以手動求解,這是小學就練習了無數次的知識點。
excel求解二元一次、或者多元多次方程組,可以用規劃求解,這是大約17年我了解到的方法,也在工作生活中多次用到。
但是書里的方法大不一樣。線性代數里的知識在excel里大展拳腳,我當時仿佛看到了新世界。跟著步驟練手,成了。
腦子里產生了一個新的念頭:解二元、三元、N元,變量個數不同,求解的excel就有多少個(單元格區域大小不一樣不能通用)。怎么才能把不同變量數的多元一次方程組做到一個模板里呢?
經過摸索練習,最后終于做成了想要的樣子(2020/6/1)。
2 思路分析
求解的部分已經解決,利用書里介紹的方法:
注:系數逆矩陣城西常量矩陣為什么就能得到變量的解,這一點我也沒弄明白具體過程,大學時候學的線性代數已經完全還給老師了對不起。
關鍵的問題在于,如何在變量數量不等的條件下,實現以上過程。
即:如何實現大小變化的矩陣的范圍的引用。(假設行/列數為1-50。)
當時嘗試了不少方法(原諒我是個摸索中前進的小白,那時候對offset不熟),最后,通過offset函數實現了目的。
注:印象中也嘗試了其他函數實現不同范圍的引用,但是范圍之外的單元格由于計算不到,會顯示錯誤。offset沒有這個問題,故最后敲定offset。
3 實現步驟
3.1 變量數單元格設置
由上分析,如果要做成適用于多元一次方程組的求解計算器,變量的個數是一個重要的參數。故首先設置了一個單元格,用來填入變量的個數,即多元一次方程組的元數。
3.2 系數、常量單元格設置
注:此處設計的50×50系數矩陣,即解五十元一次方程組。理論上N元都可以,但是好像某個函數有參數限制,所以此處設置的50。具體哪個函數,找了一下,沒找到,有興趣的親可以再求證了。
3.3 系數逆矩陣計算
使用minverse+offset函數,minverse計算系數逆矩陣,offset引用變量單元格的數值指定引用范圍。
注:數組公式需按ctrl+shift+enter一起輸入。
3.4 變量求解
使用mmult+offset函數計算系數矩陣的逆矩陣乘以常量矩陣,即得多元一次方程組變量的解。
注:數組公式需按ctrl+shift+enter一起輸入。
4 總結&感想
總體來說,是線性代數+數組函數+offset一起協作解決了一個有點有趣又似乎沒什么實際應用價值的問題。
不知道用到它的會是什么樣的朋友,但是我相信它還是會遇到一直找它的小伙伴的~
【原創內容,引用請注明出處:https://blog.csdn.net/truly121314/article/details/107854989】
總結
以上是生活随笔為你收集整理的【Excel】多元一次方程组求解计算器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式事务锁 讲解
- 下一篇: html自动加https,http自动跳