本文整理汇总了C++中AbstractMatrix::readObservation方法的典型用法代码示例。如果您正苦于以下问题:C++ AbstractMatrix::readObservation方法的具体用法?C++ AbstractMatrix::readObservation怎么用?C++ AbstractMatrix::readObservation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AbstractMatrix
的用法示例。
在下文中一共展示了AbstractMatrix::readObservation方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testRandomReadObservations
void CorrectnessTest::testRandomReadObservations(){
testDbg << "testRandomReadObservations" << endl;
string inputFile = getInputFileName();
string sumFileName = inputFile + string(".fvf_obssum");
AbstractMatrix* data = new FileVector ( inputFile, 64 );
testDbg << "Reading file:" << inputFile << endl;
unsigned long numVariables = data->getNumVariables();
unsigned long numObservations = data->getNumObservations();
double *tmpdat = new (nothrow) double[numVariables];
testDbg << "Size is " << numVariables << " x " << numObservations << endl;
int numObservationsToTest = 10;
int observationIdx[numObservationsToTest];
unsigned long i;
TestUtil::initRandomGenerator();
for (int i=0; i<numObservationsToTest; i++) {
observationIdx[i] = (rand()*numObservations)/RAND_MAX;
}
ifstream sums(sumFileName.c_str());
testDbg << "Reading sum file: " << sumFileName << endl;
CPPUNIT_ASSERT(sums.good());
double *sumData = new double[numVariables];
for(i=0; i<numObservations; i++) {
sums >> sumData[i];
}
for (i = 0 ; i < numObservationsToTest ; i++ )
{
testDbg << i << "(" << observationIdx[i] << ")" << endl;
data->readObservation(observationIdx[i], tmpdat);
double calcSumm;
calcSumm = summData(tmpdat, numVariables);
double relDiff = TestUtil::relativeDifference(calcSumm,sumData[observationIdx[i]]);
CPPUNIT_ASSERT(relDiff < 1E-2);
}
delete[] tmpdat;
delete[] sumData;
delete data;
testDbg << "Finished" << endl;
}