Example #1
0
        public static Vector GetResidual(Vector firstVector, Vector secondVector)
        {
            Vector result = new Vector(firstVector);

            result.Subtract(secondVector);
            return(result);
        }
Example #2
0
        public static Vector GetDifference(Vector vector1, Vector vector2)
        {
            var resultantVector = new Vector(vector1);

            resultantVector.Subtract(vector2);

            return(resultantVector);
        }
Example #3
0
        public void TestSubtractVectors()
        {
            Vector v1 = new Vector(3, 4);
            Vector v2 = new Vector(2, 1);

            Vector expected = new Vector(1, 3);

            Assert.Equal(expected, v1.Subtract(v2));
        }
Example #4
0
        static void Main(string[] args)
        {
            var vector1 = new Vector(3);

            Console.WriteLine($"Пустой вектор vector1 = {vector1}");

            var array   = new double[] { -3, 4 };
            var vector2 = new Vector(2, array);

            Console.WriteLine($"Вектор vector2 = {vector2}");
            Console.WriteLine("Длина вектора vector2 = {0}", vector2.GetLength());

            var index = 0;

            Console.WriteLine("Компонента вектора vector2 по индексу {0} = {1}", index, vector2[index]);
            Console.WriteLine();

            var vector3 = new Vector(new double[] { 5, 10, 20 });

            Console.WriteLine($"Вектор vector2 = {vector2}");
            Console.WriteLine($"Вектор vector3 = {vector3}");

            vector2.Add(vector3);
            Console.WriteLine($"Сумма vector2 и vector3 = {vector2}");

            vector2.Subtract(vector3);
            Console.WriteLine($"Разность vector2 и vector3 = {vector2}");
            Console.WriteLine();

            var vector4 = new Vector(vector2);

            Console.WriteLine($"Вектор vector4 (копия vector2) = {vector4}");

            vector4[0] = 10;
            Console.WriteLine($"Вектор vector4 после установки компоненты 10 по индексу 0 = {vector4}");
            Console.WriteLine();

            Console.WriteLine($"Вектор vector3 = {vector3}");
            Console.WriteLine($"Вектор vector4 = {vector4}");
            Console.WriteLine("Сумма векторов vector3 и vector4 = {0}", Vector.GetSum(vector3, vector4));
            Console.WriteLine("Разность векторов vector3 и vector4 = {0}", Vector.GetDifference(vector3, vector4));
            Console.WriteLine("Скалярное произведениe vector3 и vector4 = {0}", Vector.GetScalarProduct(vector3, vector4));
            Console.WriteLine();

            vector3.Reverse();
            Console.WriteLine($"Разворот вектора vector3: {vector3}");

            vector4.MultiplyByScalar(2);
            Console.WriteLine($"Умножение вектора vector4 на 2: {vector4}");
        }
