



免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(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;因?yàn)閗的值和含義后面會變,而后面要用到k的初值;for(;k4;k+) if(aj-1j-1!=0) m=akj-1/aj-1j-1; /計(jì)算消元時乘的乘數(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; /驗(yàn)證精度用的double m(0),n(0); /精度驗(yàn)證/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;/ 驗(yàn)證精度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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦物基絕熱材料的研發(fā)考核試卷
- 環(huán)境設(shè)計(jì)畢設(shè)答辯
- 呼吸機(jī)轉(zhuǎn)運(yùn)病人操作規(guī)范與流程
- 喉軟化病人麻醉管理
- 人體的營養(yǎng)和呼吸
- 睡眠呼吸暫停低通氣綜合癥
- 新青年麻醉學(xué)科核心課程體系建設(shè)
- 手衛(wèi)生依從性監(jiān)測數(shù)據(jù)解讀
- 自然語言及語音處理項(xiàng)目式教程 習(xí)題庫 02-多選題
- 供應(yīng)鏈金融創(chuàng)新應(yīng)用2025:中小微企業(yè)融資新策略解析
- 第四篇-皮膚科疾病臨床評分表
- 淺析韋伯《邀舞》
- 房地產(chǎn)中介創(chuàng)業(yè)計(jì)劃書
- PICC堵管原因分析腫一10.11
- 《城市地理學(xué)》課件
- 化工與安全工程
- 腦梗塞介入取栓護(hù)理查房課件
- 2024屆上海市普陀區(qū)上海師大附中化學(xué)高二下期末綜合測試試題含解析
- 循環(huán)經(jīng)濟(jì)產(chǎn)業(yè)鏈拓展項(xiàng)目商業(yè)計(jì)劃書
- GB/T 43295-2023教育與學(xué)習(xí)服務(wù)遠(yuǎn)程學(xué)習(xí)服務(wù)要求
- 校園網(wǎng)絡(luò)文化建設(shè)課件
評論
0/150
提交評論