一种matlab数据格式的快速转换方法和装置制造方法及图纸

技术编号:16587483 阅读:80 留言:0更新日期:2017-11-18 15:05
本发明专利技术实施例公开了一种matlab数据格式的快速转换方法和装置,所述方包括:按行一次读取第一数据文件中的多个数据,所述第一数据文件以行存储结构存储数据;将从所述第一数据文件中读取的所述多个数据,按列一次写入第二数据文件,所述第二数据文件是matlab数据格式。由此,减少了读/写的次数,从而加快了处理速度,提高了工作效率。

A fast conversion method and device for MATLAB data format

The embodiment of the invention discloses a fast conversion of MATLAB data format method and apparatus, the parties include: according to a reading of a plurality of data in the first data file, the first data file to store data structure; will read from the first data file of the plurality of data according to the second column, write a data file, the data file is second MATLAB data format. As a result, the number of read / write is reduced, thus the processing speed is speeded up and the work efficiency is improved.

【技术实现步骤摘要】
一种matlab数据格式的快速转换方法和装置
本专利技术涉及数据处理
,具体涉及一种matlab数据格式的快速转换方法和装置。
技术介绍
MATLAB是美国MathWorks公司出品的商业数学软件,MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。在MATLAB的数据格式中,数据是以列存储结构存储的,列存储是将各列放入连续的物理位置。相应的,行存储是将各行放入连续的物理位置。由于行存储是更普遍的存储结构,如C语言等都使用行存储,因此使用MATLAB处理数据时,常常需要进行数据格式的转换,将以行存储的数据转换为以列存储的数据。然而传统的转换方法,都是逐个数据的写或读,由于频繁操作文件句柄(I/O)导致磁盘负载大,速度慢,严重影响了工作效率。
技术实现思路
因此,本专利技术要解决的技术问题在于,现有的matlab数据格式的转换,转换速度慢,工作效率低。由此,本专利技术实施例提供了一种matlab数据格式的快速转换方法,包括:按行一次读取第一数据文件中的多个数据,所述第一数据文件以行存储结构存储数据;将从所述第一数据文件中读取的所述多个数据,按列一次写入第二数据文件,所述第二数据文件是matlab数据格式。可选的,所述按行一次读取第一数据文件中的多个数据,包括:一次读取所述第一数据文件的一行或多行中的数据。可选的,所述一次读取所述第一数据文件的一行或多行中的数据,包括:对于所述第一数据文件中的每一行,一次读取整行数据或整行数据中的部分数据。可选的,所述将从所述第一数据文件中读取的所述多个数据,按列一次写入第二数据文件,包括:将所述多个数据一次写入所述第二数据文件的一列或多列。可选的,所述将所述多个数据一次写入所述第二数据文件的一列或多列,包括:对于所述第二数据文件中的每一列,一次写入整列数据或整列数据中的部分数据。可选的,所述第一数据文件中的数据以M行N列的方式存储,所述第二数据文件中的数据以N行M列的方式存储,所述按行一次读取第一数据文件中的多个数据,包括:一次读取所述第一数据文件的第i行的数据,1≤i≤M;所述将从所述第一数据文件中读取的多个数据,按列一次写入第二数据文件,包括:将从所述第一数据文件的第i行读取的数据,一次写入所述第二数据文件的第i列。本专利技术实施例还提供了一种matlab数据格式的快速转换装置,包括:数据读取单元,用于按行一次读取第一数据文件中的多个数据,所述第一数据文件以行存储结构存储数据;数据写入单元,用于将从所述第一数据文件中读取的所述多个数据,按列一次写入第二数据文件,所述第二数据文件是matlab数据格式。可选的,所述数据读取单元,用于一次读取所述第一数据文件的一行或多行中的数据。可选的,所述数据写入单元,用于将所述多个数据一次写入所述第二数据文件的一列或多列。可选的,所述第一数据文件中的数据以M行N列的方式存储,所述第二数据文件中的数据以N行M列的方式存储,所述数据读取单元用于,一次读取所述第一数据文件的第i行的数据,1≤i≤M;所述数据写入单元用于,将从所述第一数据文件的第i行读取的数据,一次写入所述第二数据文件的第i列。本专利技术实施例的matlab数据格式的快速转换方法和装置,通过一次读/写多个数据,减少了读/写的次数,从而加快了处理速度,提高了工作效率。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为实施本专利技术实施例的一种数据处理设备的示意图;图2为本专利技术实施例的一种matlab数据格式的快速转换方法的流程图;图3为本专利技术实施例的一种matlab数据格式的快速转换装置的结构示意图。具体实施方式下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,下面所描述的本专利技术不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。图1是实施本专利技术实施例的数据处理设备的示意图,该数据处理设备例如是终端(例如个人电脑)或服务器。如图所示,该数据处理设备包括处理器、外部存储器和内部存储器,处理器、外部存储器和内部存储器通过总线连接。其中,处理器例如是一个或多个中央处理器(CPU);内部存储器例如是随机存取存储器(randomaccessmemory,RAM);外部存储器例如是磁盘、闪存、或其他易失性固态存储器。请参阅图2,本专利技术实施例提供一种matlab数据格式的快速转换方法,用于上述数据处理设备,具体包括:S1.按行一次读取第一数据文件中的多个数据,所述第一数据文件以行存储结构存储数据。例如,如果所述第一数据文件是N行4列的数据,则存储结构如下所示,其中“1”代表第一个数据,“2”代表第二个数据,“N4”代表第N4个数据:123456789101112……………………N1N2N3N4具体的,该第一数据可以预先存储在外部存储器中,处理器访问外部存储器并读取第一数据文件中的多个数据;处理器在访问外部存储器时,可以一次读取所述第一数据文件的一行或多行中的数据,其中多行可以是连续或不连续的,另外在读取每一行时,可以一次读取整行的数据或整行中的部分数据,在读取整行中的部分数据时,这些数据可以是连续或不连续的。虽然一次读取更多的数据对于减少读的次数是有利的,但是由于硬件资源的限制,比如存储器的读写速度,内部存储器的容量,总线的速度等等,并非一次读取更多的数据总能导致整体处理时间的减少,本领域技术人员应当根据实际情况选择适当数量的一次读取数据。S2.将从所述第一数据文件中读取的所述多个数据,按列一次写入第二数据文件,所述第二数据文件是matlab数据格式。例如,如果所述第二数据文件是N列4行的数据,则存储结构如下所示,其中“1”代表第一个数据,“2”代表第二个数据,“N4”代表第N4个数据:159……N12610……N2371112……N34812……N4具体的,处理器在读取第一数据文件中的数据后,可以将这些数据写入内部存储器的第二数据文件中。由于内部存储器的写入速度很快,因此影响写入时间的因素只要是写入的次数。在写入数据时,与读取数据类似,可以将所述多个数据一次写入所述第二数据文件的一列或多列,其中多列可以是连续或不连续的,另外在写入每一列时,可以一次写入整列的数据或整列中的部分数据,在写入整列中的部分数据时本文档来自技高网...
一种matlab数据格式的快速转换方法和装置