Example #5
0
        static void Main(string[] args)
        {
            Vector vector1 = new Vector(3);

            Console.WriteLine("Zero vector: " + vector1);

            double[] coordinates = { 1, 3, 4, 6.5, 3, 9 };
            vector1 = new Vector(coordinates);
            Console.WriteLine("vector1: " + vector1);
            Console.WriteLine($"Dimension = {vector1.GetSize()}");
            Console.WriteLine($"Length = {vector1.GetLength()}");

            Vector vector2 = new Vector(vector1);

            Console.WriteLine("vector2: " + vector2);

            if (vector1.Equals(vector2))
            {
                Console.WriteLine("Vectors are the same.");
            }
            else
            {
                Console.WriteLine("Vectors are not the same.");
            }

            vector2.Revert();
            Console.WriteLine("Reverse vector2: " + vector2);
            vector2.MultiplyByScalar(3);
            Console.WriteLine("Vector2 * 3: " + vector2);
            Console.WriteLine($"Vector2[3] = {vector2.GetCoordinate(3)}");

            if (vector1.Equals(vector2))
            {
                Console.WriteLine("Vectors are the same.");
            }
            else
            {
                Console.WriteLine("Vectors are not the same.");
            }

            Console.WriteLine($"Vector1*Vector2 = {Vector.Multiply(vector1, vector2)}");
            Console.WriteLine();

            Console.WriteLine("Check static and dynamic. Second vector is longer.");
            vector1.MultiplyByScalar(2);
            Console.WriteLine("vector1: " + vector1);

            vector2 = new Vector(vector1.GetSize() + 2, coordinates);
            Console.WriteLine("vector2: " + vector2);
            Console.WriteLine($"Set {vector1.GetSize() + 1}-th coordinate equal to 10.");
            vector2.SetCoordinate(vector1.GetSize() + 1, 10);
            Console.WriteLine("vector2: " + vector2);

            Vector vector3 = new Vector(vector2);

            vector2.Add(vector1);
            Console.WriteLine("Dynamic: vector1 + vector2 = " + vector2);
            Console.WriteLine("Static:  vector1 + vector2 = " + Vector.GetSum(vector3, vector1));

            vector2.MultiplyByScalar(2);
            vector3 = new Vector(vector2);
            Console.WriteLine("vector2: " + vector2);
            Console.WriteLine("vector1: " + vector1);
            vector2.Subtract(vector1);
            Console.WriteLine("Dynamic: vector2 - vector1 = " + vector2);
            Console.WriteLine("Static:  vector2 - vector1 = " + Vector.GetDifference(vector3, vector1));

            Console.WriteLine();
            Console.WriteLine("Check static and dynamic. Second vector is shorter.");

            Console.WriteLine("vector1: " + vector1);
            vector2 = new Vector(vector1.GetSize() - 1, coordinates);
            vector2.MultiplyByScalar(3);
            Console.WriteLine("vector2: " + vector2);

            vector3 = new Vector(vector2);
            vector3.Add(vector1);
            Console.WriteLine("Dynamic: vector1 + vector2 = " + vector3);
            Console.WriteLine("Static:  vector1 + vector2 = " + Vector.GetSum(vector2, vector1));

            vector2.MultiplyByScalar(2);
            vector3 = new Vector(vector2);
            Console.WriteLine("vector2: " + vector2);
            Console.WriteLine("vector1: " + vector1);
            vector2.Subtract(vector1);
            Console.WriteLine("Dynamic: vector2 - vector1 = " + vector2);
            Console.WriteLine("Static:  vector2 - vector1 = " + Vector.GetDifference(vector3, vector1));

            Console.ReadKey();
        }
Example #6
0
        static void Main(string[] args)
        {
            double[] testArray = { 1, 2, 3 };

            Console.WriteLine("Конструкторы:");
            Console.WriteLine();

            Vector vector1 = new Vector(5);

            Console.WriteLine("Конструктор по размеру: " + vector1);

            Vector vector2 = new Vector(vector1);

            Console.WriteLine("Конструктор копирования: " + vector2);

            Vector vector3 = new Vector(testArray);

            Console.WriteLine("Конструктор с массивом: " + vector3);

            Vector vector4 = new Vector(5, testArray);

            Console.WriteLine("Конструктор с массивом и размером 5: " + vector4);

            Console.WriteLine();
            Console.WriteLine("Нестатические методы:");
            Console.WriteLine();

            Console.WriteLine("Размерность первого вектора: {0}", vector1);
            Vector vector5 = new Vector(vector3);

            Console.WriteLine("Сумма векторов {0} и {1} равна {2}", vector5, vector4, vector3.Add(vector4));
            vector5 = new Vector(vector3);
            Console.WriteLine("Разность векторов {0} и {1} равна {2}", vector5, vector4, vector3.Subtract(vector4));
            vector5 = new Vector(vector3);
            Console.WriteLine("Умножение вектора {0} на скаляр {1} равно {2}", vector5, 5, vector3.Multiply(5));
            vector5 = new Vector(vector3);
            Console.WriteLine("Разворот вектора {0} равен {1}", vector5, vector3.Reverse());
            Console.WriteLine("Длина вектора {0} равна {1:f2}", vector3, vector3.GetLength());
            Console.WriteLine("X вектора {0} равен {1}", vector3, vector3.GetElement(0));
            vector5 = new Vector(vector3);
            Console.WriteLine("Меняем X вектора {0} на {1}, сейчас вектор выглядит так: {2}", vector5, 25, vector3.SetElement(0, 25));

            Console.WriteLine("Метод Equals для {0} и {1} возвращает: {2}", vector3, vector4, vector3.Equals(null));
            Console.WriteLine("Хэш-кодом для вектора {0} является: {1}", vector3, vector3.GetHashCode());

            Console.WriteLine();
            Console.WriteLine("Статические методы:");
            Console.WriteLine();

            Console.WriteLine("Сумма векторов {0} и {1} равна {2}", vector3, vector4, Vector.Add(vector3, vector4));
            Console.WriteLine("Разность векторов {0} и {1} равна {2}", vector3, vector4, Vector.Subtract(vector3, vector4));
            Console.WriteLine("Скалярное произведение векторов {0} и {1} равно {2}", vector3, vector4, Vector.GetScalarProduct(vector3, vector4));

            Console.ReadKey();
        }
