C#解析Matrix Marke資料格式
閱讀目錄
前言
1.Matrix Market格式介紹
2.C#讀取Matrix Market檔案
3.C#儲存資料為Matrix Market檔案
4.資源
本部落格所有文章分類的總目錄:【總目錄】本部落格博文總目錄-實時更新
開源Math.NET基礎數學類庫使用總目錄:【目錄】開源Math.NET基礎數學類庫使用總目錄
回到目錄
前言
上一篇文章,我們介紹了使用C#讀寫Matlab的Mat資料格式的情況。mat格式的廣泛應用使得很多人都瞭解,但同樣還有一些資料格式也是在科學計算,資料分析,測試等方面的通用資料格式,那就是接下來我們要介紹的Matrix Market格式。我們同樣是使用C#來操作該格式。
如果本文資源或者顯示有問題,請參考 本文原文地址:http://www.cnblogs.com/asxinyu/p/4266758.html
回到目錄
1.Matrix Market格式介紹
Matrix Market是一個基於AscII的可讀性很強的檔案格式,目的是促進矩陣資料的交流。NIST的資料儲存就有大量的數值線性代數相關的研究比較測試資料採用該格式。其他資訊可以參考官網:
The Matrix Market exchange formats are a set of human readable, ASCII-based file formats designed to facilitate the exchange of matrix data. The file formats were designed and adopted for the Matrix Market, a NIST repository for test data for use in comparative studies of algorithms for numerical linear algebra。
下面是一個Matrix Market矩陣的部分截圖,可以直接的理解該格式,的確是非常人性化,也方便不同軟體,系統間的資料交換。
回到目錄
2.C#讀取Matrix Market檔案
本文還是使用Math.NET提供的程式,只不過對其結構和使用進行分析。C#讀取的返回值的矩陣或者向量格式也都是Math.NET中的型別。C#讀取Martix Market檔案的主要型別是MatrixMarketReader,在MathNet.Numerics.Data.Text專案中,而其中的方法都是靜態方法,分別為讀取矩陣和讀取向量,並支援從檔案和流中分別讀取資料。看看如下幾個靜態函式的原型,就可以知道怎麼樣了:
1 public static MatrixReadMatrix (string filePath,Compression compression=Compression.Uncompressed) where T : struct, IEquatable , IFormattable 2 3 public static Vector ReadVector (string filePath,Compression compression=Compression.Uncompressed) where T : struct, IEquatable , IFormattable 4 5 public static Matrix ReadMatrix (Stream stream) where T :struct,IEquatable ,IFormattable 6 7 public static Vector ReadVector (Stream stream) where T :struct,IEquatable ,IFormattable 8 9 public static Matrix ReadMatrix (TextReader reader) where T :struct,IEquatable ,IFormattable10 11 public static Vector ReadVector (TextReader reader) where T :struct,IEquatable ,IFormattable
上面要注意的是,該檔案支援壓縮,所以有一個Compression引數,預設是未壓縮的。
回到目錄
3.C#儲存資料為Matrix Market檔案
C#寫入Matrix Market檔案的方法和上面的讀取類似,使用的是MatrixMarketWriter類的靜態方法,支援寫入矩陣和向量,方法原型如下:
1 public static void WriteMatrix(string filePath, Matrix matrix, Compression compression = Compression.Uncompressed) where T : struct, IEquatable , IFormattable 2 3 public static void WriteVector (string filePath, Vector vector, Compression compression = Compression.Uncompressed) where T : struct, IEquatable , IFormattable 4 5 public static void WriteMatrix (Stream stream, Matrix matrix) where T : struct, IEquatable , IFormattable 6 7 public static void WriteVector (Stream stream, Vector vector) where T:struct,IEquatable ,IFormattable 8 9 public static void WriteMatrix (TextWriter writer,Matrix matrix) where T :struct,IEquatable , IFormattable10 11 public static void WriteVector (TextWriter writer, Vector vector) where T :struct,IEquatable , IFormattable
一般來說,寫入檔案比較常用一點,可以用於系統之間和樣本資料的傳遞。總共就2個類,常用的也就4個方法,使用C#操作該資料格式就可以無憂了。
回到目錄
4.資源
原始碼下載:參考官網網站。
如果本文資源或者顯示有問題,請參考 本文原文地址:http://www.cnblogs.com/asxinyu/p/4266758.html
本部落格還有大量的.NET開源技術文章,您可能感興趣:
1.開源Math.NET基礎數學類庫使用系列文章:連結
2.開源C#彩票資料資料庫系列文章:連結
3.開源的.NET平臺ORM元件文章:連結
4.其他開源的.NET元件文章:連結
5..NET平臺機器學習元件-Infer.NET系列文章:連結
6.Matlab混合程式設計文章:連結
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3209/viewspace-2806726/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GEOJSON資料格式解析JSON
- Flutter資料解析Map格式Flutter
- ORACLE 資料塊格式深入解析Oracle
- ads1299多通道資料格式解析
- 藍芽Beacon廣播資料包格式以及解析藍芽
- python解析fiddler匯出txt流量資料為json格式PythonJSON
- NPM酷庫051:xml2js,解析XML格式資料NPMXMLJS
- unity3d c# http 請求json資料解析Unity3DC#HTTPJSON
- 資料包格式
- GPS 格式解析
- Oracle資料塊格式Oracle
- c# datetime iso 8601 格式C#
- Matrix
- 資料解析
- C# XML解析C#XML
- MXNet的資料格式轉化為tensorflow訓練用的資料格式
- Http請求資料格式HTTP
- Hive資料格式轉換Hive
- BVH檔案格式解析
- Matrix Computations
- Matrix Distance
- Matrix Operations
- C#上傳excel,解析主從表,1W資料快速插入資料庫,5s完成C#Excel資料庫
- C#資料去重C#
- Godot 解析資料Go
- datatable資料解析
- mxnet資料格式轉換為tensorflow,pytorch資料PyTorch
- COCO資料集格式互換
- 多種格式資料輸出
- 匯出資料為csv格式
- IP資料包格式詳解
- layui tree資料格式轉換UI
- 處理json格式的資料JSON
- android解析HashMap格式的jsonAndroidHashMapJSON
- arkTS 如何解析MD格式?
- java class 檔案格式解析Java
- 探索多種資料格式:JSON、YAML、XML、CSV等資料格式詳解與比較JSONYAMLXML
- C#連線資料庫C#資料庫