原創(chuàng)|使用教程|編輯:況魚杰|2019-06-20 15:32:12.850|閱讀 379 次
概述:NMath是NMath套包中基礎的.NET函數(shù)庫,它包含了復數(shù)類,通用向量與矩陣類,結構化稀疏矩陣類與因式分解,通用稀疏矩陣類與因式分解,通用矩陣分解,最小二乘解等內(nèi)容。本節(jié)展示NMath中各種以向量作為參數(shù)的函數(shù)類型。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
NMath是一個適用于所有.NET語言,如C#、Visual Basic、F#和.NET的數(shù)學庫,它包含了.NET平臺上的面向?qū)ο髷?shù)字計算的基礎類。我們將以連載的形式向大家介紹NMath的實用教程。本節(jié)展示NMath中各種以向量作為參數(shù)的函數(shù)類型。
函數(shù)類型分為:
舍入函數(shù)
總和,差異和產(chǎn)品
最大/最小功能類
統(tǒng)計功能
三角函數(shù)
先驗功能
絕對值和平方根
排序功能
復矢量函數(shù)
本節(jié)介紹前五種類型:
舍入函數(shù)
類NMathFunctions 提供用于舍入向量元素的靜態(tài)方法:
Round()將給定向量的每個元素舍入到指定的小數(shù)位數(shù)。
Ceil()將ceiling四舍五入功能應用于給定矢量的每個元素。
Floor()將floor四舍五入功能應用于給定矢量的每個元素。
例如,此代碼將美元金額的向量轉(zhuǎn)換為歐元,然后舍入到兩個小數(shù)位:
代碼示例 - C#
var v = new DoubleVector( "$4.30 $0.08 ($5.87)", NumberStyles.Number | NumberStyles.AllowCurrencySymbol | NumberStyles.AllowParentheses ); v = v * 0.9289; // exchange rate v = NMathFunctions.Round( v, 2 );
代碼示例 - VB
Dim V As New DoubleVector("$4.30 $0.08 ($5.87)", NumberStyles.Number Or NumberStyles.AllowCurrencySymbol Or NumberStyles.AllowParentheses) V = V * 0.9289 ' exchange rate V = NMathFunctions.Round(V, 2)
總和,差異和產(chǎn)品
類NMathFunctions 提供靜態(tài)方法來計算向量元素的總和,差異和產(chǎn)品:
Sum()是定向量中元素的總和。
AbsSum()是定向量中元素的絕對值之和。(對于復矢量,此函數(shù)計算矢量元素的L1范數(shù)之和)
CumulativeSum()是定向量中元素的累積和的向量,例如:
u [i] = v [0] + v [1] + ... v [i]
NaNSum()是定向量中元素的總和,忽略非數(shù)字(NaN)的值。NaN函數(shù)僅可用于實值向量,而不能用于復數(shù)向量。
Delta()是定向量中連續(xù)元素之間差異的向量,例如:
u [0] = v [0] u [i] = v [i] - v [i-1]
CumulativeProduct()是定向量中元素的累積乘積的向量。
Dot()是在向量點或內(nèi)部, 兩個向量的乘積d,v和w,例如:
d = v [0] * w [0] + v [1] * w [1] ......
OuterProduct()創(chuàng)建一個包含兩個向量的外積的矩陣 。
注意:Cross()計算兩個向量的交叉乘積。向量必須至少具有三個長度,并且為了計算叉積而忽略超過三個的元素。
例如: 代碼示例 - C#
var v = new FloatVector(“[1 2 3 4 5 6]”);var u = new FloatVector(v.Length,1,1);float dp = NMathFunctions .Dot(v,u);
代碼示例 - VB
Dim V As New FloatVector(“[1 2 3 4 5 6]”)Dim U As New FloatVector(V.Length,1,1)Dim DP As Single = NMathFunctions .Dot(V,U)
最小/最大功能 類
NMathFunctions 提供靜態(tài)最小/最大查找方法,返回滿足適當標準的元素的整數(shù)索引:
MaxIndex()返回具有最大值的元素的索引。
MinIndex()返回具有最小的元素的索引。
MaxAbsIndex()返回絕對值最大的元素的索引
MinAbsIndex()返回絕對值最小的元素的索引。
最小值/最大值方法MaxValue(), MinValue(),MaxAbsValue()和MinAbsValue()返回滿足相應條件的元素的值,返回的類型取決于向量的類型。
統(tǒng)計功能
NMathFunctions 上的靜態(tài)Mean()方法返回給定向量元素的均值。Median() 返回中位數(shù)。如果向量的長度是偶數(shù),則是中間兩個元素求平均值。Median()僅適用于實值向量,而不是復數(shù)向量,因為復數(shù)不存在標準排序。
Variance()返回元素的偏差方差。
例如: 代碼示例 - C#
var v = new DoubleVector(“[1 2 3 4 5 6]”);double mean = NMathFunctions .Mean(v);double variance = NMathFunctions .Variance(v);
代碼示例 - VB
Dim V As New FloatVector("[1 2 3 4 5 6]") Dim U As New FloatVector(V.Length, 1, 1) Dim DP As Single = NMathFunctions.Dot(V, U)
SumOfSquares()是定向量元素平均值的平方偏差之和。 NaNMean(),NanMedian(),NaNVariance()和NanSumOfSquares()忽略非數(shù)字(NaN)的值,NaNCount()是向量中的NaN值的數(shù)量。NaN函數(shù)僅適用于實值向量,而不適用于復矢量。
三角函數(shù)
NMath擴展標準三角函數(shù)Acos(),Asin(),Atan(),Cos(),Cosh(),Sin(),Sinh(),Tan()和Tanh() 以獲取向量參數(shù),類NMathFunctions提供這些函數(shù)作為靜態(tài)方法。例如,此代碼構造一個向量,其內(nèi)容是另一個向量的余弦:
代碼示例 - C#
var v = new FloatVector(10,0,2);FloatVector cosv = NMathFunctions .Cos(v);
代碼示例 - VB
var v = new FloatVector(10,0,2);FloatVector cosv = NMathFunctions .Cos(v);
靜態(tài)Atan2()方法采用兩個向量,并將雙參數(shù)反正切函數(shù)應用于連續(xù)的元素對。
年中活動,優(yōu)惠多多,點擊就可領取 MyEclipse 、.NET Reactor、FastReport .Net、VMProtect等超多在線訂購產(chǎn)品優(yōu)惠券!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn