public void TestRandomData() { var x = new double[] { 0, 1, 2, 3, 4 }; var y = new double[] { 79, 5, 37, 20, 21 }; (var k, var b, var r) = LinearApproximation.GetLinearApproximation(x, y); Assert.Equal(-10.1, k); Assert.Equal(52.6, b); Assert.True(r - 21.01 < 0.00001); }
public void TestNonMonotonicFunction() { var x = new double[] { 0, 1, 2, 3, 4, 5 }; var y = new double[] { 5, 6, 5, 6, 5, 6 }; (var k, var b, var r) = LinearApproximation.GetLinearApproximation(x, y); Assert.Equal(0.0857, (int)(k * 10_000) / 10_000.0); Assert.Equal(5.2857, (int)(b * 10_000) / 10_000.0); Assert.True(r - 0.47809 < 0.00001); }
public void TestLinearFunction() { // Take points of line y = 11x + 29 var x = new double[] { 0, 1, 2, 3, 4 }; var y = new double[] { 29, 40, 51, 62, 73 }; (var k, var b, var r) = LinearApproximation.GetLinearApproximation(x, y); Assert.Equal(11, k); Assert.Equal(29, b); Assert.Equal(0, r); }