用集算器解多元一次方程組

2021-06-23 02:30:48 字數 2158 閱讀 6726

給出乙個多元一次方程組,對於n個未知數,方程組中需要包含n個方程,如:

如何用程式設計的方式求解多元一次方程組?常用的方法就是加減消元法,如下面的方程組:

a11x1+a12x2+a13x3+…+a1n

xn=a10

a21x1+a22x2+a23x3+…+a2n

xn=a20

a31x1+a32x2+a33x3+…+a3n

xn=a30

an1x1+an

2x2+an

3x3+…+annxn

=an0

當a11不為0時,將第1個方程各項同時乘以a21/a11,並用第2個方程減去,就可以把第2個方程中x1的係數消為0。如果a11等於0,則需要找到1個x1的係數不為0的方程,將其移到第乙個。用同樣的方法,可以消去第1個之後所有方程式中,x1的係數,如下:

a11x1+a12x2+a13x3+…+a1n

xn=a10

0+b22x2+b23x3+…+b2n

xn=b20

0+b32x2+b33x3+…+b3n

xn=b30

0+bn

2x2+bn

3x3+…+bnnxn

=bn0

此時,繼續再來考察b22的情況,用類似的方法,繼續消去第2個之後的所有方程式中,x2的係數……這樣執行下去,直到消去第n個方程式中xn

-1的係數為止。此時的方程組已經變為下面的形式:

a11x1+a12x2+a13x3+…+a1n

xn=a10

0+b22x2+b23x3+…+b2n

xn=b20

0+0+c33x3+…+c3n

xn=c30

0+0+0+…+mnnxn

=mn0

現在,就可以從第n個方程開始,一步一步求解了:

xn=mn

0/mnn

……x3=(c30-…-c3n

xn)/c33

x2=(c30-b23x3-…-b2n

xn)/b22

x1=(c30-a12x2-a13x3-…-a1n

xn)/a11

如果在計算中,a11,b22,c33等引數中出現0,則說明方程組無解或有無窮解。

用集算器求解多元一次方程組的解法如下:

在c1中求出方程組的方程數,在a3中迴圈,用加減消元法逐步消除xn

的係數。首先,在b4的迴圈中,從第k個方程式起,尋找xk

的係數不為0的第1個方程式,如果未找到,則說明該項無法消元。在第7行的**中,將xk

的係數不為0的方程式移到第k行。在第8、9行,將k+1行起的方程式中,xk

的係數消去。

各步消元執行完畢後,在a10中,就可以從最後乙個方程起,逐步求解。其中,用序列result來儲存解。如果出現無解或無窮解的情況,返回error。考慮到雙精度數在計算中可能存在誤差,求解時保留4位小數。

計算完成後,在a13中,可以檢視到結果:

如果需要求解新的方程組:

7x1+2x2+9x3-x4=0

2x1+9x2-x4=0

9x1+11x3-x4=0

x1+x2+x3 =1

只需要修改檔案equinput.txt:

用同樣的程式就可以計算,計算後,可以在a13中讀取結果:

另外,引數列表也可以不用檔案讀入,而是直接填寫在集算器中,計算過程是類似的。

多元一次方程

變數 矩陣 c1,cn 矩陣尺寸 1 n 引數 矩陣 11,nn 矩陣尺寸 n n 結果 矩陣 r1,rn 矩陣尺寸 n 1 求變數cn c1 cn 1類同處理 表示式cn可以訪問 選擇 編碼服務 進行獲取,上僅提供1 9的計算表示式。資料反演 疊加聲音的分離等。因分子分母內容相仿,僅表達分母部份即...

高斯消元求解多元一次方程組

最近剛接觸高斯消元,懂得不多,但是這玩意琢磨起來很有意思。我們把一系列方程 a1x1 b1x2 c1x3 m1 a2x1 b2x2 c2x3 m2 a3x1 b3x2 c3x3 m3 看成是矩陣 然後,把矩陣變成.然後就可以把矩陣化為上三角。最後一排一定是xn mn,然後求解倒數第二排,由於解出了乙...

三元一次方程組演算法 我和三元一次方程組

不 滿 但是現在的選拔制度慢慢變了味兒 你也會我也會,那咋選拔啊?於是就有了所謂的 偏難怪 我一直以為這個題目是偏難怪,因為一直以來學生掌握的都不太好,所以我從感情上對於它們是很不友好的,因為我只喜歡那種從字裡行間散發出正氣的題目。緣 來事情的轉機出現在若干年前。那是乙個陽光明媚的上午,督導組到教室...