Encog.Engine.Network.Activation.ActivationSIN.ActivationFunction C# (CSharp) Method

ActivationFunction() public method

public ActivationFunction ( double x, int start, int size ) : void
x double
start int
size int
return void
        public virtual void ActivationFunction(double[] x, int start,
                                               int size)
        {
            for (int i = start; i < start + size; i++)
            {
                x[i] = BoundMath.Sin(x[i]);
            }
        }

Usage Example

        public void TestSIN()
        {
            var activation = new ActivationSIN();

            Assert.IsTrue(activation.HasDerivative);

            var clone = activation.Clone();

            Assert.IsInstanceOfType(clone, typeof(ActivationSIN));

            double[] input = { 0.0, Math.PI / 4, Math.PI / 2 };

            activation.ActivationFunction(input, 0, 3); //it's actually Sin(2x)

            Assert.AreEqual(0.0, input[0], 0.01);
            Assert.AreEqual(1.0, input[1], 0.01);
            Assert.AreEqual(0.0, input[2], 0.01);

            // test derivative
            input[0] = activation.DerivativeFunction(0, input[0]);
            input[1] = activation.DerivativeFunction(Math.PI / 4, input[1]);
            input[2] = activation.DerivativeFunction(Math.PI / 2, input[2]);
            Assert.AreEqual(1.0, input[0], 0.01);
            Assert.AreEqual(0.0, input[1], 0.01);
            Assert.AreEqual(-1.0, input[2], 0.01);
        }
All Usage Examples Of Encog.Engine.Network.Activation.ActivationSIN::ActivationFunction