outfile<<'\n';
}
outfile<<'\n';
vecInt = ConvolutionFun2(vec_int, R, S);
outfile<<"第二次卷积后的矩阵:\n";
for(i=0; i
&vec, const int&m, const int&n)
{
VecInt vecInt(m, vector(n));
int num =0;
for(int i=0; i//卷积函数
VecInt ConvolutionFun2(const vector&vec, const int&r, const int&s)
{
VecInt vecInt(r, vector(s));
int num =0;
for(int i=0; i
//ifstream ofstream头文件
#include
//sqrt,log,cos所需头文件
#include
#include
#include
//accumulate所需头文件
#include
using namespace std;
const int N = 100;
const double PI = 3.1415926;
int main()
{
int i;
//定义vector对象,存储产生的随机数
vectorvec_double;
vectorvec_square_double;
//定义输出流对象
ofstream outfile("SourceData.txt");
if(!outfile)
{
cerr<<"SourceData.txt open failed.\n";
return 1;
}
//随机数产生的开始点
srand((unsigned)time(NULL));
//产生个随机数
for(i=0;i//清空容器
vec_double.clear();
double num =0.0;
vector
vec_normalDistibution;
vectorvec_squre_NorDistibution;
for(i=0;i>num;
vec_double.push_back(num);
double num_normal_distrion = (sqrt((-2)*log(num))*cos(2*PI*num))*0.3 + 1;
vec_normalDistibution.push_back(num_normal_distrion);
vec_squre_NorDistibution.push_back(num_normal_distrion * num_normal_distrion);
}
//定义输出路对象outfile2
ofstream outfile2("ResultData.txt");
if(!outfile)
{
cerr<<"ResultData.txt open failed.\n";
return 1;
}
//输出正太分布数值
copy(vec_normalDistibution.begin(), vec_normalDistibution.end(),
ostream_iterator(outfile2, " "));
outfile2<<'\n';
double sum_normalDistibution =
accumulate(vec_normalDistibution.begin(),vec_normalDistibution.end(),0.0);
double average_normalDistibution = sum_normalDistibution/N;
double sum_squre_NorDistibution =
accumulate(vec_squre_NorDistibution.begin(),vec_squre_NorDistibution.end(),0.0);
double variance_normalDistibution = sum_squre_NorDistibution/N -
(average_normalDistibution * average_normalDistibution);
outfile2<<"均值为:\n"<
#include
#include
#include
#include
using namespace std;
typedef vector > VecDouble;
double AverageVector(const vector & vecDouble);
VecDouble CovariationMatrix(const vector > & vecDouble,
const vector & vecAverageDouble,
int nBand, int nPiexl);
int main()
{
int nBand;
int nPiexl;
int i,j;
ifstream infile("data.txt");
if(!infile)
{
cerr<<"data.txt open failed.\n";
return 1;
}
ofstream outfile("result.txt");
if(!outfile)
{
cerr<<"result.txt open failed.\n";
return 1;
}
infile>>nBand>>nPiexl;
vector >vec_double(nBand, vector(nPiexl));
for(i=0; i>vec_double[i][j];
}
}
vectorvec_average_double(nBand);
for(i=0; i(outfile, " "));
outfile<<'\n';
VecDouble vec_covariation_double(nBand, vector(nPiexl));
vec_covariation_double = CovariationMatrix(vec_double, vec_average_double, nBand,
nPiexl);
outfile<<"协方差矩阵:\n";
for( i =0; i & vecDouble)
{
int size = vecDouble.size();
double sum = accumulate(vecDouble.begin(), vecDouble.end(), 0);
double average = sum/size;
return average;
}
//协方差矩阵函数
VecDouble CovariationMatrix(const vector > & vecDouble,
const vector & vecAverageDouble,
int nBand, int nPiexl)
{
VecDouble vec_coveration_double(nBand, vector(nBand));
for(int i =0; i