|
|
|
@ -3086,8 +3086,7 @@ double nmCalculationAutoFitLM::calculateLogLogCurveError(
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 无法比较的采样行先跳过;有限但非正的导数无法进入双对数空间,
|
|
|
|
// 非正导数无法进入双对数空间,跳过对应采样行,使用剩余有效点比较。
|
|
|
|
// 当前数据又没有逐点有效掩码,因此遇到这种导数时判本次评价无效。
|
|
|
|
|
|
|
|
auto prepareCurve = [valueFloor](const QVector<QVector<double> >& data,
|
|
|
|
auto prepareCurve = [valueFloor](const QVector<QVector<double> >& data,
|
|
|
|
int firstIndex,
|
|
|
|
int firstIndex,
|
|
|
|
QVector<QPointF>* pressure,
|
|
|
|
QVector<QPointF>* pressure,
|
|
|
|
@ -3104,12 +3103,10 @@ double nmCalculationAutoFitLM::calculateLogLogCurveError(
|
|
|
|
!isFiniteNumber(data[1][i]) ||
|
|
|
|
!isFiniteNumber(data[1][i]) ||
|
|
|
|
!isFiniteNumber(data[2][i]) ||
|
|
|
|
!isFiniteNumber(data[2][i]) ||
|
|
|
|
data[0][i] <= 0.0 ||
|
|
|
|
data[0][i] <= 0.0 ||
|
|
|
|
data[1][i] <= 0.0) {
|
|
|
|
data[1][i] <= 0.0 ||
|
|
|
|
|
|
|
|
data[2][i] <= 0.0) {
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(data[2][i] <= 0.0) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pressure->append(QPointF(data[0][i], data[1][i]));
|
|
|
|
pressure->append(QPointF(data[0][i], data[1][i]));
|
|
|
|
derivative->append(
|
|
|
|
derivative->append(
|
|
|
|
|