實(shí)驗(yàn)一直接法解線性方程組_第1頁(yè)
實(shí)驗(yàn)一直接法解線性方程組_第2頁(yè)
實(shí)驗(yàn)一直接法解線性方程組_第3頁(yè)
實(shí)驗(yàn)一直接法解線性方程組_第4頁(yè)
實(shí)驗(yàn)一直接法解線性方程組_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

標(biāo)準(zhǔn)標(biāo)準(zhǔn)WuhanUniversit/ofScience&Technology數(shù)值計(jì)算基礎(chǔ)》實(shí)驗(yàn)報(bào)告專(zhuān)業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):2013級(jí)1303班學(xué)號(hào):201313137085姓名:胡恒德指導(dǎo)老師:王薇實(shí)驗(yàn)名稱(chēng)直接法解線性方程組實(shí)驗(yàn)日期2015.05.22報(bào)告規(guī)范(10分)程序(35分)程序二(35分)實(shí)驗(yàn)小結(jié)(20分)總分實(shí)驗(yàn)?zāi)康摹空莆誈uass列選主元消去法、三角分解法解線性方程組。實(shí)驗(yàn)內(nèi)容】分別寫(xiě)出Guass列選主元消去法、三角分解法的算法,編寫(xiě)程序上機(jī)調(diào)試出結(jié)果,要求所編程序適用于任何線性方程組問(wèn)題,即能解決這一類(lèi)問(wèn)題,而不是某一個(gè)問(wèn)題。實(shí)驗(yàn)中以下列數(shù)據(jù)驗(yàn)證程序的正確性。1、Guass列選主元消去法2.52.35.39.62.52.35.39.68.11.7-5.「x1「3.7「1.51x2=3.8-4.3x35.52、Doolittle三角分解法TOC\o"1-5"\h\z_2100-3-3-4-1213123-44149-13【實(shí)驗(yàn)小結(jié)】Gauss列注消元在計(jì)算過(guò)程中,需要先選擇主元,否則如果在計(jì)算過(guò)程中出現(xiàn)了數(shù)量級(jí)相對(duì)于分子小的除數(shù)的話,在計(jì)算機(jī)有限字長(zhǎng)下會(huì)出現(xiàn)較大誤差,直接三角分解法,當(dāng)矩陣A的順序主子式全部為零,A可以分解為下一個(gè)三角形矩陣L和一個(gè)單位上三角形U的乘積A=LU,且分解是唯一的。在編程過(guò)程中應(yīng)當(dāng)注意下標(biāo)的變化,否則實(shí)驗(yàn)結(jié)果就會(huì)與正確結(jié)果有較大出入。Guass列選主元消去法一、問(wèn)題對(duì)于b的處理有多種方法,如果把b加到A的最后一列,會(huì)方便許多,但是如果單獨(dú)這樣算,就麻煩一些。二、源代碼#include<stdio.h>#include<math.h>#include<stdlib.h>#defineeps1e-6#defineM10floatA[M][M],b[M][1],x[M][1];intmain(){inti,j,k,row,n,flag=1;floatm,max,temp,sum=0;printf(”請(qǐng)輸入矩陣A的行數(shù)(行列數(shù)相等):");scanf("%d",&n);printf("請(qǐng)輸入矩陣A:\n");for(i=1;i<=n;i++)for(j=1;j<=n;j++)scanf("%f",&A[i][j]);printf("請(qǐng)輸入矩陣b:\n");for(i=1;i<=n;i++)scanf("%f",&b[i][1]);for(j=1;j<n;j++){max=fabs(A[j][j]);//選主元row=j;for(i=j+1;i<=n;i++)if(fabs(A[i][j])>max){max=fabs(A[i][j]);row=i;}if(fabs(A[row][row])<eps)flag=0;for(k=j;k<=n;k++)//換行{temp=A[j][k];A[j][k]=A[row][k];A[row][k]=temp;}temp=b[j][1];b[j][1]=b[row][1];b[row][1]=temp;for(i=j+1;i<=n;i++)//消元{m=A[i][j]/A[j][j];for(k=j;k<=n;k++)A[i][k]=A[i][k]-m*A[j][k];b[i][1]=b[i][1]-m*b[j][1];}}x[n][1]=b[n][1]/A[n][n];for(i=n-1;i>=1;i--){sum=b[i][1];for(j=i+1;j<=n;j++)sum-=A[i][j]*x[j][1];x[i][1]=sum/A[i][i];}if(flag){printf("Gauss列主消去后A為:\n");for(i=1;i<=n;i++){for(j=1;j<=n;j++){if(fabs(A[i][j])<eps)A[i][j]=0;printf("%.3f\t",A[i][j]);}printf("\n");}printf("\n");printf("Gauss列主消去后b為:\n");for(i=1;i<=n;i++)printf("%.2f\n",b[i][1]);printf("\n");printf("Ax=b的解X為:\n");for(i=1;i<=n;i++)printf("%.2f\n",x[i][1]);

