翻譯|使用教程|編輯:況魚杰|2019-06-11 11:53:33.090|閱讀 416 次
概述:NMath是NMath套包中基礎的.NET函數庫,它包含了復數類,通用向量與矩陣類,結構化稀疏矩陣類與因式分解,通用稀疏矩陣類與因式分解,通用矩陣分解,最小二乘解,隨機數生成器,快速傅里葉變換(FFT算法) ,數值積分與微分方法,函數最小化,曲線擬合,求根法,線性與非線性編程等內容。本教程展示NMath中向量的值運算。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
NMath是一個適用于所有.NET語言,如C#、Visual Basic、F#和.NET的數學庫,它包含了.NET平臺上的面向對象數字計算的基礎類。我們將以連載的形式向大家介紹NMath的實用教程。本節內容展示向量的值運算。
向量的值運算
向量類具有以下只讀屬性:
length指在向量中獲取數據元素的數量。
Stride是指向量在正在查看的數據塊的連續元素之間的跨步。
DataBlock指對向量正在查看的數據塊引用的獲取。
當v是DoubleComplexVector時:
Code Example – C# vector
int length = v.Length; int stride = v.Stride;DoubleComplexDataBlock block = v.DataBlock;
Code Example – VB vector
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)
注意:新的向量是由附加方法分配的,且數據是被復制的。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn