standardize.cpp
来自「matlab编写的聚类算法代码」· C++ 代码 · 共 52 行
CPP
52 行
#include "data.h"
double **Standardize(double **data,int row,int col)
{
int i,j;
double* a=new double[col]; //矩阵每列的最大值
double* b=new double[col]; //矩阵每列的最小值
double* c=new double[row]; //矩阵列元素
for(i=0;i<col;i++)
{
//取出数据矩阵的各列元素
for(j=0;j<row;j++)
{
c[j]=Data[j][i];
}
a[i]=c[0],b[i]=c[0];
for(j=0;j<row;j++)
{
//取出该列的最大值
if(c[j]>a[i])
{
a[i]=c[j];
}
//取出该列的最小值
if(c[j]<b[i])
{
b[i]=c[j];
}
}
}
//数据标准化
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
data[i][j]=(data[i][j]-b[j])/(a[j]-b[j]);
}
}
cout<<"完成数据极差标准化处理!\n";
delete[]a;
delete[]b;
delete[]c;
return data;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?