| 查看: 610 | 回复: 5 | |||
| 当前主题已经存档。 | |||
lchuahp木虫 (小有名气)
|
[交流]
【求助】数据导入函数uigetfile的使用问题
|
||
| 使用数据导入函数uigetfile的MultiSelect多个数据导入功能时,发现能够导入的数据名称和数据个数有限制,数据名称越长则数据个数就越少,好像数据名称的长度和导入数据个数之间的乘积有一个上限值,超过这个上限值了就会报错。这样的话数据多了就得分批次导入处理,感觉挺麻烦的。不知各位高手有没有更好的解决办法,敬请赐教,万分感谢! |
» 猜你喜欢
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有7人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有8人回复
申请2026年博士
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有5人回复
2025冷门绝学什么时候出结果
已经有7人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有6人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有7人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
zjliu1265
至尊木虫 (正式写手)
- 应助: 18 (小学生)
- 金币: 11779.2
- 散金: 200
- 帖子: 642
- 在线: 678.7小时
- 虫号: 585320
- 注册: 2008-08-08
- 性别: GG
- 专业: 光学
|
我写了下面一段程序来多选文件名,该程序可以返回当前文件夹下的 所有文件(如果你的数据文件在其他路径你更改一下路径即可)。 a=dir; % a=dir(path); % 更改路径 An=char(a.name); An(1:2, =[];Aname=[]; for k=1:size(An,1)-1; Aname=[Aname,An(k, ,'|'];end Aname=[Aname,An(end, ];po1=uicontrol(gcf,'style','listbox',... 'unit','normalized','position',[0.2,0.2,0.2,0.4],... 'string',Aname,'max',size(An,1),... 'fontsize',10,'callback',['nn=get(po1,''Value'');',... 'As=An(nn, ']);% 其中As是被选文件的名字 tx1=uicontrol(gcf,'style','text',... 'unit','normalized','position',[0.17,0.65,0.26,0.06],... 'string','Please select your files','ForegroundColor','r',... 'fontsize',10); % 附图是执行效果图 |
2楼2009-09-09 10:10:42
zjliu1265
至尊木虫 (正式写手)
- 应助: 18 (小学生)
- 金币: 11779.2
- 散金: 200
- 帖子: 642
- 在线: 678.7小时
- 虫号: 585320
- 注册: 2008-08-08
- 性别: GG
- 专业: 光学
3楼2009-09-09 10:16:22
lchuahp
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 4251.8
- 散金: 19
- 帖子: 181
- 在线: 84.7小时
- 虫号: 466607
- 注册: 2007-11-24
- 性别: GG
- 专业: 质谱分析
|
非常感谢您的帮助! 不过,我用您的代码无法将数据导入到内存中。 我主要是想将一系列的数据导入到内存中,然后对导入的这些数据处理。 下面的一段代码可以实现数据的导入: clear;clc;close all; %读取数据文件 [filename, pathname, s] = uigetfile( ... {'*.csv;*.txt', '数据文件(*.csv,*.txt)';... '*.*', 'All Files (*.*)'}, ... '选择数据文件', 'MultiSelect', 'on') filecount = size(filename);%filecount(2)中保存的是导入的数据个数 data = []; for i=1:filecount(2) data_in = importdata([pathname filename{i}]) data = [data data_in]; end 但是,这段代码在导入数据文件较少时还能正常运行,可是选择导入的文件数目(视文件名长短的不同,文件名越长能够导入的文件数目就会越少)一多就出现问题了,会显示以下错误提示: ??? Cell contents reference from a non-cell array object. Error in ==> data_import at 11 data_in = importdata([pathname filename{i}]) 附件里是M文件和一些TXT文件,运行时选择的TXT文件数目少就能正常,如果选择的多(全选)就会有错误。 不知道是不是uigetfile这个函数本身的限制,如果想将大量的数据一次性导入到内存中去,有没有其他更好的方法? 再次感谢! |
4楼2009-09-09 20:27:19
zjliu1265
至尊木虫 (正式写手)
- 应助: 18 (小学生)
- 金币: 11779.2
- 散金: 200
- 帖子: 642
- 在线: 678.7小时
- 虫号: 585320
- 注册: 2008-08-08
- 性别: GG
- 专业: 光学
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
lchuahp(金币+10,VIP+0):是版本的问题,用了MATLAB2008a后问题解决,谢谢! 9-15 08:57
nono2009(金币+5,VIP+0):谢谢交流!欢迎常来。 9-20 16:59
lchuahp(金币+10,VIP+0):是版本的问题,用了MATLAB2008a后问题解决,谢谢! 9-15 08:57
nono2009(金币+5,VIP+0):谢谢交流!欢迎常来。 9-20 16:59
|
我试过你的附件内容了,我这里没问题啊(MATLAB2008a)。我选定的是 所有文件,这个是不是例子? 方便的话把你的程序有问题的部分发给我(包括数据文件) zjliu2001@163.com |
5楼2009-09-10 07:38:06
6楼2009-09-14 08:49:23













回复此楼
=[];