Python 實(shí)現(xiàn)順序高斯消元法示例
我就廢話不多說(shuō),直接上代碼吧!
# coding: utf8 import numpy as np # 設(shè)置矩陣 def getInput(): matrix_a = np.mat([[2, 3, 11, 5], [1, 1, 5, 2], [2, 1, 3, 2], [1, 1, 3, 4]],dtype=float) matrix_b = np.mat([2,1,-3,-3]) #答案:-2 0 1 1 return matrix_a, matrix_b def SequentialGauss(mat_a): for i in range(0, (mat_a.shape[0])-1): if mat_a[i, i] == 0: print("終斷運(yùn)算:") print(mat_a) break else: for j in range(i+1, mat_a.shape[0]): mat_a[j:j+1 , :] = mat_a[j:j+1,:] - \ (mat_a[j,i]/mat_a[i,i])*mat_a[i, :] return mat_a def revert(new_mat): #創(chuàng)建矩陣存放答案 初始化為0 x = np.mat(np.zeros(new_mat.shape[0], dtype=float)) number = x.shape[1]-1 # print(number) b = number+1 x[0,number] = new_mat[number,b]/new_mat[number, number] for i in range(number-1,-1,-1): try: x[0,i] = (new_mat[i,b]-np.sum(np.multiply(new_mat[i,i+1:b],x[0,i+1:b])))/(new_mat[i,i]) except:print("錯(cuò)誤") print(x) if __name__ == "__main__": mat_a, mat_b = getInput() # 合并兩個(gè)矩陣 print("原矩陣") print(np.hstack((mat_a, mat_b.T))) new_mat = SequentialGauss(np.hstack((mat_a, mat_b.T))) print("三角矩陣") print(new_mat) print("方程的解") revert(new_mat)
運(yùn)行結(jié)果如下
以上這篇Python 實(shí)現(xiàn)順序高斯消元法示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python防止程序超時(shí)的實(shí)現(xiàn)示例
因?yàn)槟硞€(gè)需求,需要在程序運(yùn)行的時(shí)候防止超時(shí),本文主要介紹了python防止程序超時(shí)的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08python實(shí)現(xiàn)發(fā)送郵件功能代碼
這篇文章主要介紹了python實(shí)現(xiàn)發(fā)送郵件功能代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Pytorch之ToPILImage()不輸出圖片問題及解決
這篇文章主要介紹了Pytorch之ToPILImage()不輸出圖片問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02Anaconda環(huán)境克隆、遷移的詳細(xì)步驟
最近需要在多臺(tái)計(jì)算機(jī)上工作,每次重新部署環(huán)境比較麻煩,所以學(xué)習(xí)一下anaconda環(huán)境遷移的方法,下面這篇文章主要給大家介紹了關(guān)于Anaconda環(huán)境克隆、遷移的詳細(xì)步驟,需要的朋友可以參考下2022-08-08使用TensorFlow對(duì)圖像進(jìn)行隨機(jī)旋轉(zhuǎn)的實(shí)現(xiàn)示例
這篇文章主要介紹了使用TensorFlow對(duì)圖像進(jìn)行隨機(jī)旋轉(zhuǎn)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01python中tkinter實(shí)現(xiàn)GUI程序三個(gè)實(shí)例教程
Python提供了多個(gè)GUI庫(kù),使開發(fā)人員能夠輕松創(chuàng)建各種交互式界面,這篇文章主要給大家介紹了關(guān)于python中tkinter實(shí)現(xiàn)GUI程序的三個(gè)實(shí)例教程,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05解決TensorFlow調(diào)用Keras庫(kù)函數(shù)存在的問題
這篇文章主要介紹了解決TensorFlow調(diào)用Keras庫(kù)函數(shù)存在的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-07-07Python中l(wèi)ogging日志的四個(gè)等級(jí)和使用
這篇文章主要介紹了Python中l(wèi)ogging日志的四個(gè)等級(jí)和使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Python:合并兩個(gè)numpy矩陣的實(shí)現(xiàn)
今天小編就為大家分享一篇Python:合并兩個(gè)numpy矩陣的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-12-12