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 CalculateTest() { QuadraticFitThruZero target = new QuadraticFitThruZero(); //data for y = -7x +2xx 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 parameters = target.CalculateParameters(); Assert.AreEqual(3234, target.Calculate(42)); }
public void ParametersTest() { //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 parameters = target.CalculateParameters(); //x term Assert.AreEqual("-7.0000", parameters[0, 0].ToString("0.0000")); //x squared term Assert.AreEqual("2.0000", parameters[1, 0].ToString("0.0000")); }