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

資源簡介

vs2010工程C++實現 利用最小二乘法實現多元一次方程線性擬合。 利用遞歸方法求逆矩陣,所以高階矩陣(9階以上)會比較慢。

資源截圖

代碼片段和文件信息

//?regression.cpp?:?定義控制臺應用程序的入口點。
//
#include?“stdafx.h“
#include?“regression.h“
#include?
#include?
#include?
#include?


int?_tmain(int?argc?_TCHAR*?argv[])
{
????FILE?*fp;
????char?fbuffer[200];
????int?rowcolumn;
????double?data[31][31];
????row?=?0;
????column?=?0;
errno_t?err;
????err?=?fopen_s(&fp“test.txt““r“);
????if(err?!=?0){
????????return?1;
????}
????while(!feof(fp)){
????????int?dnum;
????????if(fgets(fbuffersizeof(fbuffer)fp)?!=?NULL){
????????????char?*p_buf*p_datasep;
????????????p_buf?=?fbuffer;
????????????dnum?=?0;
????????????while(1){
????????????????if((p_datasep?=?strchr(p_buf‘‘))?!=?NULL){
????????????????????*p_datasep?=?‘\0‘;
????????????????????data[row][dnum]?=?atof(p_buf);
????????????????????p_buf?=?p_datasep+1;
????????????????????dnum++;
????????????????}
????????????????else{
????????????????????if(strlen(p_buf)?>?0){
????????????????????????//*p_datasep?=?‘\0‘;
????????????????????????data[row][dnum]?=?atof(p_buf);
????????????????????????p_buf?=?p_datasep+1;
????????????????????????dnum++;
????????????????????}
????????????????????break;
????????????????}
????????????????if(dnum?>?30){
????????????????????std::cout<<“數據越界,最大矩陣30*30“<????????????????????return?1;
????????????????}
????????????}
????????????row++;
????????????if(row?>?30){
????????????????std::cout<<“數據越界,最大矩陣30*30“<????????????????return?1;
????????????}
????????}
????????if(column?==?0){
????????????column?=?dnum;
????????}
????????else{
if(column?!=?dnum){
std::cout<<“矩陣列數不一致“< return?2;
}
????????}
????}
fclose(fp);
????if((row?==?0)||(column==0)){
????????std::cout<<“矩陣為空“<????????return?3;
????}
????//計算耗時(小于1小時內有效)
SYSTEMTIME??time;
long?t_timet_time2;
int?hour;
GetSystemTime(?&time?);
hour?=?time.wHour;
t_time?=?time.wMinute*60000;
t_time?+=?time.wSecond*1000;
t_time?+=?time.wMilliseconds;

????regression?regress(rowcolumn);
????for(int?i=0;i????????for(int?j=0;j????????????regress(ij)?=?data[i][j];
????????}
????}
????regress.lineregression();
GetSystemTime(?&time?);
t_time2?=?time.wMinute*60000;
t_time2?+=?time.wSecond*1000;
t_time2?+=?time.wMilliseconds;
????if(hour?!=?time.wHour){
????????t_time2?+=?3600000;
????}

for(int?i=0;i printf(“%f\t“regress.calculate_rst(i));
}
printf(“\n“);
printf(“Spend?%ld?milliseconds\n“t_time2-t_time);
getchar();
return?0;
}


評論

共有 條評論