xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 5KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-13
  • 語言: C/C++
  • 標簽:

資源簡介

實現任意多個變量以最小二乘法擬合成的新線性方程,通過變量帶入線性方程可求得任意的擬合值。文件首行為行號、列號,其余行為數據行。

資源截圖

代碼片段和文件信息

#include
#include
#include
using?namespace?std;

void?transpose(double?**p1double?**p2int?mint?n);
void?multipl(double?**p1double?**p2double?**p3int?mint?nint?p);
void?Inver(double?**p1double?**p2int?n);
double?SD(double?**p1double?**p2double?**p3double?**p4int?mint?n);
double?ST(double?**p1int?m);
void?de_allocate(double?**dataint?m);


int?main()?{
int?rowcol;
char?filename[30];
double?SDsumSTsumFR2;

cout<<“Input?original?data?file:?\n“;
ifstream?infile;??//打開文件
cin>>filename;
infile.open(filename);
if(!infile)?{
cout<<“Opening?the?file?failed!\n“;
exit(1);
}
infile>>row>>col;?//讀入文件中的行數和列數

double?**matrix=new?double*[row];?//為動態二維數組分配內存
double?**X=new?double*[row];
double?**Y=new?double*[row];
double?**XT=new?double*[col];
double?**XTX=new?double*[col];
double?**XTXInv=new?double*[col];
double?**XTXInvXT=new?double*[col];
double?**B=new?double*[col];
double?**YE=new?double*[row];
for(int?i=0;i??matrix[i]=new?double[col];
??X[i]=new?double[col];
??Y[i]=new?double[1];
??Y[i]=new?double[1];
??YE[i]=new?double[1];
}
for(int?i=0;i??XT[i]=new?double[row];
??XTX[i]=new?double[2*col];/////////////////////為什么必須分配2*col列空間而不是col?在矩陣求逆時,XTX變增廣矩陣,列數變為原來2吧倍,跟求逆算法有關。
??XTXInv[i]=new?double[col];
??XTXInvXT[i]=new?double[row];
??B[i]=new?double[1];
}
for(int?i=0;i??for(int?j=0;j????infile>>matrix[i][j];
infile.close();

for(int?i=0;i??X[i][0]=1;
??Y[i][0]=matrix[i][col-1];
??for(int?j=0;j????X[i][j+1]=matrix[i][j];
}

transpose(XXTrowcol);
multipl(XTXXTXcolrowcol);
Inver(XTXXTXInvcol);
multipl(XTXInvXTXTXInvXTcolcolrow);
multipl(XTXInvXTYBcolrow1);
SDsum=SD(YXBYErowcol);
STsum=ST(Yrow);
F=((STsum-SDsum)/(col-1))/(SDsum/(row-col));
R2=1/(1+(row-col)/F/(col-1));


cout<<“輸出B:\n“;??//屏幕輸出結果B,SD,ST,F,R2
for(int?i=0;i??cout<??cout<cout<<“SD=“<

ofstream?outfile;?//?結果寫入文件
cout<<“Output?file‘name:\n“;
cin>>filename;
outfile.open(filename);
if(!outfile)?{
??cout<<“Opening?the?file?failed!\n“;
??exit(1);
}
outfile<<“輸出B:\n“;
for(int?i=0;i??outfile<??outfile<outfile<o

評論

共有 條評論