NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程,本文主要介绍如何从数值创建向量的基础知识,有任何建议或提示请在下方评论区留言,以便学习交流。

.NET的数学库NMath实用教程——从数值创建向量-LMLPHP

您可以通过各种方式从数值构造向量对象,所有这些构造函数都会创建新数据块的新视图。单个传递的非负整数创建该长度的向量,所有值都初始化为零。例如下列示例创建一个包含10个元素的浮点值向量:

C#向量代码示例

var v = new FloatVector( 10 );

VB向量代码示例

Dim V As New FloatVector(10)

另一个构造函数使您可以设置向量中所有元素的初始值

C#向量代码示例

var v = new DoubleVector( 10, 2.0 );
// v[i]==2 for all i

var u =
  new FloatComplexVector( 10, new FloatComplex( 1.0, -2.0 ) );
// u[j] == 1 - 2i for all j

VB向量代码示例

Dim V As New DoubleVector(10, 2.0)
' V(i)=2 for all i

Dim U As New FloatComplexVector(10, New FloatComplex(1.0, -2.0))
' U(j) = 1 - 2i for all j

类似地,向量类提供了一个允许您设置长度、第一个元素的值以及向量中每个连续元素递增的量的构造函数。因此向量的第i个元素具有initialValue + i * increment的值。例如下列示例创建向量[1,3,5,7,9]:

C#向量代码示例

var v = new FloatVector( 5, 1, 2 );

VB向量代码示例

Dim V As New FloatVector(5, 1, 2)

您还可以从值的数组创建向量:

C#向量代码示例

double[] dblArray = {1.12, -2.0, 3.88, 1.2, 15.345};
var v = new DoubleVector( dblArray );

VB向量代码示例

Dim DblArray() As Double = {1.12, -2.0, 3.88, 1.2, 15.345}
Dim V As New DoubleVector(DblArray)

或以逗号分隔的列表:

C#向量代码示例

var v = new FloatVector( 3.5, -6.7, 0.0, 3.11, 8.90, 5.0 );

VB向量代码示例

Dim V As New FloatVector(3.5, -6.7, 0.0, 3.11, 8.9, 5.0)

也可以从极坐标创建复杂向量类型:

C#向量代码示例

var magnitudes = new FloatVector( 1, 2, 3, 6 );
var angles = new FloatVector( 1, 2, 3, -3 );
var v = FloatComplexVector.FromPolar( magnitudes, angles );

VB向量代码示例

Dim Magnitudes As New FloatVector( 1, 2, 3, 6 )
Dim Angles as New FloatVector( 1, 2, 3, -3 )
Dim V = FloatComplexVector.FromPolar( magnitudes, angles )

02-02 16:04