Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-05-13
帖子: 1
声望力: 0 ![]() |
![]()
我的目的是想通过对话框选择文件路径,然后把此路径文件夹下的数据文件的名字全部在列表框里显示出来,有朋友建议用DIR命令,刚才测试了一下,出现一些奇怪的现象,弄不明白是什么原因:
第一种情况:DIR命令里参数是用变量pathname,结果数据D的大小是0x1,而我在E:\data路径下是有4个数据文件的。下面是测试过程 >> [filename0,pathname]=uigetfile({'*.*'},'选择路径') filename0 = 200305140951v pathname = E:\data\ >> D=dir('pathname') D = 0x1 struct array with fields: name date bytes isdir 第二种情况:我把dir里的路径直接用E:\data\,结果D的大小是6x1,我观察了一下,前两个的D.name,一个是‘.’一个是‘..’,从第三个开始是我的数据文件名。 >> D=dir('E:\data\') D = 6x1 struct array with fields: name date bytes isdir 因为我需要的是打开文件夹路径下的数据文件名,所以我接下来要把D结构中的D.name提取出来,我用循环来做: D=dir('E:\data\') sizeofD=size(D) if( sizeofD(1)>2) for i=1:sizeofD(1)-2 filename(i)=D(i+2).name end end 运行结果提示下面的错误: ??? Subscripted assignment dimension mismatch. Error in ==> qixiang>pushbutton1_Callback at 90 filename(i)=D(i+2).name Error in ==> gui_mainfcn at 75 feval(varargin{:}); Error in ==> qixiang at 42 gui_mainfcn(gui_State, varargin{:}); ??? Error while evaluating uicontrol Callback. >> 看起来是filename(i)=D(i+2).name这里数据不匹配, 我不明白错在哪里,请高手指教以上遇到的几个问题。谢谢! |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-05-13
年龄: 44
帖子: 232
声望力: 21 ![]() |
![]()
你可以尝试下fopen(fullfile(pathname,filename,...))
其中pathname 和filename由uigetfile得到
__________________
工科'985'博士,(图像处理、分析及理解;模式识别;运动估计;数据分析等)定做程序、算法实现--qq:752105755 |
![]() |
![]() |