示例#1
0
        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());
        }
示例#2
0
        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());
        }
示例#3
0
 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());
 }
示例#4
0
 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());
 }