翻譯|使用教程|編輯:況魚杰|2019-07-01 09:34:06.980|閱讀 568 次
概述:NMath是NMath套包中基礎的.NET函數庫,它包含了復數類,通用向量與矩陣類,結構化稀疏矩陣類與因式分解,通用稀疏矩陣類與因式分解,通用矩陣分解,最小二乘解等內容。本節展示NMath數學庫中的矩陣類函數。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
NMath是一個適用于所有.NET語言,如C#、Visual Basic、F#和.NET的數學庫,它包含了.NET平臺上的面向對象數字計算的基礎類。我們將以連載的形式向大家介紹NMath的實用教程。本節展示在NMatht數學庫中的矩陣類函數。
NMath矩陣類是在返回IEnumerator對象時,會提供的標準.NET GetEnumerator()方法。
例:
int rows = 13,cols = 3; var A = new DoubleMatrix(rows,cols,0,.25); IEnumerator elements = A.GetEnumerator(); var data = new double [rows * cols]; i = 0; while(elements.MoveNext()){ data [i ++] =(double)elements.Current; }
代碼示例 - VB
Dim Rows As Integer = 13 Dim Cols As Integer = 3 Dim A As New DoubleMatrix(Rows, Cols, 0.0, 0.25) Dim Elements As IEnumerator = A.GetEnumerator() Dim Data(Rows * Cols) As Double Dim I As Integer = 0 While Elements.MoveNext() I += 1 Data(I) = CType(Elements.Current, Double) End While
注意:IEnumerator 上的Current屬性會返回集合中的當前對象,所以必須將其強制轉換為適當的類型。NMath 還提供自定義strongly-typed示例:IFloatEnumerator, IDoubleEnumerator,IFloatComplexEnumerator和IDoubleComplexEnumerator,這種形式的出現可以避免自己制作時出現的錯誤。
例:
代碼示例 - C#
int rows = 13, cols = 3; var A = new DoubleMatrix( rows, cols, 0, .25 );IDoubleEnumerator elements = A.GetDoubleEnumerator(); var data = new double[rows*cols]; i = 0; while ( elements.MoveNext() ) { data[i++] = elements.Current; // No need to cast to double }
代碼示例 - VB
Dim Rows As Integer = 13 Dim Cols As Integer = 3 Dim A As New DoubleMatrix(Rows, Cols, 0.0, 0.25) Dim Elements As IDoubleEnumerator = A.GetDoubleEnumerator() Dim Data(Rows * Cols) As Double Dim I As Integer = 0 While Elements.MoveNext() I += 1 Data(I) = Elements.Current ' No need to cast to Double End While
在慧都科技,能夠為您的企業找到解決方案,還有企業IT相關培訓,以及計算機軟件/硬件的銷售,想要了解更多有關慧都的資訊,請點擊,或者關注慧都微信公眾號 ???
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: