NMath是一个适用于全部.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。咱们将以连载的形式向你们介绍NMath的实用教程。本节展现NMath中各类以向量做为参数的函数类型。函数
最新版NMath点击下载spa
舍入函数 对象
类NMathFunctions 提供用于舍入向量元素的静态方法:排序
Round()将给定向量的每一个元素舍入到指定的小数位数。教程
Ceil()将ceiling四舍五入功能应用于给定矢量的每一个元素。索引
Floor()将floor四舍五入功能应用于给定矢量的每一个元素。 get
例如,此代码将美圆金额的向量转换为欧元,而后舍入到两个小数位: 数学
代码示例 - 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 );
代码示例 - VBio
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)
总和,差别和产品
类NMathFunctions 提供静态方法来计算向量元素的总和,差别和产品:
Sum()是定向量中元素的总和。
AbsSum()是定向量中元素的绝对值之和。(对于复矢量,此函数计算矢量元素的L1范数之和。)
CumulativeSum()是定向量中元素的累积和的向量,使得。
u [i] = v [0] + v [1] + ... v [i]
NaNSum()是定向量中元素的总和,忽略非数字(NaN)的值。NaN函数仅可用于实值向量,而不能用于复数向量。
Delta()是定向量中连续元素之间差别的向量,例如:
u [0] = v [0] u [i] = v [i] - v [i-1]
CumulativeProduct()是定向量中元素的累积乘积的向量。
Dot()是在向量点或内部, 两个向量的乘积d,v和w,其中
d = v [0] * w [0] + v [1] * w [1] ......
OuterProduct()建立一个包含两个向量的外积的矩阵 。
注意: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 提供静态最小/最大查找方法,返回知足适当标准的元素的整数索引:
MaxIndex()返回具备最大值的元素的索引。
MinIndex()返回具备最小的元素的索引。
MaxAbsIndex()返回绝对值最大的元素的索引
MinAbsIndex()返回绝对值最小的元素的索引。
最小值/最大值方法MaxValue(), MinValue(),MaxAbsValue()和MinAbsValue()返回知足相应条件的元素的值,返回的类型取决于向量的类型。
统计功能
NMathFunctions 上的静态Mean()方法返回给定向量元素的均值。Median() 返回中位数。若是向量的长度是偶数,则对中间两个元素求平均值,Median()仅适用于实值向量,而不是复数向量,由于复数不存在标准排序。
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()忽略非数字(NaN)的值。NaNCount()是向量中的NaN值的数量。NaN函数仅适用于实值向量,而不适用于复矢量。
三角函数
NMath扩展标准三角函数Acos(),Asin(),Atan(),Cos(),Cosh(),Sin(),Sinh(),Tan()和Tanh() 以获取向量参数。类NMathFunctions提供这些函数做为静态方法。例如,此代码构造一个向量,其内容是另外一个向量的余弦:
代码示例 - 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);
静态Atan2()方法采用两个向量,并将双参数反正切函数应用于连续的元素对。