printf("\n");}elseprintf("矩陣A奇異,無(wú)解!\n");return0;}三、運(yùn)行結(jié)果fl:.1〔行列數(shù)相等〕;7B.11-7-4.3情輸入矩陣加Pressani^keytocontinuefl:.1〔行列數(shù)相等〕;7B.11-7-4.3情輸入矩陣加Pressani^keytocontinueCArC:^DocuK&ntsan.dSettines\AdKiiiis-tratQrX桌面\計(jì)算機(jī)數(shù)值方法實(shí)螫\實(shí)螫一直BSB岸-S一n_一n_專(zhuān)E.B.5粒uz列主消去后A為:B.1001.780-4.3800.0008.4884.3140.0003.000-4.t75列主消去后h為:E.5?0.201.96?x=b的解*為=b.4i0.24^0-42Doolittle三角分解法一、問(wèn)題直接分解法,在計(jì)算LU的過(guò)程中,先計(jì)算U的第一列和L的第一行,在余下計(jì)算過(guò)程中,計(jì)算一行U就要計(jì)算一列L,過(guò)程是在一個(gè)循環(huán)里的,如果分開(kāi)計(jì)算的話,就會(huì)出錯(cuò),我第一次把L和U的計(jì)算分開(kāi)了,結(jié)果就……二、源代碼#include<stdio.h>#include<math.h>#include<stdlib.h>#defineM10floatA[M][M],L[M][M],U[M][M];floatUSUM(inti,intj){intk=1;floatsum=0;for(k=1;k<=i-1;k++)sum+=L[i][k]*U[k][j];returnsum;}floatLSUM(inti,intj){intk=1;floatsum=0;for(k=1;k<=i-1;k++)sum+=L[j][k]*U[k][i];returnsum;}intmain(){inti,j,n;printf(“請(qǐng)輸入需分解的矩陣的行數(shù)(行列數(shù)相等):”);scanf("%d",&n);for(i=1;i<=n;i++)for(j=1;j<=n;j++){L[i][j]=0;U[i][j]=0;L[i][i]=1;scanf("%f",&A[i][j]);}for(i=1;i<=n;i++){U[1][i]=A[1][i];if(i<n)L[i+1][1]=A[i+1][1]/U[1][1];}//計(jì)算LUfor(i=2;i<=n;i++){for(j=i;j<=n;j++){U[i][j]=A[i][j]-USUM(i,j);}for(j=i+1;j<=n;j++){if(i<n)L[j][i]=(A[j][i]-LSUM(i,j))/U[i][i];}}printf("矩陣A為:\n\n");for(i=1;i<=n;i++){for(j=1;j<=n;j++)printf("%.2f\t",A[i][j]);printf("\n");}printf("\n");printf("將A分解的L為:\n");for(i=1;i<=n;i++){for(j=1;j<=i;j++)printf("%.2f\t",L[i][j]);printf("\n");}printf("\n");printf("將A分解的U為:\n");for(i=1;i<=n;i++){for(j=1;j<=n;j++){if(j<i)printf("\t");elseprintf("%.2f\t",U[i][j]);

printf("\n");}printf("\n");return0;}三、運(yùn)行結(jié)果卜rcsan.dSettinEs\AdMinis-tra-tor\^面\計(jì)算機(jī)數(shù)值方法賓壟\實(shí)螫一直…儲(chǔ)輸人需分解的矩陣的行數(shù)佑列魏相零廠4Jta.2100-3-3-4-1213123-44149-13[矩辭為:2.0010.000_00-3-00-3-00-4.00-12.0013-QB1.092.003-00-4_004.3914.009-00-13.00|將口分解的L劃1.00一1?5日1.008.59-0.271-0S2.09-0.55-9.001.00|將吩

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論