NMath是一个适用于全部.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。咱们将以连载的形式向你们介绍NMath的实用教程,本文主要介绍如何从数值建立向量的基础知识,有任何建议或提示请在下方评论区留言,以便学习交流。
数组
在上一篇连载教程中咱们介绍了如何从数值建立向量,在本文中咱们将介绍从字符串建立向量,即从[v1 v2 v3 ...]表示形式的字符串构造向量。括号是可选的,忽略额外的空格。一样,这些构造函数建立了新数据块的新视图。例如:bash
string s = "4.3 -232 5.344 23.4 -32.43 ";
var v = new DoubleVector( s );
s = "[ (4.3,3.5) (23.4,-234.3) (-21.2,0) ]";
var u = new DoubleComplexVector( s );复制代码
Dim S As String = "4.3 -232 5.344 23.4 -32.43 "
Dim V As New DoubleVector(S)
S = "[ (4.3,3.5) (23.4,-234.3) (-21.2,0) ]"
Dim U As New DoubleComplexVector(S)复制代码
构造函数可选的第二个参数接受来自System.Globalization.NumberStyles枚举的值。这些样式由数字基类型的Parse()方法使用。例如:函数
using System.Globalization;
string s = "$4.52 $4.32 $4.56 $9.94 ($0.04) ($5.00)";
var v = new FloatVector( s,
NumberStyles.AllowCurrencySymbol |
NumberStyles.AllowDecimalPoint |
NumberStyles.AllowParentheses );复制代码
Imports System.Globalization
Dim S As String = "$4.52 $4.32 $4.56 $9.94 ($0.04) ($5.00)"
Dim V As New FloatVector(s,
NumberStyles.AllowCurrencySymbol Or
NumberStyles.AllowDecimalPoint Or
NumberStyles.AllowParentheses)复制代码
注意:即便空格被设置为组分隔符,一样也被解释为数据分隔符。另外Currency表示基于System.Globalization.CultureInfo中的区域设置信息,除非您覆盖该信息。学习
最后,您能够从给定的文本阅读器构造一个向量,只需将文本阅读器放在向量的有效文本表示的开头便可。在这种状况下括号是必需的,由于文本阅读器读取流直到遇到结束括号为止。例如:ui
var reader = new StreamReader( "data.txt" );
// ... read until start of vector
var v = new DoubleVector( reader );复制代码
Dim Reader As New StreamReader("data.txt")
' ... read until start of vector Dim V As New DoubleVector(Reader)复制代码
一样,可选的第二个参数接受来自System.Globalization.NumberStyles枚举的值。spa
您也能够使用静态Parse()方法从字符串表示建立向量,而不是使用构造函数。向量类提供Parse()方法的重载,该方法接受字符串、字符串加数字样式、文本阅读器以及文本阅读器加数字样式。例如:code
string s = "$4.52 $4.32 $4.56 $9.94 ($0.04) ($5.00)";
FloatVector v = FloatVector.Parse( s,
NumberStyles.AllowCurrencySymbol |
NumberStyles.AllowDecimalPoint |
NumberStyles.AllowParentheses );复制代码
Dim S As String = "$4.52 $4.32 $4.56 $9.94 ($0.04) ($5.00)"
Dim V As FloatVector = FloatVector.Parse(s,
NumberStyles.AllowCurrencySymbol Or
NumberStyles.AllowDecimalPoint Or
NumberStyles.AllowParentheses)复制代码
相反,重写的ToString()成员函数返回形式为[v1 v2 v3 ...]向量的字符串表示形式 。ToString()方法的变体也接受标准的.NET数字格式字符串。例如,格式字符串“C”表示Currency概念:cdn
var v = new DoubleVector( "[ 1.12 8.95 3.95 4.60 ]" );
Console.WriteLine( v.ToString( "C" ) );复制代码
Dim V As New DoubleVector("[ 1.12 8.95 3.95 4.60 ]")
Console.WriteLine(V.ToString("C"))复制代码
您能够从ADO.NET对象如DataTable、DataRow对象的数组、DataRowCollection或DataView建立矢量对象。对象