91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 278KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2021-07-07
  • 語言: C/C++
  • 標簽: C++??

資源簡介

剛接觸AHP時編寫的C++實現代碼,內附注釋及實例說明。

資源截圖

代碼片段和文件信息

//-----------------------------------------------------------------
//三層結構的層次分析法實現程序AHP.cpp(nuaaxuyp??2010.5.7)
//層次結構的特征:(方案層的方案個數)=(Bi準則對應方案矩陣的階數)
//此程序中判斷矩陣由鍵盤輸入(也可以從文件讀入)
#include?
#include?
double*?eigen(double?*pint?n){????//使用和法求矩陣特征根和特征向量
????double?*A1*A2*sum1*sum2*W;
A1=new?double[n*n];
A2=new?double[n];
sum1=new?double[n];
sum2=new?double[n];
W=new?double[n+1];
double?sum3sum4lambda;
sum3=sum4=0.0;
int?ij;
for(i=0;i sum1[i]=0.0;
for(j=0;j sum1[i]+=p[j*n+i];
????for(j=0;j A1[j*n+i]=p[j*n+i]/sum1[i];
}????????????????????????
for(i=0;i sum2[i]=0.0;
for(j=0;j sum2[i]+=A1[i*n+j];
}
for(i=0;i sum3=sum3+sum2[i];
for(i=0;i W[i]=sum2[i]/sum3;
for(i=0;i A2[i]=0.0;
for(j=0;j A2[i]+=p[i*n+j]*W[j];
}
for(i=0;i sum4+=A2[i]/W[i];
lambda=sum4/n;??
W[n]=lambda;
return?W;
delete?[]A1;
delete?[]A2;
delete?[]sum1;
delete?[]sum2;
delete?[]W;
}
void?main(){
????int?mnij;
double?CICR*p*q*A;
double?RI[11]={000.580.901.121.241.321.411.451.491.51};?
cout<<“請輸入準則個數:“;????//求目標A的準則層判斷矩陣的特征向量
cin>>n;
????m=n;
p=new?double[n*n];
cout<<“請輸入準則層對目標層的判斷矩陣:“<????for(i=0;i cin>>p[i];
}?
????q=eigen(pn);????//求準則層判斷矩陣的特征根及特征向量
????A=q;
CI=(q[n]-n)/(n-1);????//一致性檢驗
CR=CI/RI[n-1];
if(CR<0.1){
cout.setf(ios::fixedios::floatfield);
cout.precision(4);
cout<<“準則層判斷矩陣CR=“< }
else{?
cout.setf(ios::fixedios::floatfield);
cout.precision(4);
cout<<“準則層判斷矩陣CR=“<????}
cout<<“準則層對目標層權向量為:“< for(i=0;i cout.setf(ios::leftios::adjustfield);????//設置輸出為左對齊
cout.setf(ios::fixedios::floatfield);????//設置以定點數格式輸出
cout.precision(4);??//設置精度
cout< }
cout< delete?p;
double?*B[10]*C[10]*W1*W2;
????cout<<“請輸入方案個數:“;
cin>>n;
W1=new?double[m*n];
W2=new?double[n];
cout<<“請輸入方案層對準則層的各判斷矩陣:“< for(j=0;j ????cout<<“B“< p=new?double[n*n];
????????for(i=0;i ????cin>>p[i];
}
B[j]=p;
}
for(j=0;j????????q=eigen(B[j]n);????
C[j]=q;
????????CI=(q[n]-n)/(n-1);????//一致性檢驗
????CR=CI/RI[n-1];
if(CR<0.1){
????????????cout.setf(ios::fixedios::floatfield);
cout.precision(4);
????cout<<“準則B“< }
else{?
cout.setf(ios::fixedios::floatfield);
cout.precision(4);
cout<<“準則B“< }
}
for(j=0;j????????for(i=0;i W1[m*i+j]=C[j][i];
cout<<“方案層對準則層權向量為:“< for(j=0;j cout.setf(ios::leftios::adjustfield);????//設置輸出為左對齊
cout.setf(ios::fixedi

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????96768??2010-05-07?16:08??AHP的C++代碼\實例說明及程序執行結果.doc

?????文件???????3962??2010-05-07?16:09??AHP的C++代碼\層次分析法(AHP)C++代碼\AHP.cpp

?????文件???????3365??2010-05-07?15:58??AHP的C++代碼\層次分析法(AHP)C++代碼\AHP.dsp

?????文件????????531??2010-05-07?16:09??AHP的C++代碼\層次分析法(AHP)C++代碼\AHP.dsw

?????文件??????41984??2010-05-07?16:09??AHP的C++代碼\層次分析法(AHP)C++代碼\AHP.ncb

?????文件??????48640??2010-05-07?16:09??AHP的C++代碼\層次分析法(AHP)C++代碼\AHP.opt

?????文件???????1153??2010-05-07?15:59??AHP的C++代碼\層次分析法(AHP)C++代碼\AHP.plg

?????文件?????233553??2010-05-07?15:59??AHP的C++代碼\層次分析法(AHP)C++代碼\Debug\AHP.exe

?????文件?????268744??2010-05-07?15:59??AHP的C++代碼\層次分析法(AHP)C++代碼\Debug\AHP.ilk

?????文件??????17520??2010-05-07?15:58??AHP的C++代碼\層次分析法(AHP)C++代碼\Debug\AHP.obj

?????文件?????260832??2010-05-07?15:58??AHP的C++代碼\層次分析法(AHP)C++代碼\Debug\AHP.pch

?????文件?????558080??2010-05-07?15:59??AHP的C++代碼\層次分析法(AHP)C++代碼\Debug\AHP.pdb

?????文件??????41984??2010-05-07?15:59??AHP的C++代碼\層次分析法(AHP)C++代碼\Debug\vc60.idb

?????文件??????61440??2010-05-07?15:58??AHP的C++代碼\層次分析法(AHP)C++代碼\Debug\vc60.pdb

?????目錄??????????0??2010-05-07?15:58??AHP的C++代碼\層次分析法(AHP)C++代碼\Debug

?????目錄??????????0??2010-05-07?16:09??AHP的C++代碼\層次分析法(AHP)C++代碼

?????目錄??????????0??2010-05-07?16:09??AHP的C++代碼

-----------?---------??----------?-----??----

??????????????1638556????????????????????17


評論

共有 條評論