本文整理汇总了C++中MixedData::sqroot方法的典型用法代码示例。如果您正苦于以下问题:C++ MixedData::sqroot方法的具体用法?C++ MixedData::sqroot怎么用?C++ MixedData::sqroot使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MixedData
的用法示例。
在下文中一共展示了MixedData::sqroot方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: makeMeasurement
void LoggedMeasurement::makeMeasurement()
{
// measurementTimer.reset();
MixedData newResult;
MixedData delta;
MixedData sigmaSqrd;
getDeviceData(newResult);
if(measurement == 0)
delta.setValue(newResult);
else
delta.setValue(newResult - measurement);
thresholdExceeded = false;
//Does the -1 have to be on the rhs?
if(sigma != 0 && ((delta < sigma*threshold*(-1)) || (delta > sigma*threshold) ) )
{
//spurious data point detected
thresholdExceeded = true;
std::cerr << "Threshold Exceeded" << std::endl;
measurement.setValue(newResult);
numberAveragedMeasurements = 0;
}
else
{
//the measurement average resets after each save interval
measurement.setValue((measurement * numberAveragedMeasurements + newResult) / (numberAveragedMeasurements + 1));
}
numberAveragedMeasurements++;
//standard deviation sigma always includes a contribution from the previous sigma (before numberAveragedMeasurements is reset).
sigmaSqrd.setValue(
(sigma*sigma * numberAveragedMeasurements + delta*delta) / (numberAveragedMeasurements + 1)
);
sigma.setValue(sigmaSqrd.sqroot());
if (numberAveragedMeasurements >= maxNumberToAverage || thresholdExceeded)
{
resultIsReady = true;
}
}