MCPcopy Create free account
hub / github.com/KDE/labplot / testLinearNoInt1_2

Method testLinearNoInt1_2

tests/analysis/fit/FitTest.cpp:223–270  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

221}
222
223void FitTest::testLinearNoInt1_2() {
224 // NIST data for NoInt1 dataset
225 QVector<int> xData = {60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70};
226 QVector<int> yData = {130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140};
227
228 // data source columns
229 Column xDataColumn(QStringLiteral("x"), AbstractColumn::ColumnMode::Integer);
230 xDataColumn.replaceInteger(0, xData);
231
232 Column yDataColumn(QStringLiteral("y"), AbstractColumn::ColumnMode::Integer);
233 yDataColumn.replaceInteger(0, yData);
234
235 XYFitCurve fitCurve(QStringLiteral("fit"));
236 fitCurve.setXDataColumn(&xDataColumn);
237 fitCurve.setYDataColumn(&yDataColumn);
238
239 // prepare the fit
240 XYFitCurve::FitData fitData = fitCurve.fitData();
241 fitData.modelCategory = nsl_fit_model_basic;
242 fitData.modelType = nsl_fit_model_polynomial;
243 fitData.degree = 1;
244 XYFitCurve::initFitData(fitData);
245 fitData.paramStartValues[0] = 0;
246 fitData.paramFixed[0] = true;
247 fitCurve.setFitData(fitData);
248
249 // perform the fit
250 fitCurve.recalculate();
251 const XYFitCurve::FitResult& fitResult = fitCurve.fitResult();
252
253 // check the results
254 QCOMPARE(fitResult.available, true);
255 QCOMPARE(fitResult.valid, true);
256
257 const int np = fitData.paramNames.size();
258 QCOMPARE(np, 2);
259
260 QCOMPARE(fitResult.paramValues.at(0), 0.);
261 QCOMPARE(fitResult.paramValues.at(1), 2.07438016528926);
262 QCOMPARE(fitResult.errorValues.at(1), 0.165289256198347e-1);
263
264 QCOMPARE(fitResult.rsd, 3.56753034006338);
265 QCOMPARE(fitResult.sse, 127.272727272727);
266 QCOMPARE(fitResult.rms, 12.7272727272727);
267 QCOMPARE(fitResult.rsquare, 0.999365492298663);
268 DEBUG(std::setprecision(15) << fitResult.fdist_F); // result: 15760.25
269 QCOMPARE(fitResult.fdist_F, 15750.25);
270}
271
272void FitTest::testLinearNoInt2() {
273 // NIST data for NoInt2 dataset

Callers

nothing calls this directly

Calls 6

setXDataColumnMethod · 0.80
setYDataColumnMethod · 0.80
replaceIntegerMethod · 0.45
setFitDataMethod · 0.45
recalculateMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected