NMath是一個適用於全部.NET語言,如C#、Visual Basic、F#和.NET的數學庫,它包含了.NET平臺上的面向對象數字計算的基礎類。咱們將以連載的形式向你們介紹NMath的實用教程。本節內容展現向量的值運算。ide
向量的值運算spa
向量類具備如下只讀屬性:對象
length指在向量中獲取數據元素的數量。教程
Stride是指向量在正在查看的數據塊的連續元素之間的跨步。索引
DataBlock指對向量正在查看的數據塊引用的獲取。get
當v是DoubleComplexVector時:數學
Code Example – C# vectorit
int length = v.Length; int stride = v.Stride;DoubleComplexDataBlock block = v.DataBlock;
Code Example – VB vectorio
Dim Length As Integer = V.Length Dim Stride As Integer = V.Stride Dim Block As DoubleComplexDataBlock = V.DataBlock
訪問和修改矢量值
向量類提供獲取和設置元素值的標準索引操做符,v[i]就是返回向量v的數據視圖的第i個元素。
注意索引從0開始,還能夠使用set函數將向量的數據元素設置爲指定的值。
當將v的內容更改成0和1的可選值時:
Code Example – C# vector
var v = new FloatVector(10, 0, 1); var evenElements = new Range( 0, Position.End, 2 ); var oddElements = new Range( 1, Position.End, 2 ); v.Set( evenElements, 0 ); v.Set( oddElements, 1 );
Code Example – VB vector
Dim V As New FloatVector(10, 0, 1) Dim EvenElements As New Range(0, Position.End, 2) Dim OddElements As New Range(1, Position.End, 2) V.Set(EvenElements, 0) V.Set(OddElements, 1)
注意:當返回向量引用數據的向量視圖時,採用的任何方法均可以用於修改原始向量的值。
清除和調整向量大小
向量類提供兩種方法用於在建立向量後更改其長度:
clear:將全部數據元素的值重置爲零。
resize:將向量的大小更改成指定的長度,根據須要更改。
resizeAndClear:執行與resize相同的功能,但也會將全部剩餘數據元素的值重置爲零。
附加向量
能夠使用附加的方法將新元素添加到向量的末尾,將單個元素添加到向量的末尾:
Code Example – C# vector
var v = new FloatVector( 10, 0, 0.5F ); float x = 5.5F; v.Append( x );
Code Example – VB vector
Dim V As New FloatVector(10, 0, 0.5F) Dim X As Single = 5.5F V.Append(X)
將另外一個向量附加到向量的末尾:
Code Example – C# vector
var v = new DoubleVector( 10, 0, 1 ); var w = new DoubleVector( 5, 11, 1 ); v.Append( w );
Code Example – VB vector
Dim V As New DoubleVector(10, 0, 1) Dim W As New DoubleVector(5, 11, 1) V.Append(W)
注意:新的向量是由附加方法分配的,且數據是被複制的。