声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1618|回复: 9

[综合讨论] 关于Matlab读入数据问题

[复制链接]
发表于 2007-12-6 16:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位大侠:
(1)原始数据存在data.txt,很大!20M!
(2)每行为一个样本,
例如:第一行为 38 1 50 2 60 3   95 2 200 1 500 2 ...
其格式为:属性 属性值 属性 属性值 属性 属性值...
(3)各行出现的属性个数不同。
现需将每行化为同维的,
即先将其化为 0 0 ... 1 0 0 0... 2 0 0 ... 3 0 0... 2   0 0 ... 1 0 0 ...   2   
不知是否描述清楚了?
请帮忙解决!万分感激!!!

[ 本帖最后由 eight 于 2007-12-6 18:32 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-12-6 16:33 | 显示全部楼层
原帖由 hehaibin 于 2007-12-6 16:10 发表
各位大侠:
(1)原始数据存在data.txt,很大!20M!
(2)每行为一个样本,
例如:第一行为 38 1 50 2 60 3   95 2 200 1 500 2 ...
其格式为:属性 属性值 属性 属性值 属性 属性值...
(3)各行出现的属 ...


我是出学但知道一点,有个loaddata在开始菜单下,可以先加载进去再对矩阵进行处理啊,这是比较简单的,也可以用load命令,但格式需要查help文件了,
希望可以帮助……
发表于 2007-12-6 18:33 | 显示全部楼层
原帖由 hehaibin 于 2007-12-6 16:10 发表
各位大侠:
(1)原始数据存在data.txt,很大!20M!
(2)每行为一个样本,
例如:第一行为 38 1 50 2 60 3   95 2 200 1 500 2 ...
其格式为:属性 属性值 属性 属性值 属性 属性值...
(3)各行出现的属 ...


请先看看相关帖子,特别是精华区的帖子
 楼主| 发表于 2007-12-7 10:58 | 显示全部楼层
主要是文件太大,无法读入内存。
发表于 2007-12-7 12:06 | 显示全部楼层
如果文件都是由数值而不是字符组成,可以用load命令导入
data=load('data.txt');
要保证data.txt在你matlab的工作目录下
也可以用fid=fopen('data.txt')打开文件,然后用textscan命令读取数据,具体看matlab的help吧,比较详细了。
你的文件不大,我试过的,20M可以读入的
发表于 2007-12-7 16:21 | 显示全部楼层
原帖由 hehaibin 于 2007-12-7 10:58 发表
主要是文件太大,无法读入内存。

分批读取
 楼主| 发表于 2007-12-19 15:08 | 显示全部楼层

去掉属性编号,只留属性值,未出现的属性令其值为0,
即将第一行化为
0   0 ... 1   ... 2   ... 3   ... 2   ... 1   ...   2   ...
(1   2 ... 38 ... 50 ... 60 ... 95 ... 200 ... 500 ...)
其他行类似处理,各行出现的属性个数不同。
请帮忙指点!!!


[ 本帖最后由 hehaibin 于 2007-12-19 20:10 编辑 ]
发表于 2007-12-19 15:43 | 显示全部楼层
看不明白
去掉属性编号,只读入奇数项?
发表于 2007-12-24 19:44 | 显示全部楼层
有个loaddata的图标,点击后会有一些提示,这样可以读进去!
发表于 2007-12-25 09:47 | 显示全部楼层
参考http://forum.vibunion.com/forum/viewthread.php?tid=8937

读入一行处理一行,多大的文件都能处理
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 20:29 , Processed in 0.073942 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表