예제 #1
0
        public void DerivativeTest2()
        {
            IExpression exp = new Arccos(new Mul(new Number(2), new Variable("x")));
            IExpression deriv = exp.Differentiate();

            Assert.AreEqual("-((2 * 1) / sqrt(1 - ((2 * x) ^ 2)))", deriv.ToString());
        }
예제 #2
0
        public void DerivativeTest1()
        {
            IExpression exp = new Arccos(new Variable("x"));
            IExpression deriv = exp.Differentiate();

            Assert.AreEqual("-(1 / sqrt(1 - (x ^ 2)))", deriv.ToString());
        }
예제 #3
0
        public void DerivativeTest3()
        {
            // arccos(2x)
            Number num = new Number(2);
            Variable x = new Variable("x");
            Mul mul = new Mul(num, x);

            IExpression exp = new Arccos(mul);
            IExpression deriv = exp.Differentiate();

            Assert.AreEqual("-((2 * 1) / sqrt(1 - ((2 * x) ^ 2)))", deriv.ToString());

            num.Value = 6;
            Assert.AreEqual("arccos(6 * x)", exp.ToString());
            Assert.AreEqual("-((2 * 1) / sqrt(1 - ((2 * x) ^ 2)))", deriv.ToString());
        }
예제 #4
0
 public void PartialDerivativeTest3()
 {
     IExpression exp = new Arccos(new Variable("x"));
     IExpression deriv = exp.Differentiate(new Variable("y"));
     Assert.AreEqual("0", deriv.ToString());
 }
예제 #5
0
 public void PartialDerivativeTest2()
 {
     IExpression exp = new Arccos(new Mul(new Variable("x"), new Variable("y")));
     IExpression deriv = exp.Differentiate(new Variable("y"));
     Assert.AreEqual("-((x * 1) / sqrt(1 - ((x * y) ^ 2)))", deriv.ToString());
 }