xiaobingforever 发表于 2009-8-20 12:58

Matlab数据导入之我见

Matlab功能真的很强大,数据接口做得也相当完美,和大家分享下自己文件读取方面的一些收获和体会吧。Matlab文件导入的函数很多,可以用doc命令打开帮助文档,在search栏里面输入?read查找,不过这样比较盲目,或者用help ?read,可以看到系统自带的文件特定格式的文件读取命令,常用的方法有
xlsread,读取excel文件。
textread,读取txt文件等等,还有很多,有兴趣的咱们可以一起去摸索。
另外,R2007a左右的版本,系统可以自己生成文件读取函数,只要在默认Default窗口下查看当前目录下的Current Directory,好像是Directory,记得不大清啦,这台机子上没装Matlab,就是Workspace旁边的那个框选菜单,然后双击需要读取的文件(excel格式或txt格式都可以),会弹出一个对话框,在右下角位置上有一个Great m file 选框,选中即可,就会自动生成函数啦。
另外,给大家分享下我自己用过的几个命令
假设要读取的excel文件名为exmp.xls
第一步,将文件放到当前文件夹里面;
第二步,写入命令
有很多种格式 num=xlsread('exmp.xls');
num即读取的数值文件,好像以前的有些版本只能做到这一步,我用的是R2007a版本
他还支持其他命令,比如:=xlsread('exmp.xls','sheet1')
num返回工作表sheet1中数值格式的内容,不是数值格式的系统默认为NaN;
txt返回sheet1中字符串格式的内容,以元胞的形式存储到变量txt中,同理,不是字符串格式的默认为NaN;
这样大家就很方便的进行数据写入啦。其中sheet1可以任意改为exmp内的工作表,比如'sheet2'或者你自己重命名的工作表。
还有更高的
=xlsread('exmp.xls','sheet1','A1:F81')
num返回A1到F81矩形框中数值格式的内容
txt返回A1到F81矩形框中字符串格式的内容
当然矩形框大家可以根据实际需要任意定义
这样是不是很方便呀
还有
=xlsread('exmp.xls','sheet1')
all返回的是工作表sheet1中的全部内容,不过全部以元胞形式存储在all中
真想全部掌握excel文件读取功能可以用doc xlsread 命令查看帮助文档,里面讲得很详细
以前还挺喜欢用这几个命令的
后来发现他有个很大的缺点,就是速度太慢,读取大的数据量时需要好几秒钟
建议大家将数据导入txt中,用命令textread('exmp.txt'),速度会更快
或者用fopen函数,这个可能就会麻烦一点
只是自己的一些拙见,相互学习嘛
错误的地方请大家指正,抛砖引玉就达到效果啦

jyh123 发表于 2009-8-20 14:30

好东东啊!

东方明珠-WDZYQ 发表于 2009-8-20 14:31

好的,这样的分享能够营造气氛啊

w13king 发表于 2009-8-20 15:19

很好的东西!

hnluoyang123 发表于 2009-8-20 15:27

不要企图爱上我,哥只是个传说。

你的优乐美 发表于 2009-8-20 15:36

学习一下     呵呵    谢谢

一直很执着 发表于 2009-8-20 16:17

我正要找呢,呵呵,谢谢啦~~
顺便请教一下,如何把word里的数据导入excel呢

ykl126 发表于 2009-8-20 18:02

小生在此谢过了。

zsuzengli 发表于 2009-8-20 18:24

不错的东西

tk595241035 发表于 2009-8-20 19:20

很不错的帖子,突然发现这论坛对建模的人来说真的太好了~~
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: Matlab数据导入之我见