资源简介
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;
}
相关资源
- 线性回归算法c语言实现
- MFC绘制Bezier曲线B样条曲线曲线拟合
- 多远线性回归方程C语言程序
- WGS84 北京54 西安80 CGCS2000 布尔沙七参
- 移动最小二乘法MLS基于C++代码实现
- C++实现多元线性回归 可指定任意几元
- 三维点云的圆柱面拟合
- 曲线拟合C语言实现
- 基于最小二乘法的平面拟合,图像背
- 运用CST方法拟合NACA翼型
- 移动曲面拟合法C++描述
- 基于C++版本的Bp神经网络,数据拟合,
- 用c++写的曲线拟合程序
- MFC编写的圆拟合工具
- 车辆检测-基于车底阴影特征-基于路面
- 基于vc++的SVM
- 利用多个二维点拟合圆、多个三维点
- 回归和分类随机森林
- Logistic回归C语言实现
- 最小二乘法拟合椭圆
- 二次曲面高程拟合
- C程序——三次样条插值算法、最小二
- C++最小二乘法拟合直线
- 多元线性回归c++算法
- 超定方程组最小二乘法代码详解
- 空间离散点椭球拟合源代码EllipsoidF
- 最小二乘法的曲线拟合最高到6次MFC实
- C语言最小二乘法多项式拟合
- 多元线性回归
- 空间平面拟合算法
川公网安备 51152502000135号
评论
共有 条评论