LU解線性方程組_第1頁
LU解線性方程組_第2頁
LU解線性方程組_第3頁
LU解線性方程組_第4頁
LU解線性方程組_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)LU分解法解線性方程組實驗?zāi)康?.熟練運用已學(xué)計算方法求解方程組2.加深對計算方法技巧,選擇正確的計算方法來求解各種方程組3.培養(yǎng)使用電子計算機進(jìn)行科學(xué)計算和解決問題的能力二實驗環(huán)境 VC+6.0 語言:C+三實驗內(nèi)容 編寫一個解線性方程組的算法。算法包括:矩陣的輸入輸出判斷矩陣是否奇異進(jìn)行分解輸出、回帶解出y、x四實驗原理 1.若一個線性方程組系數(shù)矩陣為階方陣且各階順序主子式均不為零,則的分解存在且唯一。 2.在滿足1的條件下可推導(dǎo)得出以下公式 (1): (2): 3

2、.公式(1)用于求解矩陣、,公式(2)用于回帶求解y、x。從公式中可以看出:對角線上元素為1,第一行與第一行相同。4. 分解的具體過程和計算順序如下:(1)第一步分解:(2)第二步分解: (3)第三步分解: (n).第n步分解: 依次計算: 五.實驗流程圖1.程序總的流程圖2.考慮主要目的這里只給出分解的流程圖:六VC+源程序 #includeusing namespace std;double Fun(int n1,double a11111); /聲明求矩陣行列式的遞歸函數(shù)函數(shù)double Fun(int n1,double a11111) int i_1,j_1,c; /c為數(shù)組b的行

3、double b1111; /用于存放余子式 int p=0,q=0; int sum=0; if(n1=1) return a111; for(i_1=1;i_1=n1;i_1+) for(c=1;c=n1-1;c+) if(ci_1) p=0; else p=1; for(j_1=1;j_1=n1-1;j_1+) bcj_1=a1c+pj_1+1; if(i_1-1)%2=0) q=1; else q=(-1); sum=sum+a1i_11*q*Fun(n1-1,b); return sum;/主程序,用于矩陣輸入輸出,判斷,分解,回帶void main() int n,i,j,k; d

4、ouble temp=1.0; double a1111=0; double L1111=0; doubleU1111=0; double b11=1; double x11=1; double m=0.0; double y11=1; double temp1=0.0; double temp2=0.0; /完成系數(shù)矩陣與右端項的輸入與輸出 cout!請輸入待解方程組未知數(shù)的個數(shù): n n; cout!請輸入待解方程組的系數(shù)endl; for(i=1;i=n;i+) for(int j=1;jaij; cout!請輸入待解方程組的系數(shù)矩陣如下:endl; for(i=1;i=n;i+) fo

5、r(j=1;j=n;j+) coutaij ; coutendl; cout!請輸入待解方程組的右端項endl; /初始化LU for(int p=1;p=n;p+) Lpp=1; for(p=1;p=n;p+) U1p=a1p; coutendl; for(i=1;ibi;coutb=endl;for(i=1;i=n;i+)coutbiendl;for(i=2;i=n;i+)temp=Fun(i,a);if(temp=0) coutendlendl;coutendloutput:temp =tempendl;cout矩陣奇異;break;coutendl;/LU分解if(temp!=0) f

6、or(i=1;i=n;i+) for(j=1;j=i-1;j+) if(ajj=0) cout請重新輸入系數(shù)矩陣與右端項:endl; else m=0.0; for(k=1;k=j-1;k+) m=m+Lik*Ukj; Lij=(aij-m)/Ujj; for(j=1;j=i;j+) m=0.0; for(k=1;k=j-1;k+) m=m+Ljk*Uki; Uji = aji - m; if(temp!=0)coutL=endl; for(i=1;i=n;i+) for(j=1;j=n;j+) coutLij ; coutendlendl; coutendlendlU=endl; for(i

7、=1;i=n;i+) for(j=1;j=n;j+) coutUij ; coutendlendl; /回帶求解y couty=endl;for(int s=1;s=n;s+) for(int t=1;t=s-1;t+) temp1=temp1+Lst*yt; ys=bs-temp1; cout ys endl; temp1=0.0; cout=1;s-) for(int t=s+1;t=n;t+) temp2=temp2+Ust*xt; xs=(ys-temp2)/Uss; temp2=0.0; coutx=endl; for(i=1;i=n;i+) cout xiendl;七程序執(zhí)行結(jié)果1.系數(shù)矩陣主子式有為0時,隨便輸入一個矩陣結(jié)果如下:2. 系數(shù)矩陣各階主子式不為0時,輸入課本70頁習(xí)題12所示矩陣系數(shù)與右端項,順序執(zhí)行程序,結(jié)果經(jīng)matlab驗證無誤,結(jié)果如下:驗證:七實驗優(yōu)缺點 此算法可以一定程度上判斷是否可解并解出其解,但由于未添加主元選取的步驟,導(dǎo)致對于有的方程組會判斷失誤并認(rèn)為方

溫馨提示

  • 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

提交評論