Example #7
0
        static void Main(string[] args)
        {
            Vector zerowVector = new Vector(3);

            Console.WriteLine("zerowVector = " + zerowVector);
            Console.WriteLine(new string('-', 100));

            double[] array           = { 3, 3.75, 2, 44, -5, 54 };
            Vector   arrayVector     = new Vector(array);
            Vector   copyArrayVector = new Vector(arrayVector);

            Console.WriteLine("arrayVector = " + arrayVector);
            Console.WriteLine("copyArrayVector = " + copyArrayVector);
            Console.WriteLine(new string('-', 100));

            Vector partialArrayVector = new Vector(8, array);

            Console.WriteLine("partialTestVector = " + partialArrayVector);
            Console.WriteLine("Размерность partialTesVector = " + partialArrayVector.GetSize());
            Console.WriteLine(new string('-', 100));

            Vector firstVector  = new Vector(new double[] { 3, 3, 4, 4 });
            Vector secondVector = new Vector(new double[] { 1, 3, 7, 8, 8, 8, 4 });

            Console.WriteLine("Сумма векторов {0} и {1} равна:", firstVector, secondVector);
            firstVector.Sum(secondVector);
            Console.WriteLine(firstVector);
            Console.WriteLine(new string('-', 100));

            Console.WriteLine("Разность векторов {0} и {1} равна:", firstVector, secondVector);
            firstVector.Subtract(secondVector);
            Console.WriteLine(firstVector);
            Console.WriteLine(new string('-', 100));

            double scalar = 3;

            Console.WriteLine("Результат умножения вектора {0} на скаляр {1}: ", firstVector, scalar);
            firstVector.MultiplicationByNumber(scalar);
            Console.WriteLine(firstVector);
            Console.WriteLine(new string('-', 100));

            Console.WriteLine("Вектор обратный вектору {0}:", firstVector);
            firstVector.Turn();
            Console.WriteLine(firstVector);
            Console.WriteLine(new string('-', 100));

            Console.WriteLine("Длина вектора {0} : {1:f2}", firstVector, firstVector.GetLength());
            int componentIndex = 3;

            Console.WriteLine("Компонента вектора {0} по индексу {1} : {2}", firstVector, componentIndex, firstVector.GetComponent(componentIndex));
            double newComponent = 55.6;

            firstVector.SetComponent(componentIndex, newComponent);
            Console.WriteLine("Компонента вектора {0} по индексу {1} : {2}", firstVector, componentIndex, firstVector.GetComponent(componentIndex));
            Console.WriteLine(new string('-', 100));

            if (firstVector.Equals(secondVector))
            {
                Console.WriteLine("Вектор {0} равен вектору {1}", firstVector, secondVector);
            }
            else
            {
                Console.WriteLine("Вектор {0} не равен вектору {1}", firstVector, secondVector);
            }
            Console.WriteLine("hashCode вектора {0}: {1}", firstVector, firstVector.GetHashCode());
            Console.WriteLine("hashCode вектора {0}: {1}", secondVector, secondVector.GetHashCode());
            Console.WriteLine(new string('-', 100));

            Console.WriteLine("Сумма векторов {0} и {1} равна: {2}", firstVector, secondVector, Vector.GetSum(firstVector, secondVector));
            Console.WriteLine("Разность векторов {0} и {1} равна: {2}", Vector.GetSum(firstVector, secondVector), firstVector, Vector.GetResidual(Vector.GetSum(firstVector, secondVector), firstVector));
            Console.WriteLine("Скалярное произведение векторов {0} и {1}: {2}", firstVector, secondVector, Vector.GetScalarMultiplication(firstVector, secondVector));
        }
Example #8
0
        public static Vector GetDifference(Vector vector1, Vector vector2)
        {
            Vector vectorsTemp = new Vector(vector1);

            return(vectorsTemp.Subtract(vector2));
        }