数学建模社区-数学中国

标题: Matlab数据导入之我见 [打印本页]

作者: xiaobingforever    时间: 2009-8-20 12:58
标题: Matlab数据导入之我见
Matlab功能真的很强大,数据接口做得也相当完美,和大家分享下自己文件读取方面的一些收获和体会吧。Matlab文件导入的函数很多,可以用doc命令打开帮助文档,在search栏里面输入?read查找,不过这样比较盲目,或者用help ?read,可以看到系统自带的文件特定格式的文件读取命令,常用的方法有
7 V1 q3 o, D5 qxlsread,读取excel文件。; w/ @6 q# {: h. E/ g
textread,读取txt文件等等,还有很多,有兴趣的咱们可以一起去摸索。/ P% L2 R, F1 z7 f
另外,R2007a左右的版本,系统可以自己生成文件读取函数,只要在默认Default窗口下查看当前目录下的Current Directory,好像是Directory,记得不大清啦,这台机子上没装Matlab,就是Workspace旁边的那个框选菜单,然后双击需要读取的文件(excel格式或txt格式都可以),会弹出一个对话框,在右下角位置上有一个Great m file 选框,选中即可,就会自动生成函数啦。
. N9 A% C8 q3 g另外,给大家分享下我自己用过的几个命令
! C, H1 ]8 @2 N1 }! ]3 p假设要读取的excel文件名为exmp.xls
; P$ T  l# u$ g9 B$ n# [1 ?; U第一步,将文件放到当前文件夹里面;1 v0 N/ A! A/ v! R0 S5 W. H" d
第二步,写入命令9 a) ^) n/ O6 x) |
有很多种格式 num=xlsread('exmp.xls');
8 k/ ?8 _  o% G3 |- Bnum即读取的数值文件,好像以前的有些版本只能做到这一步,我用的是R2007a版本6 @7 X3 |, `3 I" y$ a; {
他还支持其他命令,比如:[num,txt]=xlsread('exmp.xls','sheet1')* ?$ `, b2 h7 x' l* ?$ I
num返回工作表sheet1中数值格式的内容,不是数值格式的系统默认为NaN;
$ T4 X8 r( L9 c8 Y1 ~txt返回sheet1中字符串格式的内容,以元胞的形式存储到变量txt中,同理,不是字符串格式的默认为NaN;: Q; \9 {1 N# x, X& H/ j" w- g
这样大家就很方便的进行数据写入啦。其中sheet1可以任意改为exmp内的工作表,比如'sheet2'或者你自己重命名的工作表。
1 c$ V7 P+ s9 s: X/ N! A/ W9 V还有更高的; C, o3 x. X$ ~8 w* U5 c5 K& a
[num,txt]=xlsread('exmp.xls','sheet1','A1:F81')
0 A8 W( j8 |7 w: Y( u! Gnum返回A1到F81矩形框中数值格式的内容
6 `$ V) V# h' V3 p0 k9 o$ Otxt返回A1到F81矩形框中字符串格式的内容: S. _" n/ j# b! P
当然矩形框大家可以根据实际需要任意定义
' f2 h5 _  k( x2 L/ X7 ?/ W8 J9 \这样是不是很方便呀# d: T0 o  d+ Y- y4 V
还有: q9 k# b8 ?# Q* ~/ t
[num,txt,all]=xlsread('exmp.xls','sheet1')
- `8 M  y5 u$ g; {% v3 iall返回的是工作表sheet1中的全部内容,不过全部以元胞形式存储在all中  ^6 z0 y& J( `+ `& o
真想全部掌握excel文件读取功能可以用doc xlsread 命令查看帮助文档,里面讲得很详细$ C1 Q5 n% h) F, P. c
以前还挺喜欢用这几个命令的6 B( y* Q2 Q( G( g/ Q
后来发现他有个很大的缺点,就是速度太慢,读取大的数据量时需要好几秒钟
8 n3 U$ L0 t8 M* E- A' m建议大家将数据导入txt中,用命令textread('exmp.txt'),速度会更快
: c% p+ V( b: z8 Z3 l( T或者用fopen函数,这个可能就会麻烦一点% O. D# e! c0 R  J
只是自己的一些拙见,相互学习嘛. }; R7 _( {7 I7 [) i1 T& z) O
错误的地方请大家指正,抛砖引玉就达到效果啦
作者: 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
我正要找呢,呵呵,谢谢啦~~
& k3 V. \7 p4 `6 ^3 F1 A* a顺便请教一下,如何把word里的数据导入excel呢
作者: ykl126    时间: 2009-8-20 18:02
小生在此谢过了。
作者: zsuzengli    时间: 2009-8-20 18:24
不错的东西
作者: tk595241035    时间: 2009-8-20 19:20
很不错的帖子,突然发现这论坛对建模的人来说真的太好了~~
作者: pengxiangda    时间: 2009-8-20 20:04
好东西!又是原创,坚决支持!
作者: xiaobingforever    时间: 2009-8-20 22:18
不好意思,Office我用得并不好,Word数据导入excel一般都是用的复制粘贴。希望有会的朋友一起分享,谢谢大家的鼓励。
作者: yuejl    时间: 2009-8-20 22:24
好东西啊。。。。
作者: mrx    时间: 2009-8-21 06:17
matlab 里的主成分分析.rar (864 Bytes, 下载次数: 4)

关于校车安排问题.rar

669 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

火车票全程对号销售系统优化研究.rar

634 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

金融风暴下快餐连锁企业的促销推广策略.rar

1.05 KB, 下载次数: 0, 下载积分: 体力 -2 点

蚁群算法的基本原理.rar

2.55 KB, 下载次数: 0, 下载积分: 体力 -2 点


作者: xczxtxy    时间: 2009-8-21 08:30
很不错的帖子,突然发现这论坛对建模的人来说真的太好了~~
作者: xczxtxy    时间: 2009-8-21 08:31
不错的东西
作者: xczxtxy    时间: 2009-8-21 08:31
小生在此谢过了。
作者: liuyaliss    时间: 2009-8-21 09:07
学习一下··
作者: 东方明珠-WDZYQ    时间: 2009-8-24 09:12
有意思啊 呵呵
作者: ywt    时间: 2009-8-24 10:56
好东西,太感谢了
作者: 21881022    时间: 2009-8-24 11:21
首先谢谢楼主,我想问一个问题,怎样自动导入excel文件的所有数据。例如,excel文件有多个sheet窗口,需要自动导入所有窗口的数据怎么导?
作者: jdzzhan    时间: 2009-8-24 22:42
学到了一招 谢谢,我都试过了,很好
作者: daiqiang5566    时间: 2009-8-25 15:18
mark mark mark;
作者: sisi_bupt    时间: 2009-8-25 16:35
好帖,谢谢!9 d1 E! ~: G# u/ T
请问关于图像文件的读取有没有什么比较好用的方法?
作者: mine_12    时间: 2009-8-25 19:06
好好学习学习!
作者: zdshitiaogou    时间: 2009-8-25 21:49
谢谢了。好东西
作者: ywt    时间: 2009-8-30 12:21
说的太好了……
作者: 巴西木    时间: 2009-8-30 13:46
很实用的东东啊~
作者: xiaobingforever    时间: 2009-8-30 13:55
21# 21881022
- f8 q* H6 E  J* X8 `所有数据导入好像用importdata可行" m7 B, t7 i+ k# _! G
返回一个结构体变量
! f7 U, X6 B) B每一个工作表是一个域 也可以分文本域数值
& w' l9 K0 P* ]( h0 F9 ^. z具体请参考% R4 u7 M& Z/ d3 K5 D) `2 v5 j
http://www.madio.cn/mcm/thread-31214-1-1.html
作者: xiaobingforever    时间: 2009-8-30 13:58
24# sisi_bupt
  y, |  y0 _) @! a# r这个就不好说啦
1 l! d3 m# j9 P英爱应该数MATLAB图像处理的内容( h- G3 Y, x# f
一般是用imread吧
; Q# X3 K6 S' k& y; v/ ~1 J+ e2 X生成一个3维int8类型的数组
/ z2 h& u4 h/ P每一个像素点对应一个坐标值9 K; z8 b2 \. |+ E% `/ ~2 s1 |3 o
可以通过函数变成灰度图3 H2 v2 M" U/ ?. ?
或者通过pixval查看具体值吧
* v1 s; @3 }. q7 ^- M8 ?; I/ A这个懂得不是很多
作者: lirui0081    时间: 2009-8-30 16:06
很不错的哟~!
作者: yzy364972    时间: 2009-8-30 17:08
如何把word里的数据导入excel呢
作者: handsome8848    时间: 2009-8-30 19:16

3 a) k) m$ ^3 `+ O支持,导入数据我一般是用复制+赋值的~~
- U! F& |' e" D# Q: i4 @5 OLZ的方法很好
作者: hjsqxgb2009    时间: 2009-8-31 00:00
嗯嗯,我也喜欢!!
作者: gxj820    时间: 2009-8-31 09:36
很好啊 !!顶顶
作者: 阿芳    时间: 2009-8-31 11:03
谢谢啦,正需要呢
作者: pigyoung    时间: 2009-8-31 11:38
不是可以import data吗??
作者: 小小雨112233    时间: 2009-8-31 14:08
谢论坛管理员  真的辛苦啦  为了广大的同学们服务!!!谢谢啦
作者: zhangyunlong    时间: 2009-8-31 14:20
谢谢lZ了 学习一下
作者: byit    时间: 2009-8-31 14:33
这个主题好。
作者: zhisony123    时间: 2009-8-31 14:55
实在是非常强大
作者: 遗忘    时间: 2009-8-31 14:57
非常感谢啊!
作者: sisi_bupt    时间: 2009-8-31 15:14
很有用哦……谢谢!
作者: gxj820    时间: 2009-8-31 15:28
真的是很好的东西哈!
作者: xiaobingforever    时间: 2009-8-31 18:08
37# pigyoung # L/ L7 r1 }. m, E/ W7 z, `

# l; O) i0 ]9 K5 Jimportdata也很强大
作者: 占领王    时间: 2009-8-31 19:03
积 极 讨 论。。。
作者: casinoroyale    时间: 2009-9-1 10:59
很好很强大
作者: 大笨象    时间: 2009-9-1 12:53
呵呵。学习一下了。有用。
作者: HSinB    时间: 2009-9-1 14:37
好东西啊!!!
作者: fangxianghui    时间: 2009-9-1 18:05
1# xiaobingforever ! F7 ]8 M9 ^6 u5 R  @, G  W2 x
很好呀!谢谢楼主!
作者: kekexili81    时间: 2009-9-7 19:18
伟哥,加油
作者: lhx2103852    时间: 2009-9-7 19:28
谢楼主~~~~
作者: linspirit    时间: 2009-9-13 09:42
我最需要了,谢谢! 1# xiaobingforever
作者: linspirit    时间: 2009-9-13 09:43
谢谢! 53# linspirit
作者: lilinbluesky    时间: 2009-9-13 10:02
感谢楼主分享
作者: zcilly    时间: 2009-12-4 14:28
呵呵,这些都会,其实最快的是用data input 把数据转化为matlab的格式,不过就是有点麻烦
6 f3 t! @% W# R5 v8 _6 t! s/ M8 t9 S另外xlsread 其实还是可以用,就是第一次导入数据的时候有点慢,个人觉得这个接口还是可以的,前提是机子好的话
) K9 p7 ~9 y7 v# K4 S6 btextread嘛,速度可以,但是因为我们本身就不常用,不大熟悉text,所以我不常用textread命令
% G% u( b( u" }6 R我个人觉得fopen函数还是可以的,呵呵
作者: 大笨象    时间: 2009-12-7 12:34
一个很不错的帖子。
作者: shuaiyi    时间: 2009-12-7 12:36
呵呵……是得熟练最基本的操作。可以找本专业的书看看。
作者: 枫露之茗    时间: 2009-12-29 12:54
好东西,大家分享,精神可嘉
9 d, r4 q" W- u% h3 {0 u: A!!!!!!!!
作者: mnpfc    时间: 2010-1-5 14:39
谢谢分享!!!!!!!!!!!!!!!!!!!!!!!
作者: licoro    时间: 2010-1-7 15:22
回复 2# jyh123
! L' a' e: p9 k# Q* j- i/ k: I
1 S& A; M# y! h9 r
; o" d  n3 F/ n0 L0 t    好呀!!!
作者: 彩虹天堂    时间: 2010-1-9 18:25
回复 1# xiaobingforever
0 b6 D) d5 z6 O7 x$ ]" `: E0 K/ u0 h% R& c5 \+ ?- n7 e/ |# G
2 s* @" f- q$ F3 ]$ G7 P- a( t
    好东西
作者: starbinbin    时间: 2010-1-10 15:23
我顶你,写的很好很精炼!谢谢了!
作者: qimeng596    时间: 2010-2-3 18:56
学习....谢谢....分享......谢谢............同勉..
作者: yyz895    时间: 2010-2-3 19:02
东西很不错!谢谢………………………………………………………………
作者: yyz895    时间: 2010-2-3 19:03
太感谢了…………………………………………………………
作者: yyz895    时间: 2010-2-3 19:07
真的很不错!再顶一下……………………………………………………
作者: diguaaiqianqian    时间: 2010-2-3 22:28
我曾经试过几次,都没成功,现在知道原因了。
作者: legan    时间: 2010-2-7 13:29
我前几天正为导入数据的问题而发愁呢,不过后来我自己解决了,现在看到你的这篇文章,感觉我自己的matlab水平真的是太烂了,还要好好努力哈
作者: rvlfly    时间: 2010-2-14 20:11
Very Good!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: yangcsuchuan    时间: 2010-8-5 13:13
顶。。。。。。。。。。。。。
作者: RTaylor    时间: 2011-1-10 11:28
哪里有视频指导?
作者: 39133120    时间: 2011-2-13 19:44
好,真经验!
作者: 弟雨73    时间: 2011-6-17 13:47
不错的帖子,学习
作者: 撒旦之父    时间: 2011-6-25 22:14
用法是相同的。
作者: alair005    时间: 2012-2-6 15:52
3x,you are so great1860135258335900
作者: mj1259389904    时间: 2013-9-9 19:53
高级啊,谢谢楼主
作者: Meteor胖号    时间: 2013-9-10 09:38
bucuobucuo
作者: 大國崛起    时间: 2014-8-12 10:33
好的,这样的分享能够营造气氛啊
作者: Zhang_Jiaxing    时间: 2015-1-17 19:04
竟然还有这用法
5 X1 F# F( e/ K. x% ?. C, c
作者: 鸣凤123    时间: 2015-8-14 20:15
楼主的帖子很不错,我觉得很有用( P) m5 m: m) w! o1 q4 _! _

作者: 421018735    时间: 2019-1-4 15:08
一点个人看法  r3 J' ^+ N4 M7 U

作者: 2286773557    时间: 2020-2-12 14:02
对新手帮助蛮大的 谢谢楼主% T( G1 L" ]8 M" v& d5 K& _





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5