Esempio n. 1
0
 public static Vector operator +(Vector v1, Vector v2)
 {
     if (v1.Count != v2.Count)
     {
         throw new Exception("Vector is not compatible");
     }
     else
     {
         Vector result = new Vector(v1.Count);
         for (int i = 0; i < v2.Count; i++)
         {
             result[i] = v1[i] + v2[i];
         }
         return result;
     }
 }
Esempio n. 2
0
 public void TestMethodVector()
 {
     Vector v1 = new Vector(3);
     v1[0] = 0; v1[1] = 1; v1[2] = 2;
     Vector v2 = new Vector(3);
     v2[0] = 1; v2[1] = 2; v2[2] = 3;
     Vector v3 = new Vector(new double[] { 1, 3, 5 });
     Assert.AreEqual(v3 - v2, v1);
     Assert.AreEqual(v1[0], 0, 0.0001);
     Assert.AreEqual(v1[2], 2, 0.0001);
     Assert.AreEqual(v1.Count, 3);
     Vector v4 = v1 + v2;
     Assert.AreEqual(v4.GetHashCode(), v3.GetHashCode());
     Assert.IsTrue(v3.Equals(v4));
     Assert.IsTrue(v3 == v4);
     Assert.IsFalse(v1.Equals(v3));
     Assert.IsTrue(v1 + v2 == v3);
     v1.ResetVector(new double[] { 1, 3, 5 });
     Assert.AreEqual(v1, v3);
     Assert.AreEqual(v1.SubVector(1, 2), new Vector(new double[] { 3, 5 }));
     Assert.AreEqual(v1.GetMaxValueIndex(), 2);
     Assert.AreEqual(v1.GetMinValueIndex(), 0);
     v1.ResetVector(new double[] { -1, 1, 3 });
     Assert.AreEqual(v1.GetPositiveMinValueIndex(), 1);
     Assert.IsTrue(v1.IsAllNoLessThanTarget(-1));
     Assert.IsFalse(v1.IsAllNoLessThanTarget(-0.5));
     Assert.IsTrue(v1.IsAllNoGreatThanTarget(3));
     Assert.IsFalse(v1.IsAllNoGreatThanTarget(2.5));
     Assert.IsTrue(v1.Contains(1));
     Assert.IsTrue(v1.IsAllInteger());
     Assert.IsFalse(new Vector(new double[] { 0.5, 0.3, 1 }).IsAllInteger());
     string output = v1.ToString();
     v1.Resize(2);
     Assert.AreEqual(v1, new Vector(new double[] { -1, 1 }));
     v1.Resize(4);
     Assert.AreEqual(v1, new Vector(new double[] { -1, 1, 0, 0 }));
 }
Esempio n. 3
0
        public void AddNewRowToEnd(Vector newRow)
        {
            if (newRow.Count != Column)
            {
                throw new Exception("Matrix is not compatible");
            }

            this.Resize(Row + 1, Column);

            for (int j = 0; j < Column; j++)
            {
                values[Row - 1, j] = newRow[j];
            }
        }
Esempio n. 4
0
 public Vector SubVector(int startIndex, int length)
 {
     Vector result = new Vector(length);
     for (int i = startIndex; i < startIndex + length; i++)
     {
         result[i - startIndex] = this[i];
     }
     return result;
 }