- 在线时间
- 0 小时
- 最后登录
- 2009-10-10
- 注册时间
- 2009-7-18
- 听众数
- 9
- 收听数
- 0
- 能力
- 0 分
- 体力
- 104 点
- 威望
- 11 点
- 阅读权限
- 30
- 积分
- 271
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 234
- 主题
- 19
- 精华
- 1
- 分享
- 0
- 好友
- 0
升级   85.5% 该用户从未签到
 |
Matlab功能真的很强大,数据接口做得也相当完美,和大家分享下自己文件读取方面的一些收获和体会吧。Matlab文件导入的函数很多,可以用doc命令打开帮助文档,在search栏里面输入?read查找,不过这样比较盲目,或者用help ?read,可以看到系统自带的文件特定格式的文件读取命令,常用的方法有
6 }! [: |4 e2 g7 Q B; W6 Vxlsread,读取excel文件。8 y* g) g( K5 j, [/ q
textread,读取txt文件等等,还有很多,有兴趣的咱们可以一起去摸索。
, Q/ ~9 n* @& w- ]" K另外,R2007a左右的版本,系统可以自己生成文件读取函数,只要在默认Default窗口下查看当前目录下的Current Directory,好像是Directory,记得不大清啦,这台机子上没装Matlab,就是Workspace旁边的那个框选菜单,然后双击需要读取的文件(excel格式或txt格式都可以),会弹出一个对话框,在右下角位置上有一个Great m file 选框,选中即可,就会自动生成函数啦。
! i. P5 l/ F- Y- s! V' y* _# R( W另外,给大家分享下我自己用过的几个命令
' |4 c# L1 n. c/ A2 X假设要读取的excel文件名为exmp.xls
( o( E$ j$ i9 m0 {第一步,将文件放到当前文件夹里面;
. V8 b5 X8 k% r# @1 `0 E8 O3 z/ J9 l第二步,写入命令7 x3 P% e$ d; R6 u) r4 C- b
有很多种格式 num=xlsread('exmp.xls');
+ e- u+ r9 f2 T4 J) J& j Lnum即读取的数值文件,好像以前的有些版本只能做到这一步,我用的是R2007a版本
! \1 D; S0 f/ w3 d, ]4 _1 k N他还支持其他命令,比如:[num,txt]=xlsread('exmp.xls','sheet1')
6 c: s4 g* p( Inum返回工作表sheet1中数值格式的内容,不是数值格式的系统默认为NaN;. L9 j* j; p1 Y8 s! J, `$ I
txt返回sheet1中字符串格式的内容,以元胞的形式存储到变量txt中,同理,不是字符串格式的默认为NaN;
& f& m9 x& I+ m5 m* c( H这样大家就很方便的进行数据写入啦。其中sheet1可以任意改为exmp内的工作表,比如'sheet2'或者你自己重命名的工作表。
0 s: b' w) j3 M3 t* W8 P5 z还有更高的/ V' z; `7 p! I: P
[num,txt]=xlsread('exmp.xls','sheet1','A1:F81')
- ?. Z3 t/ u j% {$ N7 U' inum返回A1到F81矩形框中数值格式的内容
0 H# i' y& Q9 g2 _4 J4 ^txt返回A1到F81矩形框中字符串格式的内容
$ B' [5 C9 N4 i6 I当然矩形框大家可以根据实际需要任意定义* u8 L/ S z) D% y4 W* U/ H& C
这样是不是很方便呀
0 W6 n: E# ^% `1 M' D, ]6 Z8 B还有% ?/ ]! n+ r" h/ D1 u) }
[num,txt,all]=xlsread('exmp.xls','sheet1')# |) @0 G* r1 j- m
all返回的是工作表sheet1中的全部内容,不过全部以元胞形式存储在all中
7 y3 U) l k( `: ^- W' n真想全部掌握excel文件读取功能可以用doc xlsread 命令查看帮助文档,里面讲得很详细
/ j2 M, Z c: |( w2 {2 j# n以前还挺喜欢用这几个命令的8 m# n3 W0 u1 f8 a0 q
后来发现他有个很大的缺点,就是速度太慢,读取大的数据量时需要好几秒钟" h+ E; {9 k( u9 [* k% J% J
建议大家将数据导入txt中,用命令textread('exmp.txt'),速度会更快0 |2 q2 T% O$ g5 q
或者用fopen函数,这个可能就会麻烦一点+ i8 U6 ~, y7 j$ ~9 C- q( C) ^" T
只是自己的一些拙见,相互学习嘛
) r- ?+ T& \ V7 n) O9 P) x# O错误的地方请大家指正,抛砖引玉就达到效果啦 |
zan
-
总评分: 体力 + 1
金币 + 2
查看全部评分
|