public void RemoveVector(Vector vector) { if (GetSize() > vector.GetSize()) { Array.Resize(ref vector.vector, GetSize()); } else { Array.Resize(ref this.vector, vector.GetSize()); } for (int i = 0; i < this.vector.Length; i++) { this.vector[i] = this.vector[i] - vector.vector[i]; } }
public static Vector RemovingVectors(Vector vc1, Vector vc2) { int lengthNew = vc2.GetSize(); if (vc1.GetSize() > vc2.GetSize()) { lengthNew = vc1.GetSize(); } Vector vc = new Vector(vc1); vc.RemoveVector(vc2); return(vc); }
public static Vector AdditionVectors(Vector vc1, Vector vc2) { int lengthNew = vc2.GetSize(); if (vc1.GetSize() > vc2.GetSize()) { lengthNew = vc1.GetSize(); } Vector vc = new Vector(vc1); vc.AddVector(vc2); return(vc); }
public override bool Equals(object obj) { if (ReferenceEquals(obj, this)) { return(true); } if (ReferenceEquals(obj, null) || obj.GetType() != GetType()) { return(false); } Vector vector = (Vector)obj; if (GetSize() != vector.GetSize()) { return(false); } for (int i = 0; i < GetSize(); i++) { if (components[i] != vector.components[i]) { return(false); } } return(true); }
public override bool Equals(object obj) { if (obj == this) { return(true); } if (obj == null || obj.GetType() != this.GetType()) { return(false); } Vector vc = (Vector)obj; bool equalComponent = true; if (vc.GetSize() == GetSize()) { for (int i = 0; i < vc.vector.Length; i++) { if (vc.GetComponentByIndex(i) != GetComponentByIndex(i)) { equalComponent = false; } } } return(equalComponent); }
public void Subtract(Vector vector) { if (ReferenceEquals(vector, null)) { throw new NullReferenceException("Vector must be not null"); } if (vector.components.Length > components.Length) { Array.Resize(ref components, vector.GetSize()); } for (int i = 0; i < vector.GetSize(); i++) { components[i] -= vector.components[i]; } }
public static double ScalarComposition(Vector vc1, Vector vc2) { int lengthMin = vc2.GetSize(); if (vc1.GetSize() < vc2.GetSize()) { lengthMin = vc1.GetSize(); } double sum = 0; for (int i = 0; i < lengthMin; i++) { sum = sum + vc1.vector[i] * vc2.vector[i]; } return(sum); }
public Vector(Vector vector) { if (ReferenceEquals(vector, null)) { throw new NullReferenceException("Vector must be not null"); } components = new double[vector.GetSize()]; vector.components.CopyTo(components, 0); }
public static double ScalarProduct(Vector vectorA, Vector vectorB) { double result = 0; double minSize = Math.Min(vectorA.GetSize(), vectorB.GetSize()); for (int i = 0; i < minSize; i++) { result += vectorA._components[i] * vectorB._components[i]; } return(result); }
public static double GetScalarMultiplication(Vector vector1, Vector vector2) { int minArraysLength = Math.Min(vector1.GetSize(), vector2.GetSize()); double scalar = 0; for (int i = 0; i < minArraysLength; i++) { scalar += vector1.components[i] * vector1.components[i]; } return(scalar); }
public void Subtract(Vector vector) { var size = Math.Max(vector.GetSize(), GetSize()); if (_components.Length < vector._components.Length) { var componentsTemp = new double[size]; Array.Copy(_components, componentsTemp, _components.Length); _components = componentsTemp; } for (int i = 0; i < vector._components.Length; i++) { _components[i] -= vector._components[i]; } }
public Vector GetDifference(Vector v) { if (GetSize() < v.GetSize()) { double[] newComponents = new double[v.Components.Length]; Array.Copy(Components, newComponents, Components.Length); Components = newComponents; } for (int i = 0; i < v.Components.Length; i++) { Components[i] -= v.Components[i]; } return(this); }
static void Main(string[] args) { Vector v1 = new Vector(5); Vector v2 = new Vector(v1); Vector v3 = new Vector(new double[] { 1, 2, 3, 4, 5, 6, 8 }); Vector v4 = new Vector(new double[] { 0, 3, 5, 8, 10, 12, 14, 16 }); Console.WriteLine(v1.ToString()); Console.WriteLine(v2.ToString()); Console.WriteLine(v3.ToString()); Console.WriteLine(v4.ToString()); Console.WriteLine(v4.GetSum(v3)); Console.WriteLine(v4.ToString()); v3.GetDifference(v4); Console.WriteLine(v3.GetSize()); Console.WriteLine(v3.GetTurn()); Console.WriteLine(v3.GetProductWithScalar(2)); Console.WriteLine(v3.GetElementByIndex(6)); Console.WriteLine(v3.Equals(v2)); v1.SetElementByIndex(0, 7); Console.WriteLine(v1.ToString()); Console.WriteLine(v2.ToString()); Vector v6 = Vector.GetSum(v1, v3); Console.WriteLine(v6.ToString()); double scalarProduct = Vector.GetScalarProductOfVectors(v1, v6); Console.WriteLine(scalarProduct); }
public static double ScalarProduct(Vector vector1, Vector vector2) { if (ReferenceEquals(vector1, null)) { throw new NullReferenceException("Vector1 must be not null"); } if (ReferenceEquals(vector2, null)) { throw new NullReferenceException("Vector2 must be not null"); } int minSize = Math.Min(vector1.GetSize(), vector2.GetSize()); double multipliedPairsSum = 0; for (int i = 0; i < minSize; i++) { multipliedPairsSum += vector1.components[i] * vector2.components[i]; } return(multipliedPairsSum); }
static void Main(string[] args) { double[] array = new double[] { 1, 2, 3, 4, 5, 6, 7 }; double[] array1 = new double[] { 6, 9, 11, 13, 15, 17, 19, 20, 2 }; Vector vector1 = new Vector(5); Vector vector2 = new Vector(array1); Vector vector3 = new Vector(7, array); Vector vector4 = new Vector(vector2); Console.WriteLine($"Размерность вектора2 = {vector2.GetSize()}"); vector1.AddVector(vector4); Console.WriteLine($"Прибавление вектора1 к вектору3 = {vector1.ToString()}"); vector1.SubtractVector(vector3); Console.WriteLine($"Вычитание вектора3 из измененного вектора1 = {vector1.ToString()}"); vector4.MultiplyByNumber(5); Console.WriteLine($"Умножение вектора4 на скаляр 5 = {vector4.ToString()}"); vector2.Turn(); Console.WriteLine($"Разворот вектора = {vector2.ToString()}"); Console.WriteLine($"Модуль измененного вектора3 = {vector3.GetLength()}"); Console.WriteLine($"Компонент вектора4 под индексом - 3 = {vector4.GetComponent(3)}"); Console.WriteLine($"Сложение вектора1 и вектора3 = {Vector.Add(vector1, vector3).ToString()}"); Console.WriteLine($"Вычитание из вектора1 вектора3 = {Vector.Subtract(vector1, vector3).ToString()}"); Console.WriteLine($"Скалярное произведение вектора3 и вектора4 = {Vector.GetScalarMultiplication(vector3, vector4).ToString()}"); Console.WriteLine($"Сравнивание вектора4 с вектором2 - {vector4.Equals(vector2)}"); Console.ReadKey(); }
public Vector(Vector cloneVector) { components = new double[cloneVector.GetSize()]; Array.Copy(cloneVector.components, components, cloneVector.components.Length); }