



免費預(yù)覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)值算法之列主元消元法 下面的代碼直接復(fù)制就可以用,代碼都做了解釋,比較容易看懂。方便學(xué)數(shù)值算法的同學(xué)。供大家交流。#include#include#include#include #include /包含輸出格式設(shè)置的頭文件typedef double array45;double answer4; /answer4代表借的數(shù)組;/*void Init_array(array a) /數(shù)組的初始化并賦值;int i,j; /i數(shù)組的代表行,j代表數(shù)組的列;for (i=0;i4;i+)for (j=0;j5;j+)cout請輸入數(shù)組的第i+1行,第j+1列的值:aij;/改進(jìn)的Init_array(array a)函數(shù)void Init_array(array a)int i,j;cout請輸入數(shù)組:endl;for(i=0;i4;i+)for(j=0;j5;j+)coutaijaij;coutendl;*/void cout_array(array a) /輸出數(shù)組的函數(shù),無返回值;int i,j;for(i=0;i4;i+)for (j=0;j5;j+)coutsetw(15)aij; /setw(6)設(shè)定輸出的每個數(shù)組占6位,包含在iomainip頭文件中coutendl;int maxelem(array a,int k) /a代表數(shù)組a,k代表第k次選組員;函數(shù)的返回值是int類型的值,代表最大組員所在的行;double i; /i用來傳參int j,m; /j用來返回最大數(shù)組所在的列;k-; /使k值與數(shù)組對應(yīng)起來,方便下面操作;i=akk;m=k;j=k+1;for(;kakm) j=k+2; return j;void swapline(array a,int k,int l) /a代表數(shù)組a,k代表第k次選組員,l代表最大組員所在的行;函數(shù)用來交換組,無返回值;double m; /m用來傳參k-; /方便后面的使用l-;for(int j=0;j5;j+)m=akj;akj=alj;alj=m;void cancellist(array a,int k) /a代表數(shù)組a,k代表第k次選組員,函數(shù)用來消元,把數(shù)組轉(zhuǎn)換成上三角,無返回值;double m; /m代表消組員時的乘數(shù);int j;j=k; /讓k的值賦給j;因為k的值和含義后面會變,而后面要用到k的初值;for(;k4;k+) if(aj-1j-1!=0) m=akj-1/aj-1j-1; /計算消元時乘的乘數(shù); cout第k次消元的乘數(shù)為mendl; for(int i=j-1;i5;i+) /k代表行,i代表列; aki=aki-aj-1i*m; /if(a321e-16) /couta32endl; / 第三次求得的a32是一個小于10的-16次方的小數(shù); /else cout無法進(jìn)行列主元求解endl; exit(0);void main()array a;array b;int i,j; /驗證精度用的double m(0),n(0); /精度驗證/Init_array(a); /用改進(jìn)的方法初始化任意數(shù)組/為數(shù)組賦值;a00=1 ,a01=-1,a02= 1,a03=-4,a04= 2, a10=5 ,a11=-4,a12= 3,a13=12,a14= 4, a20=2 ,a21= 1,a22= 1,a23=11,a24= 3, a30=2 ,a31=-1,a32= 7,a33=-1,a34= 0; for( i=0;i4;i+)for( j=0;j5;j+) bij=aij;/*a00=5 ,a01=1,a02=1 ,a03=1,a04=8 ,a10=6 ,a11=1,a12=1 ,a13=1,a14=9 ,a20=7 ,a21=1,a22=1 ,a23=1,a24=10 ,a30=8 ,a31=1,a32=1 ,a33=1,a34=11 ; */ /用來測試能不能滿足算法要求的一組數(shù)據(jù)cout_array(a);cout最大組員所在的行:maxelem(a,1)endl;swapline(a,1,maxelem(a,1);cout第一次換行后的數(shù)組:endl;cout_array(a);cancellist(a,1);cout第一次消元后的數(shù)組:endl;cout_array(a);cout最大組員所在的行:maxelem(a,2)endl;swapline(a,2,maxelem(a,2);cout第二次換行后的數(shù)組:endl;cout_array(a);cancellist(a,2);cout第二次消元后的數(shù)組:endl;cout_array(a);cout最大組員所在的行:maxelem(a,3)endl;swapline(a,3,maxelem(a,3);cout第三次換行后的數(shù)組:endl;cout_array(a);cancellist(a,3);cout第三次消元后的數(shù)組:endl;cout_array(a);/人工手代反求解降低算法的重復(fù)度answer3=a34/a33;answer2=(a24-a23*answer3)/a22;answer1=(a14-a13*answer3-a12*answer2)/a11;answer0=(a04-a03*answer3-a02*answer2-a01*answer1)/a00;cout則解得方程的解為:endl;for( i=0;i4;i+)coutsetw(15)answeri;coutendl;/ 驗證精度for(i=0;i4;i+)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡化流程猜謎離婚協(xié)議快速達(dá)成婚姻解除
- 柴油銷售區(qū)域保護(hù)與市場拓展合同范本
- 成都二手房交易房屋交易房屋抵押貸款合同
- 餐飲店裝修工程結(jié)算協(xié)議
- 便利店24小時無人值守運營管理合同
- 殘疾人勞動合同簽訂與職業(yè)康復(fù)服務(wù)對接指南
- 資產(chǎn)重組采礦權(quán)抵押貸款合同
- 電子課件磨工初級教學(xué)
- 教學(xué)課件封面圖
- 醫(yī)療急救相關(guān)知識考試試卷含交通傷休克等考點
- 成品金屬格柵施工方案
- DBJ04-T 432-2022 建設(shè)工程全過程造價咨詢標(biāo)準(zhǔn)
- 山東省濟(jì)南市(2024年-2025年小學(xué)四年級語文)人教版期末考試((上下)學(xué)期)試卷及答案
- 人美 版三年級美術(shù)下冊(北京)《18.設(shè)計緊急避難路線圖》教學(xué)設(shè)計
- SLT 478-2021 水利數(shù)據(jù)庫表結(jié)構(gòu)及標(biāo)識符編制總則
- 01J925-1壓型鋼板、夾芯板屋面及墻體建筑構(gòu)造
- 《霍山石斛》課件
- 浙江省杭州市西湖區(qū)2025屆數(shù)學(xué)七年級第一學(xué)期期末考試試題含解析
- 醫(yī)院信息機(jī)房運維服務(wù)項目需求
- 2024年重慶育才中學(xué)九年級6月中考英語模擬試題
- 有趣的漢字甲骨文演變完整模板
評論
0/150
提交評論