public void CalculateParametersTest2() { LeastSquares target = new QuadraticFit(); target.Points.Add(new DPoint(2, 4)); target.Points.Add(new DPoint(4, 16)); target.Points.Add(new DPoint(5, 25)); Matrix expected = new Matrix(new double[,]{ {0}, {0}, {1}}); Matrix actual; actual = target.CalculateParameters(); actual.FactorInScalar(); // Debug.WriteLine(actual.ToString()); // Debug.WriteLine(expected.ToString()); //have to string compare due to double precision Assert.AreEqual(expected.ToString(), actual.ToString()); }
public void GetXTermsMatrixTest() { //Excel generated data, y = 5 -7x +2xx QuadraticFit target = new QuadraticFit(); target.Points.Add(new DPoint(0, 5)); target.Points.Add(new DPoint(1, 0)); target.Points.Add(new DPoint(2, -1)); target.Points.Add(new DPoint(3, 2)); target.Points.Add(new DPoint(4, 9)); target.Points.Add(new DPoint(5, 20)); Matrix expected = new Matrix(new double[,]{ {1,0,0}, {1,1,1}, {1,2,4}, {1,3,9}, {1,4,16}, {1,5,25}}); Matrix actual = target.GetXTermsMatrix(); Assert.AreEqual(expected, actual); }
public void GetXTermsMatrixTest() { //data for y = -7x +2xx QuadraticFitThruZero target = new QuadraticFitThruZero(); target.Points.Add(new DPoint(0, 0)); target.Points.Add(new DPoint(1, -5)); target.Points.Add(new DPoint(2, -6)); target.Points.Add(new DPoint(3, -3)); target.Points.Add(new DPoint(4, 4)); target.Points.Add(new DPoint(5, 15)); Matrix expected = new Matrix(new double[,]{ {0,0}, {1,1}, {2,4}, {3,9}, {4,16}, {5,25}}); Matrix actual = target.GetXTermsMatrix(); Assert.AreEqual(expected, actual); }
public void CalculateParametersTest() { LeastSquares target = new QuadraticFit(); //Excel generated data, y = 5 -7x +2xx target.Points.Add(new DPoint(0, 5)); target.Points.Add(new DPoint(1, 0)); target.Points.Add(new DPoint(2, -1)); target.Points.Add(new DPoint(3, 2)); target.Points.Add(new DPoint(4, 9)); target.Points.Add(new DPoint(5, 20)); Matrix expected = new Matrix(new double[,]{ {5}, {-7}, {2}}); Matrix actual; actual = target.CalculateParameters(); actual.FactorInScalar(); // Debug.WriteLine(actual.ToString()); // Debug.WriteLine(expected.ToString()); //have to string compare due to double precision Assert.AreEqual(expected.ToString(), actual.ToString()); }
public void GetYValuesMatrixTest() { LeastSquares target = new QuadraticFit(); //Excel generated data, y = 5 -7x +2xx target.Points.Add(new DPoint(0, 5)); target.Points.Add(new DPoint(1, 0)); target.Points.Add(new DPoint(2, -1)); target.Points.Add(new DPoint(3, 2)); target.Points.Add(new DPoint(4, 9)); target.Points.Add(new DPoint(5, 20)); Matrix expected = new Matrix(new double[,]{ {5}, {0}, {-1}, {2}, {9}, {20}}); Matrix actual = target.GetYValuesMatrix(); Assert.AreEqual(expected, actual); }