开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式

原文:【原创】开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式

 开源Math.NET基础数学类库使用系列文章总目录: 

  1.开源.NET基础数学计算组件Math.NET(一)综合介绍  

  2.开源.NET基础数学计算组件Math.NET(二)矩阵向量计算 

  3.开源.NET基础数学计算组件Math.NET(三)C#解析Matlab的mat格式

  4.开源.NET基础数学类库使用Math.NET(四)C#解析Matrix Marke数据格式

  5.开源.NET基础数学类库使用Math.NET(五)C#解析Delimited Formats数据格式

  6.开源.NET基础数学类库使用Math.NET(六)数值分析之线性方程直接求解

  7.开源.NET基础数学类库使用Math.NET(七)常用的一些数学常数 

  8.开源.NET基础数学类库使用Math.NET(八)C#进行数值积分

  9.开源.NET基础数学类库使用Math.NET(九)相关数论函数使用

10.开源.NET基础数学类库使用Math.NET(十)C#进行数据统计

11.开源.NET基础数学类库使用Math.NET(十一)C#计算相关系数

12.开源.NET基础数学类库使用Math.NET(十二)随机数扩展方法

13.开源.NET基础数学类库使用Math.NET(十三)C#实现其他随机数生成器

14.开源.NET基础数学类库使用Math.NET(十四)安全的随机数生成器扩展

后续继续更新中。。如文章链接打开有误,请关注博客,因为文章正在编辑修改中,所有已经列出的目录都将在1个月之内发表。 

前言

  上一篇文章,我们介绍了使用C#读写Matlab的Mat数据格式的情况。mat格式的广泛应用使得很多人都了解,但同样还有一些数据格式也是在科学计算,数据分析,测试等方面的通用数据格式,那就是接下来我们要介绍的Matrix Market格式。我们同样是使用C#来操作该格式。

如果本文资源或者显示有问题,请参考 本文原文地址:http://www.cnblogs.com/asxinyu/p/4266758.html

1.Matrix Market格式介绍

  Matrix Market是一个基于AscII的可读性很强的文件格式,目的是促进矩阵数据的交流。NIST的数据存储就有大量的数值线性代数相关的研究比较测试数据采用该格式。其他信息可以参考官网:http://math.nist.gov/MatrixMarket/

http://en.wikipedia.org/wiki/Matrix_Market_exchange_formats

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 Matrix<T> ReadMatrix<T>(string filePath,Compression compression=Compression.Uncompressed) where T : struct, IEquatable<T>, IFormattable
 2 
 3 public static Vector<T> ReadVector<T>(string filePath,Compression compression=Compression.Uncompressed) where T : struct, IEquatable<T>, IFormattable
 4 
 5 public static Matrix<T> ReadMatrix<T>(Stream stream) where T :struct,IEquatable<T>,IFormattable
 6 
 7 public static Vector<T> ReadVector<T>(Stream stream) where T :struct,IEquatable<T>,IFormattable
 8 
 9 public static Matrix<T> ReadMatrix<T>(TextReader reader) where T :struct,IEquatable<T>,IFormattable
10 
11 public static Vector<T> ReadVector<T>(TextReader reader) where T :struct,IEquatable<T>,IFormattable

  上面要注意的是,该文件支持压缩,所以有一个Compression参数,默认是未压缩的。

3.C#保存数据为Matrix Market文件

  C#写入Matrix Market文件的方法和上面的读取类似,使用的是MatrixMarketWriter类的静态方法,支持写入矩阵和向量,方法原型如下:

 1 public static void WriteMatrix<T>(string filePath, Matrix<T> matrix, Compression compression = Compression.Uncompressed) where T : struct, IEquatable<T>, IFormattable
 2 
 3 public static void WriteVector<T>(string filePath, Vector<T> vector, Compression compression = Compression.Uncompressed) where T : struct, IEquatable<T>, IFormattable
 4 
 5 public static void WriteMatrix<T>(Stream stream, Matrix<T> matrix) where T : struct, IEquatable<T>, IFormattable
 6 
 7 public static void WriteVector<T>(Stream stream, Vector<T> vector) where T:struct,IEquatable<T>,IFormattable
 8 
 9 public static void WriteMatrix<T>(TextWriter writer,Matrix<T> matrix) where T :struct,IEquatable<T>, IFormattable
