public static Vector GetResidual(Vector firstVector, Vector secondVector) { Vector result = new Vector(firstVector); result.Subtract(secondVector); return(result); }
public static Vector GetDifference(Vector vector1, Vector vector2) { var resultantVector = new Vector(vector1); resultantVector.Subtract(vector2); return(resultantVector); }
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)); }
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}"); }
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(); }
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(); }
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)); }
public static Vector GetDifference(Vector vector1, Vector vector2) { Vector vectorsTemp = new Vector(vector1); return(vectorsTemp.Subtract(vector2)); }