版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、三元線(xiàn)性回歸主要是研究因變量y與三個(gè)自變量之間的線(xiàn)性關(guān)系。其數(shù)學(xué)模型為:y=a0+a1x1+a2k2+a3x3具體參考線(xiàn)性回歸相關(guān)理論計(jì)算公式。(理論部分鏈接由于審核問(wèn)題不便給出,請(qǐng)自行百度)本次代碼數(shù)據(jù)均來(lái)源文庫(kù)中的數(shù)據(jù),并經(jīng)過(guò)驗(yàn)證可行。下面給出其C+實(shí)現(xiàn)代碼:/*功能:從.txt中讀取一組n*4(n3)的矩陣,(或者自己在代碼中直接輸入數(shù)組矩陣)計(jì)算其線(xiàn)性回歸系數(shù)并計(jì)算其相關(guān)系數(shù)*/#include #include #include #include using namespace std;/ 打印二元數(shù)組,arr表示數(shù)組首地址,row表示行(1表示一元數(shù)組),col表示列 void p
2、rintArray(double* arr,int row,int col);/ 獲取.txt文件中矩陣的列數(shù) int getColumns(const char * fileName);/ 獲取.txt文件中矩陣的行數(shù) int getRows(const char * fileName);/ 計(jì)算方程組的系數(shù) row,col表示行列,a,b表示角標(biāo) double Lab(double *arr,int row,int col,int a,int b);/ 計(jì)算三元數(shù)組行列式的值 double det(double *arr,int n=3);/ 計(jì)算x的n次方 int power(int x
3、,unsigned int n);int main()double data;int Col,Row;int i,j;char c;/ 從arr.txt中讀取矩陣/*矩陣存儲(chǔ)格式如下: 1 1 1 11 1 1 1. . . . . . . . . .1 1 1 1 一二三四列分別代表x1,x2,x3,y*/ ifstream fin(arr.txt,ios:in);/ 獲取矩陣的行和列 Col = getColumns(arr.txt);Row = getRows(arr.txt);/ 輸出 cout 矩陣的列數(shù)是: Col 矩陣的行數(shù)是: Row;cout endl;double arrR
4、owCol;/ 數(shù)組初始化為0 for(i=0;i data;arrij = data;+j;/ 判斷是否換行 c=fin.peek(); if(n=c) +i;j = 0; / 打印輸出數(shù)組printArray(arr0,Row,Col);fin.close();cout endl;/ 計(jì)算線(xiàn)性方程組系數(shù) double labArray44=0;for(i=0;i3;i+)for(j=0;j4;j+)labArrayij = Lab(arr0,Row,Col,i,j);labArray33 = Lab(arr0,Row,Col,3,3);/ printprintArray(labArray0
5、,4,4);cout endl;/ 計(jì)算線(xiàn)性方程組的解 double fenmu = 0;double fenzi3;double b33=labArray00,labArray01,labArray02,labArray10,labArray11,labArray12,labArray20,labArray21,labArray22;double tmp33;memcpy(tmp,b,sizeof(double)*9);fenmu = det(b0,3);cout fenmu endl;for(i = 0;i 3; +i)memcpy(tmp,b ,sizeof(double)*9);for
6、(j = 0; j 3 ;+j)tmpji = labArrayj3;fenzii = det(tmp0,3);printArray(fenzi,1,3);double a4=0;for(i = 0; i 3; +i)ai+1 = fenzii / fenmu;/ 計(jì)算a0 double sumX1=0,sumX2=0,sumX3=0,sumY=0;for(i = 0; i Row; +i)sumX1 += arri0;sumX2 += arri1;sumX3 += arri2;sumY += arri3;a0 = sumY/Row - sumX1*a1/Row - sumX2*a2/Row
7、- sumX3*a3/Row;printArray(a,1,4);cout endl;cout 線(xiàn)性關(guān)系為: ;cout y = a0 + a1; cout x1 + a2 x2 + a3 x3 endl;cout endl;/ 計(jì)算相關(guān)系數(shù) double r=0,S=0;r = sqrt( (a1*labArray00+a2*labArray10+a3*labArray22) / labArray33 );S=sqrt(labArray33 (a1*labArray00+a2*labArray10+a3*labArray22) / (Row - Col) );cout 相關(guān)系數(shù) r : se
8、tw(10) r endl; cout 剩余標(biāo)準(zhǔn)差 S : setw(10) S endl;cout endl;return 0;/ 打印二元數(shù)組,arr表示數(shù)組首地址,row表示行(1表示一元數(shù)組),col表示列 void printArray(double* arr,int row=1,int col=1)int i,j;for(i=0;irow;i+)for(j=0;jcol;j+)cout setw(10) *(arr+i*col+j); cout endl;cout tmp; +col; c = ifs.peek(); ifs.close(); return col; / 獲取.tx
9、t文件中矩陣的行數(shù) int getRows(const char *fileName) ifstream ifs; int row=0;string tmp; ifs.open(fileName,std:ios:in); if(ifs) while(getline(ifs,tmp,n) +row; ifs.close(); return row ; / 計(jì)算方程組的系數(shù) row,col表示行列,a,b表示角標(biāo) double Lab(double *arr,int row,int col,int a,int b)int i=0;double sum1=0,sum2=0,asum=0,bsum=0
10、;for(i = 0;i row; +i)sum1 += (*(arr+i*col+a) * (*(arr+i*col+b);asum += *(arr+i*col+a);bsum += *(arr+i*col+b); sum2 = (asum*bsum)/row;return sum1-sum2; / 計(jì)算三元數(shù)組行列式的值double det(double *arr,int n=3)double result = 0;double det1,det2,det3;int i;det1 = (*arr) * (*(arr+1*n+1) * (*(arr+2*n+2) - (*(arr+1*n+2) * (*(arr+2*n+1);det2 = (*(arr+1) * (*(arr+1*n+0) * (*(arr+2*n+2) - (*(arr+1*n+2) * (*(arr+2*n+0);det3 = (*(arr+2) * (*(arr+1*n+0) * (*(arr+2*n+1) - (*(arr+1*n+1) * (
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版存量買(mǎi)賣(mài)合同二零二五年度新型建筑材料3篇
- 2025年智慧城市規(guī)劃設(shè)計(jì)與應(yīng)用技術(shù)服務(wù)合同3篇
- 2025年度人工智能教育機(jī)構(gòu)勞動(dòng)合同協(xié)議書(shū)范本3篇
- 2025年70米煙囪拆除工程施工用電安全管理與監(jiān)督合同3篇
- 2025年美甲美睫店兼職美甲師合作協(xié)議
- 2025年度體育賽事活動(dòng)場(chǎng)地租用及保障服務(wù)協(xié)議3篇
- 二零二五年度廠房租賃安全生產(chǎn)責(zé)任書(shū)3篇
- 2025年度智能建筑項(xiàng)目分包勞務(wù)協(xié)議補(bǔ)充合同
- 2025年建筑工程施工合同模板:綠色建筑性能檢測(cè)與認(rèn)證3篇
- 二零二五年度汽車(chē)維修配件供應(yīng)鏈合同樣本3篇
- 服務(wù)器報(bào)價(jià)表
- 2025年高考化學(xué)試題分析及復(fù)習(xí)策略講座
- 世界近代史-對(duì)接選擇性必修 課件-高考統(tǒng)編版歷史一輪復(fù)習(xí)
- 2024-2029年中國(guó)制漿系統(tǒng)行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告
- 大門(mén)封條模板
- 【“凡爾賽”網(wǎng)絡(luò)流行語(yǔ)的形成及傳播研究11000字(論文)】
- ppr管件注塑工藝
- 液化氣站其他危險(xiǎn)和有害因素辨識(shí)及分析
- 高中語(yǔ)文教學(xué)課例《勸學(xué)》課程思政核心素養(yǎng)教學(xué)設(shè)計(jì)及總結(jié)反思
- 中國(guó)農(nóng)業(yè)銀行小微企業(yè)信貸業(yè)務(wù)貸后管理辦法規(guī)定
- 市政道路建設(shè)工程竣工驗(yàn)收質(zhì)量自評(píng)報(bào)告
評(píng)論
0/150
提交評(píng)論