freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

線性方程組ax=b的數(shù)值計算方法實驗(留存版)

2025-02-20 21:08上一頁面

下一頁面
  

【正文】 數(shù)學上,高斯消元法是線性代數(shù)規(guī)劃中的一個算法,可用來為線性方程組求解。 三、 實驗內(nèi)容 1 許多科學應用包含的矩陣帶有很多的零。 2 求解線性方程組 AX=B,其中 A=[aij]NN, ,aij=ij1;而且 B=[bij]N1, b11=N,當 i≥時, bij=(iN1)/(i1)。 aN2xN2+dN1xN1+cN1xN =bN1 aN1xN1+dNxN =bN ( i) 根據(jù)方程組( 1),式( 2)和式( 3),設計一個算法來求解上述方程組。 方程組( 1)的結(jié)果為12341322xxxx??? ??? ??? ???,方程組( 2)的結(jié)果為12342321xxxx??? ??? ???? ??。 4 實驗描述: ( 1)本實驗的目的為使用高斯 — 賽德爾迭代求解帶狀方程組; ( 2)由于 實驗中的帶狀方程有極強的稀疏性和相似性,故編程時應考慮該矩陣的以上特點以減少運算量及運行時占用的內(nèi)存; ( 3)為了減少程序的運行次數(shù),故選擇式( 3)作為運行的程序; ( 4)應無明確的結(jié)束標志,故選擇 delta= 1xkkiix? ? 1e5 作為結(jié)束迭代的標志,此時再進行一輪迭代后輸出結(jié)果。 //此函數(shù)用于計算矩陣的解 float *uptrbk(float **A,int N) { float c。 x[n]=A[n][N]/A[n][n]。k=N。 float *lufact(float**,float*,int)。 coutx的值為 a: endl。j++) { c=U[j][i]/U[i][i]。 x[i]=y[i]/U[i][i]。 coutx的值為: endl。j=N。j) y[i]=y[i]x[j]*U[i][j]。 //生成元素個數(shù)為 N的動態(tài)矩陣 B N=N+1。 float **invA=new float *[N]。i++) //判斷 A是否存 在逆矩陣 { if(LU[i][i]==0) { cout矩陣 A不存在逆矩陣! endl。 float c。 } for(j=i+1。 for(i=0。 }。 cout請輸入的循環(huán)個數(shù)及序列 : 。 double *X=new double [N1]。ji。 }。 cout請輸入的循環(huán)個數(shù)及序列 : 。 double *X=new double [N1]。ji。 //計算兩次計算的相對誤差 } return X。iN。 return 0。 cout請輸入系數(shù)元素的序列: 。 //計算兩次計算的相對誤差 } return X。iN。 return 0。 cout請輸入系數(shù)元素的序列: 。 } return x。 for(i=0。 a=B[i]。 coutendl。i++) B[i]=i。 //輸入矩陣的階數(shù) N,用于生成動態(tài)矩陣 cinN。j++) A[i][j]=pow(double(i+1),j)。 } for(i=N。 //生 成 用于保存中間值的列矩陣Y U=A。 N=N1。i=0。 for(i=0。 //生 成動態(tài)矩陣 B for(i=0。 cout請輸入矩陣的階數(shù): 。 cout請輸入增廣矩陣的值 endl。 } x[N1]=A[N1][N]/A[N1][N1]。A(2,3:4)*P(3:4))/A(2,2) j==N1 X(N1)=(B(N1)A(N1,N3:N2)*X(N3:N2)39。 3 實驗描述: ( 1)本次實驗的目的為求解 A 的逆矩陣 A1,求解方法為利用 A[C1 C2 … CN]=[E1 E2 … EN] , A1=[C1 C2 … CN]求解 , 故可將之分解為對于ACk=Ek, k=1, 2, 3, 12x1 2x2+x3 =5 2x1+12x22x3+x4 =5 x12x2+12x32x4+x5=5 x22x3+12x42x5+x6=5 +aNNxN=bN ( 1)kjx? = ( ) ( ) ( ) ( )1 1 1 1 1 1 研究雅可比迭代法,我們發(fā)現(xiàn)在逐個求 )( 1kX? 的分量時,當計算到 )( 1kiX? 時 ,分量 )( 1k1X? , ......, )( 1k1iX? 都已經(jīng)求得,而仍用舊分量 k1X , ......, )( k1iX 計算 )( 1kiX? 。關于線性方程組的數(shù)值解法一般有兩類:直接法和迭代法。 對一般的 n 階方程組,消去過程分 n1 步:第一步消去 11a 下方元素。 a1jxj+ N P))。 N 的求解方法使用 LU 三角分解法求 《數(shù)值方法》實驗報告 12 解,用此方法求解出各個 Ek 對應的 Ck,最后以此構(gòu)成 A1; (4)求出 LU 后,應判斷矩陣對角線上是否存在為 0 的元素,若存在,則 A 不存在逆矩陣;若不存在,則可求解逆矩陣 A1; (5)上述方法中的 LU 分解只需要進行一次; (6)對于程序的正確性使用矩陣 1 3 22 6 4251??????及矩陣 1 2 32132 3 1??????進行驗證,其中,矩陣 1 3 22 6 4251??????不存在逆矩陣,矩陣 1 2 32132 3 1??????的逆矩陣為 66 7 0 .58 33 5 33 3 16 7 0 .25 33 3 0 .08 33 5?????? 實驗結(jié)果: ( 1)輸入為矩陣 1 3 22 6 4251?????? 圖 7 ( 2) 輸入 矩陣為 1 2 32132 3 1?????? 《數(shù)值方法》實驗報告 13 圖 8 實驗結(jié)論: 如果系數(shù)矩陣能分解為 LU的形式,其中 L為下三角矩陣, U為上三角矩陣,通過對系數(shù)矩陣的分解再求解可應用簡單的迭代進行求解 x。 p=1 N=length(B)。n++) //進行高斯 消元法計算 x[k], k=1, 2,3 int i,k。iN。 cout請輸入矩陣 A的值: endl。 return 0。 } } for(i=0。 double **A。 return 0。 U[j][i]=c。 //生成二維動態(tài)數(shù)組A[N1][N1] for(i=0。 return B。 //輸入矩陣 A的值 for(i=0。i++) //若存在求解逆矩陣 invA[i]=LUsave(LU,B[i],i,N)。i=N。k++) LU[j][k]=LU[j][k]c*LU[i][k]。 y[i]=B[i]。 double *X=new double [N1]。i++) cin[i]。 double delta=1e6。j=i+deltan。 double *X=new double [N1]。i++) cin[i]。 double delta=1e6。j=i+deltan。 m++。 bool run=true。 //求解方程組 cout方程組的解為: endl。 cout請輸入矩陣的每行最大元素數(shù): 。 m++。 bool run=true。 //求解方程組 cout方程組的解為: endl。 cout請輸入矩陣的每行最大元素數(shù): 。i=0。 } } return LU。 while(LU[i][i]==0amp。 //輸出矩陣 A的逆矩陣 for(i=0。i++) for(j=0。 //實驗的 main函數(shù) int main() { int N,i,j。i++) A[i]=new double [N]。i=N。 double c。 double **buildA(int)。i++)
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1