全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
49811 19
2011-07-01
悬赏 100 个论坛币 未解决
请问mat文件转换为xls文件的方法,要有具体步骤,复制黏贴就算了,我的数据大概在4000*10000左右,复制黏贴可能有点慢(我已经尝试了),
机器是酷睿2.2G,内存2G的
谢谢了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-7-1 17:28:33
load mat 文件
xlswrite 成xls文件
over
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-1 17:33:25
我安装如下操作,但结果老是提示有错:
a=load('e:\data.mat')
xlswrite('a.xls",a)
??? Error using ==> xlswrite at 154
Input data must be a numeric, cell, or logical array.

我这里的数据集是struct形式,里面有5个变量,请问具体的步骤应该如何操作,谢谢了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-2 10:45:29
你需要知道两个事实

1. xlswrite 一般接受矩阵作为参数
2. 你的表格太大了 excel不好写的

建议你把表格重排 使得数据能写入到Excel里 通过遍历把数据放进去
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-2 12:59:53
liuxing 说得对。其实这样的问题,SAS也会遇到。
MATLAB以及SAS这样的大型软件,可以管理的数据集异常的大。
我不知道我记错没,就列向量来说。
Excel 支持的极限是 : 256。

你看你数据矩阵的大小: 4000*10000
这个大得吓人,包括SAS等,都是采取拆分的方式来存储。
你可以以 256 为单位,将你这个巨大的矩阵拆分。
同时你得注意结构变量。 比如你有一个 structure,里面5个变量,其中有一个叫 data 吧
你得这样写:  okay=xlswrite('ExcelFilename.xls',structure.data,'Sheetname')
一个建议就是在同一个个 ExcelFianame 下,分别建立不同的表。你可以用 for 循环做。
这样可以将你这个巨大的数据写进去。
比如
iter=mod(10000/256)+1;
for i=1:iter
       str=['sheetname' nuu2str(i)];
       addstr=['okay=xlswrite('Excelfilename',

呵呵,写到这里,其他朋友知道我想调用 eval  函数,将字符串变成一条执行语句,不过还有大概5条左右的语句得补充,等其他朋友补上吧。
我不想打开 matlab 测试,就说到这里。你按照这个思路试试。
其实很简单的一个问题。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-2 13:30:34
谢谢楼上诸位了,我试试
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群