【技术保护点】
一种matlab数据格式的快速转换方法,其特征在于,包括:按行一次读取第一数据文件中的多个数据,所述第一数据文件以行存储结构存储数据;将从所述第一数据文件中读取的所述多个数据,按列一次写入第二数据文件,所述第二数据文件是matlab数据格式。

【技术特征摘要】
1.一种matlab数据格式的快速转换方法,其特征在于,包括:按行一次读取第一数据文件中的多个数据,所述第一数据文件以行存储结构存储数据;将从所述第一数据文件中读取的所述多个数据,按列一次写入第二数据文件,所述第二数据文件是matlab数据格式。2.根据权利要求1所述的快速转换方法,其特征在于,所述按行一次读取第一数据文件中的多个数据,包括:一次读取所述第一数据文件的一行或多行中的数据。3.根据权利要求2所述的快速转换方法,其特征在于,所述一次读取所述第一数据文件的一行或多行中的数据,包括:对于所述第一数据文件中的每一行,一次读取整行数据或整行数据中的部分数据。4.根据权利要求2或3所述的快速转换方法,其特征在于,所述将从所述第一数据文件中读取的所述多个数据,按列一次写入第二数据文件,包括:将所述多个数据一次写入所述第二数据文件的一列或多列。5.根据权利要求4所述的快速转换方法,其特征在于,所述将所述多个数据一次写入所述第二数据文件的一列或多列,包括:对于所述第二数据文件中的每一列,一次写入整列数据或整列数据中的部分数据。6.根据权利要求1-5中任一项所述的快速转换方法,其特征在于,所述第一数据文件中的数据以M行N列的方式存储,所述第二数据文件中的数据以N行M列的方式存储,所述按...

【专利技术属性】
技术研发人员:刘志平张开东范兆红
申请(专利权)人:华通信安北京科技发展有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1