吉林大學(xué)計算方法第七章課后習(xí)題答案_第1頁
吉林大學(xué)計算方法第七章課后習(xí)題答案_第2頁
吉林大學(xué)計算方法第七章課后習(xí)題答案_第3頁
吉林大學(xué)計算方法第七章課后習(xí)題答案_第4頁
吉林大學(xué)計算方法第七章課后習(xí)題答案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

未知驅(qū)動探索,專注成就專業(yè)吉林大學(xué)計算方法第七章課后習(xí)題答案7.1課后習(xí)題答案1.試用追趕法求解3×3三對角線方程組給定方程組為:a1*x1+b1*x2+0*x3=d1

c1*x1+a2*x2+b2*x3=d2

0*x1+c2*x2+a3*x3=d3其中,a1,a2,a3分別為三對角線上的主對角元素,b1,b2為上對角元素,c1,c2為下對角元素,d1,d2,d3為各個方程的右端常數(shù)項。追趕法的基本思想是將原始方程組轉(zhuǎn)化為追梯形方程組,然后通過回代求解。以下是使用追趕法求解的計算過程:矩陣求解:首先通過追趕法將原始方程組轉(zhuǎn)化為追梯形方程組,計算過程如下:p1=-b1/a1

q1=d1/a1

c1'=c1

q1'=d1

a2'=a2+p1*c1'

p2=-b2/a2'

q2=(d2-p1*q1')/a2'

c2'=c2

q2'=d3-p1*q2'

a3'=a3+p2*c2'

此時的追梯形方程組為:

a1*x1+b1*x2+0*x3=d1(1)

0*x1+a2'*x2+b2*x3=d2'(2)

0*x1+c2'*x2+a3'*x3=d3'(3)回代求解:通過回代求解追梯形方程組,即從最后一行開始依次求解x3,x2,x1的值。x3=(d3'-c2'*x2)/a3'

將x3的值代入方程(2)中,可以得到x2的值:

x2=(d2'-b2*x3)/a2'

最后,將x2和x3的值帶入方程(1)中,可以得到x1的值:

x1=(d1-b1*x2)/a1這樣,就可以得到方程組的解。2.列主元消去法和高斯消去法有什么區(qū)別?列主元消去法和高斯消去法都是求解線性方程組的常用方法,但它們在選取主元的方式上有所不同。高斯消去法是通過選取矩陣中的第一個非零元作為主元,然后利用矩陣的行變換將主元所在的列的其他元素消去,使得矩陣轉(zhuǎn)化為上三角矩陣。然后通過回代求解上三角矩陣得到方程組的解。而列主元消去法則是在每一列中選取絕對值最大的元素作為主元,并通過行變換將主元所在的行和列的其他元素消去,使得矩陣轉(zhuǎn)化為對角矩陣。與高斯消去法相比,列主元消去法選取主元的方式更加合理,可以減小誤差的傳播。然而,列主元消去法的計算量較高,需要對矩陣進(jìn)行全局搜索以找到絕對值最大的元素作為主元。因此,列主元消去法相對于高斯消去法來說,求解效率較低,但得到的結(jié)果更為準(zhǔn)確。7.2課后習(xí)題答案1.編寫一個Python函數(shù),使用追趕法求解三對角矩陣方程組。以下是使用Python編寫的求解三對角矩陣方程組的追趕法函數(shù):deftridiagonal_matrix_algorithm(a,b,c,d):

n=len(d)

#利用追趕法消元

foriinrange(1,n):

m=a[i]/b[i-1]

b[i]=b[i]-m*c[i-1]

d[i]=d[i]-m*d[i-1]

#回代求解方程組的解

x=[0]*n

x[n-1]=d[n-1]/b[n-1]

foriinrange(n-2,-1,-1):

x[i]=(d[i]-c[i]*x[i+1])/b[i]

returnx使用該函數(shù)可以方便地求解任意大小的三對角矩陣方程組。2.寫一個Python函數(shù),使用列主元消去法求解線性方程組,并輸出方程組的解。以下是使用Python編寫的求解線性方程組的列主元消去法函數(shù):importnumpyasnp

defgaussian_elimination(A,b):

n=len(b)

x=np.zeros(n)

#消元過程

foriinrange(n):

pivot=np.abs(A[i:,i]).argmax()+i

A[[i,pivot]]=A[[pivot,i]]

b[[i,pivot]]=b[[pivot,i]]

forjinrange(i+1,n):

ratio=A[j,i]/A[i,i]

A[j,i:]=A[j,i:]-ratio*A[i,i:]

b[j]=b[j]-ratio*b[i]

#回代求解

x[n-1]=b[n-1]/A[n-1,n-1]

foriinrange(n-2,-1,-1):

x[i]=(b[i]-np.dot(A[i,i+1:],x[i+1:]))/A[i,i]

returnx使用該函數(shù)可以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論