10 
11 public static void WriteVector<T>(TextWriter writer, Vector<T> vector) where T :struct,IEquatable<T>, 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混合编程文章:链接  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

元胞自动机模型_【ABM仿真模拟】第三章 元胞自动机 B

是新朋友吗&#xff1f;记得先点蓝字关注我哦&#xff5e;第三章 元胞自动机 B2020/01/233.3投票模型(Voting) 课程导读无论是国内国外&#xff0c;投票结果的预测都异常受到关注。在众多唐斯模型、中间选民模型 、以及Sznajd模型中&#xff0c;投票模型作为典型的元胞自动机&a…

喜报!985大学首次登上Nature封面,这所学校可太不容易了!

全世界只有3.14 % 的人关注了爆炸吧知识建校64年来&#xff0c;第一次登上期刊封面又一所985院校出息了&#xff01;伦敦时间6月4号&#xff0c;《Nature》刊发了电子科技大学邓旭教授团队的最新研究成果&#xff0c;并被选为当期封面。《设计坚固的超疏水表面》《Nature》作为…

getbean方法找不到bean_iphone手机静音找不到怎么办 iphone静音找不到解决方法【图文】...

一个网友给小编留言&#xff0c;询问&#xff1a;“我的iphone调静音了现在找不到&#xff0c;有什么工具能找到”这一个问题&#xff0c;因此&#xff0c;在今天的iPhone使用教程&#xff0c;小编就给大家讲解一下具体的解决方法&#xff0c;那么&#xff0c;iphone手机静音找…

成长 | 《大厂晋升指南》学习总结(上)

【学习总结】| Edison Zhou温馨提示&#xff1a;文中的贴图均来自极客时间《大厂晋升指南》课程。0写在开头今年加入了一家产业互联网平台企业&#xff0c;公司刚好也开始借鉴阿里的职级体系。对于从来没有在互联网企业呆过的我&#xff0c;对于职级体系还比较陌生&#xff0c;…

String,StringBuffer与StringBuilder的区别

2019独角兽企业重金招聘Python工程师标准>>> String 字符串常量StringBuffer 字符串变量&#xff08;线程安全&#xff09;StringBuilder 字符串变量&#xff08;非线程安全&#xff09; 简要的说&#xff0c; String 类型和 StringBuffer 类型的主要性能区别其实在…

68张机械原理动图,够你看一晚上了!

全世界只有3.14 % 的人关注了爆炸吧知识机械动态图有的可以洞察工作原理&#xff0c;有的可以洞察结构&#xff0c;有的可以表达工作过程&#xff0c;不学机械的也能看得懂&#xff01;今天的68幅动态图总有一些你没有见过&#xff0c;相当棒&#xff01;一、制造篇一张图告诉你…

频谱分析幅值单位_案例分享丨某水泥厂入窑斗提减速机不对中故障分析及处理...

斗式提升机是利用均匀固接于无端奉引构件上的一系列料斗,竖向提升物料的连续输送机械。分为环链、板链和皮带三种。今天因大师将给大家分享一个水泥厂的入窑斗提减速机不对中故障的诊断案例。1 设备概况设备基本信息&#xff1a;设备位置&#xff1a;1#产线入窑斗提&#xff08…

中国高校鄙视链指南

全世界只有3.14 % 的人关注了爆炸吧知识某一天&#xff0c;中国各大高校齐聚一堂&#xff0c;开了一场“拒绝高校鄙视链座谈会”&#xff0c;誓要消除高校之间的不平等&#xff0c;不让莘莘学子因为母校问题而被人低看一眼&#xff0c;遗憾终生。首先主持人介绍清华北大发言&am…

.NET 6 ThreadPool 实现概述

前言在即将发布的 .NET 6 runtime 中&#xff0c;默认的线程池实现从 C 代码改为了 C#&#xff0c;更方便我们学习线程池的设计了。https://github.com/dotnet/runtime/tree/release/6.0/src/libraries/System.Threading.ThreadPool新的线程池实现位于 PortableThreadPool 中&a…

嵌入式linux配置qt,基于qt的嵌入式Linux开发环境搭建

