⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicvectors.vb

📁 这里是用VB写的数学库。以前用C、C++写的比较多。内容有:复数运算、矩阵运算、解方程、积分微分等。非常有用。
💻 VB
字号:
' The Vector class resides in the Extreme.Mathematics.LinearAlgebra namespace.
Imports Extreme.Mathematics.LinearAlgebra

Namespace Extreme.Mathematics.QuickStart.VB
    ' Illustrates the use of the Vector class in the 
    ' Extreme.Mathematics.LinearAlgebra namespace of the Extreme Optimization
    ' Mathematics Library for .NET.
    Module BasicVectors

        Sub Main()
            '
            ' Constructing vectors
            '

            ' Option #1: specify the number of elements. All
            ' components are set to 0.
            Dim v1 As Vector = New GeneralVector(5)
            ' Option #2: specify the components:
            Dim v2 As Vector = New GeneralVector(1, 2, 3, 4, 5)
            ' Option #3: specify the components as a Double array.
            ' By default, the components are copied to a storage
            ' area internal to the Vector.
            Dim components As Double() = _
                New Double() {1, 2, 3, 4, 5}
            Dim v3 As Vector = New GeneralVector(components)
            ' Option #4: same as above, but specify whether
            ' to copy the components, or use the array as 
            ' internal storage.
            Dim v4 As Vector = New GeneralVector(components, False)
            ' Changing a value in the original vector changes
            ' the resulting vector.
            Console.WriteLine("v4 = {0:F4}", v4)
            components(3) = 1
            Console.WriteLine("v4 = {0:F4}", v4)
            ' Option #5: same as #3, but specify the length of
            ' the Vector. The remaining elements in the component
            ' array will be ignored.
            Dim v5 As Vector = New GeneralVector(4, components)
            ' Option #6: same as #5, but specify whether
            ' to copy the components, or use the array as 
            ' internal storage.
            Dim v6 As Vector = New GeneralVector(4, components, False)

            '
            ' Vector properties
            '

            ' The Length property gives the number of components
            ' of a Vector:
            Console.WriteLine("v1.Length = {0}", v1.Length)
            ' The Components property returns a Double array
            ' that contains the components of the vector.
            ' This is always a copy:
            components = v2.GetComponents()
            Console.WriteLine("Effect of shared storage:")
            Console.WriteLine("v2(2) = {0}", v2(2))
            components(2) = 1
            Console.WriteLine("v2(2) = {0}", v2(2))

            '
            ' Accessing vector elements
            '

            ' The Vector class defines an indexer property that
            ' takes a zero-based index.
            Console.WriteLine("Assigning with private storage:")
            Console.WriteLine("v1(2) = {0}", v1(2))
            ' You can assign to this property:
            v1(2) = 7
            Console.WriteLine("v1(2) = {0}", v1(2))
            ' The vectors v4 and v6 had the copy parameter in the
            ' constructor set to false. As a result, they share 
            ' their component storage. Changing one vector also 
            ' changes the other:
            Console.WriteLine("Assigning with shared storage:")
            Console.WriteLine("v4(1) = {0}", v4(1))
            v6(1) = 7
            Console.WriteLine("v4(1) = {0}", v4(1))

            ' The SetValue method sets all components of a vector
            ' to the same value:
            v1.SetValue(1)
            Console.WriteLine("v1 = {0:F4}", v1)
            ' The Zero method sets all components to 0:
            v1.Zero()
            Console.WriteLine("v1 = {0:F4}", v1)

            '
            ' Copying and cloning vectors
            '

            ' A shallow copy of a vector constructs a vector
            ' that shares the component storage with the original.
            ' This is done using the ShallowCopy method:
            Console.WriteLine("Shallow copy vs. clone:")
            Dim v7 As Vector = v2.ShallowCopy()
            ' The clone method creates a full copy.
            Dim v8 As Vector = v2.Clone()
            ' When we change v2, v7 changes, but v8 is left
            ' unchanged.
            Console.WriteLine("v2(1) = {0}", v2(1))
            v2(1) = -2
            Console.WriteLine("v7(1) = {0}", v7(1))
            Console.WriteLine("v8(1) = {0}", v8(1))
            ' We can give a vector its own component storage
            ' by calling the CloneData method:
            Console.WriteLine("CloneData:")
            v7.CloneData()
            ' Now, changing the original v2 no longer changes v7:
            v2(1) = 4
            Console.WriteLine("v7(1) = {0}", v7(1))
            ' The CopyTo method copies the components of a Vector
            ' to a variety of destinations. It may be a Vector:
            Console.WriteLine("CopyTo:")
            v6.CopyTo(v1)
            Console.WriteLine("v6 = {0:F4}", v6)
            Console.WriteLine("v1 = {0:F4}", v1)
            ' You can specify an index where to start copying
            ' in the destination vector:
            v6.CopyTo(v1, 1)
            Console.WriteLine("v1 = {0:F4}", v1)
            ' Or you can copy to a Double array:
            v6.CopyTo(components)

            Console.Write("Press Enter key to exit...")
            Console.ReadLine()
        End Sub

    End Module

End Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -