分享

matlab中的数据导入和导出

 2012student 2010-12-16

Matlab提供了从磁盘文件或剪贴簿转载数据至工作区(数据导入)和将工作区变量存 入磁盘文件(数据导出)的多种途径。

最简单的办法是使用界面导入向导,打开文件菜单中的导入数据而后按提示操作。Matlab支持的主要数据文件类型和对应函数如下:

matlab中的数据导入和导出 - wishismayana - wishismayana的博客

导入文本文件

文本文件需要具备统一的行列模式,使用分隔符作为数据项间隔,这些分隔符包括空格、逗号、tab、分号或其它。数据文件可能附带标题行和行列头标签。

数值数据

对于数值数据可以直接使用load函数装载,例如my_data.txt中数据如下:

1 2 3 4 5

6 7 8 9 10

命令A = load('my_data.txt')装载该文本文件数据。

如果数值数据使用其它分隔符,可以使用dlmread读入,假设my_data.txt中数据如下:

7.2;8.5;6.2;6.6

5.4;9.2;8.1;7.2

命令A = dlmread('my_data.txt', ';')读入该数据。

包含行列标签的数值数据

例如:

Grade1 Grade2 Grade3

78.8 55.9 45.9

99.5 66.8 78.0

89.5 77.0 56.7

fid = fopen('grades.dat', 'r');

grades = textscan(fid, '%f %f %f', 3, 'headerlines', 1);

fclose(fid);

包含字符和数值的混合数据

使用textread函数读入。

导出文本文件

save函数

A = [ 1 2 3 4 ; 5 6 7 8 ];

save my_data.out A –ASCII

dlmwrite函数

dlmwrite('my_data.out',A, ';')

MS-Excel电子表格文件

xlsinfo获得文件信息

使用命令[type, sheets] = xlsfinfo(filename)返回文件类型type和工作表信息。如:[type, sheets] = xlsfinfo('tempdata.xls')

Xlswrite导出数据

d = {'Time', 'Temp'; 12 98; 13 99; 14 97}

命令xlswrite('tempdata.xls', d, 'Temperatures', 'E1')将单元格数组d的数据写出至tempdata.xls文件,新建工作表'Temperatures',从该工作表的E1单元格开始写入。

Xlsread读入数据

ndata = xlsread('tempdata.xls', 'Temperatures')

[ndata, headertext] = xlsread('tempdata.xls', 'Temperatures' )

在各论坛上看到很多关于这方面的问题,其实很简单的,MATLAB提供了这方面的比较方便的工具,可以通过File-import data 来从外部向MATLAB的WORKSPACE导入大量数据(原始数据文件的数据要有一定规律(行、列))如果数据文件本身没有说明文字(字母),就只有一个个的数据,可以使用load(’filename‘)函数来加载数据,数据导出直接可以将要保存的数据保存到*.mat文件(在workspace中选择要保存的变量右键选另存为即可)。当然导入导出数据也可以用fprintf,fscanf等文件操作指令进行,这样的好处在于可以在文件中写入一些提示性文字。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多