28 lines
732 B
C
28 lines
732 B
C
|
|
#pragma once
|
||
|
|
#include <mlpack/core.hpp>
|
||
|
|
#include <mlpack/core/data/split_data.hpp>
|
||
|
|
namespace BaseData {
|
||
|
|
using namespace mlpack;
|
||
|
|
using namespace arma;
|
||
|
|
const size_t MaxNum = 36000;
|
||
|
|
struct BaseData {
|
||
|
|
static arma::vec vec1;
|
||
|
|
struct Init {
|
||
|
|
static arma::vec init(double x0, double xn) {
|
||
|
|
arma::vec vec2;
|
||
|
|
vec2.ones(MaxNum*2);
|
||
|
|
for (int i = 0; i < MaxNum; i++) {
|
||
|
|
vec2[i] = x0 + i * (xn - x0) / (double)MaxNum;
|
||
|
|
vec2[MaxNum+i] = xn - i * (xn - x0) / (double)MaxNum;
|
||
|
|
}
|
||
|
|
return vec2;
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
double operator()(size_t index) { return vec1[index % (2*MaxNum)]; }
|
||
|
|
};
|
||
|
|
|
||
|
|
// arma::vec BaseData::BaseData::vec1
|
||
|
|
arma::vec BaseData::vec1 = BaseData::Init::init(600, 300);
|
||
|
|
|
||
|
|
}; // namespace BaseData
|