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

  • 大小: 592KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-28
  • 語言: C/C++
  • 標簽: 曲線擬合??

資源簡介

最小二乘法曲線擬合C語言可執行代碼

資源截圖

代碼片段和文件信息

#include?“stdio.h“
#include?“stdlib.h“
#include?“math.h“
#include?“vector“
using?namespace?std;

struct?point
{
double?x;
double?y;
};

typedef?vector?doubleVector;

vector?getFileInf(char?*File);??//獲取文件數據
doubleVector?getCoeff(vector?sample?int?n);???//矩陣方程

void?main()
{
int?i?n;
char?*File?=?“樣本.txt“;
vector?sample;
doubleVector?Coef;

sample?=?getFileInf(File);

printf(“擬合階數n:“);
scanf(“%d“?&n);

Coef?=?getCoeff(sample?n);

printf(“\n擬合矩陣的系數為:\n“);
for(i=0;?i printf(“a%d?=?%lf\n“?i?Coef[i]);

}


//矩陣方程
doubleVector?getCoeff(vector?sample?int?n)
{
vector?matFunX;??//矩陣方程
vector?matFunY;??//矩陣方程
doubleVector?temp;
double?sum;
int?i?j?k;

//正規方程X
for(i=0;?i<=n;?i++)
{
temp.clear();
for(j=0;?j<=n;?j++)
{
sum?=?0;
for(k=0;?k sum?+=?pow(sample[k].x?j+i);
temp.push_back(sum);
}

matFunX.push_back(temp);
}


//正規方程Y
for(i=0;?i<=n;?i++)
{
temp.clear();
sum?=?0;
for(k=0;?k sum?+=?sample[k].y*pow(sample[k].x?i);
temp.push_back(sum);

matFunY.push_back(temp);
}


//矩陣行列式變換
double?num1?num2?ratio;

for(i=0;?i {
num1?=?matFunX[i][i];
for(j=i+1;?j {
num2?=?matFunX[j][i];
ratio?=?num2/num1;

for(k=0;?k matFunX[j][k]?=?matFunX[j][k]-matFunX[i][k]*ratio;

matFunY[j][0]?=?matFunY[j][0]-matFunY[i][0]*ratio;
}

}


//計算擬合曲線的系數
doubleVector?coeff(matFunX.size()?0);
for(i=matFunX.size()-1;?i>=0;?i--)
{
if(i==matFunX.size()-1)
coeff[i]?=?matFunY[i][0]/matFunX[i][i];

else
{
for(j=i+1;?j matFunY[i][0]?=?matFunY[i][0]-coeff[j]*matFunX[i][j];
coeff[i]?=?matFunY[i][0]/matFunX[i][i];
}
}


return?coeff;
}


//獲取文件數據
vector?getFileInf(char?*File)
{
int?i=1;
vector?dst;

FILE?*fp?=?fopen(File?“r“);

if(fp==NULL)
{
printf(“Open?file?error!!!\n“);
exit(0);
}

point?temp;
double?num;

while(fscanf(fp?“%lf“?&num)!=EOF)
{
if(i%2==0)
{
temp.y?=?num;
dst.push_back(temp);
}
else
temp.x?=?num;
i++;
}

fclose(fp);

return?dst;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-07-31?09:16??最小二乘法曲線擬合\
?????目錄???????????0??2015-07-30?22:11??最小二乘法曲線擬合\Debug\
?????文件???????66560??2015-07-31?09:14??最小二乘法曲線擬合\Debug\vc60.idb
?????文件???????86016??2015-07-30?22:11??最小二乘法曲線擬合\Debug\vc60.pdb
?????文件???????79314??2015-07-30?22:11??最小二乘法曲線擬合\Debug\曲線擬合.obj
?????文件??????254032??2015-07-30?22:11??最小二乘法曲線擬合\Debug\最小二乘法曲線擬合.exe
?????文件??????607004??2015-07-30?22:11??最小二乘法曲線擬合\Debug\最小二乘法曲線擬合.ilk
?????文件?????1164960??2015-07-30?20:39??最小二乘法曲線擬合\Debug\最小二乘法曲線擬合.pch
?????文件??????730112??2015-07-30?22:11??最小二乘法曲線擬合\Debug\最小二乘法曲線擬合.pdb
?????文件????????2441??2015-07-30?22:11??最小二乘法曲線擬合\曲線擬合.cpp
?????文件????????4420??2015-07-30?20:39??最小二乘法曲線擬合\最小二乘法曲線擬合.dsp
?????文件?????????544??2015-07-30?20:39??最小二乘法曲線擬合\最小二乘法曲線擬合.dsw
?????文件???????41984??2015-07-31?09:16??最小二乘法曲線擬合\最小二乘法曲線擬合.ncb
?????文件???????48640??2015-07-31?09:16??最小二乘法曲線擬合\最小二乘法曲線擬合.opt
?????文件?????????270??2015-07-31?09:14??最小二乘法曲線擬合\最小二乘法曲線擬合.plg
?????文件??????????61??2015-07-30?20:41??最小二乘法曲線擬合\樣本.txt
?????文件??????????47??2015-07-30?20:57??最小二乘法曲線擬合\樣本1.txt

評論

共有 條評論