高斯消去法c++_高斯消去法的算法改进
生活随笔
收集整理的這篇文章主要介紹了
高斯消去法c++_高斯消去法的算法改进
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
高斯消去法的過程如圖所示
其中括號內的數字表示對該行處理的次數,比如第三列,該列中的第一個元素沒有變化,第二個元素處理了一次,第三個元素處理了兩次,處理的過程為
現將這個過程寫成數組形式 A=A-B*C,于是就有了下列算法:
同傳統算法相比較,改進算法只需一重循環,大大提升了效率
算法驗證
這個方程組的解為x=[1,2,3]
自編程序計算結果為:
PS: Fortran中的spread函數用法。假定一個二維數組A
A(1, 2:4)是一個一維數組[12 13 14],spread(A(1, 2:4),1,2)就是如下的二維數組
spread(A(2:3, 1),2,3)就是如下的二維數組
spread(A(1, 2:4),1,2)*spread(A(2:3, 1),2,3)的結果就是
該算法的瓶頸就是spread函數的效率究竟如何?當然,任何事情都有其兩面性。魚和熊掌不可兼得。
☆☆☆ 往期相關 ☆☆☆
高斯消去法解線性方程組及MATLAB實現
高斯消去法解方程組及Python實現
總結
以上是生活随笔為你收集整理的高斯消去法c++_高斯消去法的算法改进的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python代码转换为pytorch_p
- 下一篇: python控制树莓派led_Pytho