NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程,本文主要介绍如何从数值创建向量的基础知识,有任何建议或提示请在下方评论区留言,以便学习交流。
您可以通过各种方式从数值构造向量对象,所有这些构造函数都会创建新数据块的新视图。单个传递的非负整数创建该长度的向量,所有值都初始化为零。例如下列示例创建一个包含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 )