public void PartialDerivativeTest2() { // ln(xy) IExpression exp = new Ln(new Mul(new Variable("x"), new Variable("y"))); IExpression deriv = exp.Differentiate(new Variable("y")); Assert.AreEqual("(x * 1) / (x * y)", deriv.ToString()); }
public void DerivativeTest1() { IExpression exp = new Ln(new Mul(new Number(2), new Variable("x"))); IExpression deriv = exp.Differentiate(); Assert.AreEqual("(2 * 1) / (2 * x)", deriv.ToString()); }
public void DerivativeTest2() { // ln(2x) Number num = new Number(2); Variable x = new Variable("x"); Mul mul = new Mul(num, x); IExpression exp = new Ln(mul); IExpression deriv = exp.Differentiate(); Assert.AreEqual("(2 * 1) / (2 * x)", deriv.ToString()); num.Value = 5; Assert.AreEqual("ln(5 * x)", exp.ToString()); Assert.AreEqual("(2 * 1) / (2 * x)", deriv.ToString()); }
public void PartialDerivativeTest3() { IExpression exp = new Ln(new Variable("y")); IExpression deriv = exp.Differentiate(); Assert.AreEqual("0", deriv.ToString()); }