public void DerivativeTest1() { // x - sin(x) IExpression exp = new Sub(new Variable("x"), new Sin(new Variable("x"))); IExpression deriv = exp.Differentiate(); Assert.AreEqual("1 - (cos(x) * 1)", deriv.ToString()); }
public void DerivativeTest2() { Number num1 = new Number(2); Variable x = new Variable("x"); Mul mul1 = new Mul(num1, x); Number num2 = new Number(3); Mul mul2 = new Mul(num2, x.Clone()); IExpression exp = new Sub(mul1, mul2); IExpression deriv = exp.Differentiate(); Assert.AreEqual("(2 * 1) - (3 * 1)", deriv.ToString()); num1.Value = 5; num2.Value = 4; Assert.AreEqual("(5 * x) - (4 * x)", exp.ToString()); Assert.AreEqual("(2 * 1) - (3 * 1)", deriv.ToString()); }
public void PartialDerivativeTest4() { IExpression exp = new Sub(new Variable("x"), new Number(1)); IExpression deriv = exp.Differentiate(new Variable("y")); Assert.AreEqual("0", deriv.ToString()); }
public void PartialDerivativeTest1() { IExpression exp = new Sub(new Mul(new Variable("x"), new Variable("y")), new Variable("y")); IExpression deriv = exp.Differentiate(new Variable("y")); Assert.AreEqual("(x * 1) - 1", deriv.ToString()); }