摘要&#xff1a;本文主要介绍在PC机上搭建基于QT的嵌入式开发环境&#xff0c;其中很多源文件都是开发板自带&#xff0c;需要相应资料的可以评论留下邮箱地址。版本&#xff1a;交叉编译工具链&#xff1a;GCC 4.7.3 【gcc-linaro-arm-linux-gnueabihf-4.7-2012.12-20121214…

漫水填充及Photoshop中魔术棒选择工具的实现

今天写程序中有一个地方用到了漫水填充&#xff08;FloodFill&#xff09;。所谓漫水填充&#xff0c;简单来说&#xff0c;如下图中左图&#xff0c;白布上有一块红色的斑点&#xff0c;在这个红色的斑点上点一下&#xff0c;就自动选中了和该点相连的红色的区域&#xff0c;接…

代理管家app_亲亲小保社保管家app2021下载_亲亲小保社保管家app最新版下载

亲亲小保社保管家是一款便捷社保服务软件&#xff0c;为用户提供全面便捷的社保公积金服务&#xff0c;可以解决生活中的各种居住&#xff0c;社会保障等&#xff0c;感兴趣的朋友快来下载亲亲小保社保管家吧。亲亲小保社保管家app特色1.、社保服务、社保代理、社保托管、工资代…

上大学后男生的两种变化

1 一只处女座的喵。。。2 螃蟹怎么都没想到自己有一天会变成糖葫芦3 还以为厨师被劫持了4 未来感十足的红绿灯概念设计……5 外国留学生的眼中中文6 上大学后男生的两种变化&#xff0c;可太真实了7 你这样欺负人我要报警哦8 一年级的题你点的每个赞&#xff0c;我都认真当成了…

ADO.NET笔记——基本概念

ADO.NET中的主要对象&#xff1a; Connection&#xff1a;连接对象。用于建立从应用程序到数据库服务器指定数据库的连接通道Command&#xff1a;命令对象。用于执行增删查改等数据库语句命令DataReader&#xff1a;数据阅读器对象。用于从数据库逐行返回数据DataAdapter&#…

关于 Azure SQL 数据库你不知道的 5 件事

点击上方蓝字关注“汪宇杰博客”原文&#xff1a;Azure Tips and Tricks翻译&#xff1a;汪宇杰Azure SQL Database如果您喜欢 SQL Server&#xff0c;那么您可能也喜欢 Azure SQL 数据库。Azure SQL 数据库是 Azure 中的 SQL Server 即服务。你负责处理数据&#xff0c;Azure …

win7共享xp打印机_解决共享打印机不能使用的问题

针式打印机如何设置共享打印找不到驱动就需要重新下载安装适合版本的驱动&#xff0c;以及.INF文件网络打印机连接模式步骤&#xff1a;a.预先得知网络打印机的IP地址&#xff0c;打开它的共享b.【开始】-【设备与打印机】-【添加打印机】-【添加本地打印机】c.选择TCP/IP接口-…

网页固定宽度布局

&#xff08;一个固定宽度div布局&#xff09; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"> <h…

rk3399性能_AIIA AI公布首轮评估结果:瑞芯微RK3399数据抢眼

人工智能产业发展联盟(AIIA)正式发布“AIIA DNN benchmark V0.5”首轮评估结果。该评估在AIIA权威测试平台完成&#xff0c;基于端侧推断任务的深度神经网络处理器基准测试。在四大典型应用场景下&#xff0c;能够客观反映具有深度学习处理能力的处理器或加速器的性能水平。评估…

世界上最欢乐的职业,可能就是蹦极的工作人员了!

1 他们叫的有多大声我笑的就有多大声▼2 这个手动转向灯可太可爱了▼3 真正的倒立洗头▼4 看看&#xff01;脚踏两只船多危险&#xff01;▼5 穿上这件衣服你和猪八戒就只差一个肚子了▼6 螳螂才是真正的拟态大神▼7 你是哪种&#xff1f;▼

Apache-Jmeter监控服务资源

Jmeter本身没有监控服务器资源的功能&#xff0c;需要添加额外的插件&#xff0c;插件参考的网址&#xff1a;http://www.jmeter-plugins.org/ 一、监控原理图二、Jmeter-Plugs和PerfMonAgent的下载和安装&#xff08;1&#xff09;Jmeter-Plugs的下载网址http://www.jmeter-pl…