0

我正在使用 matlab 编写一个用于遥感目的的函数,
用户将在程序中输入一个包含 7 个文件的文件夹,每个文件是一个图像带,它们的名称是:
“b1.dat”
“b2.dat”
“b3 .dat"
"b4.dat"
"b5.dat"
"b6.dat"
"b7.dat"
例如,如果输入 2 作为函数的参数,它将搜索访问中的七个文件名,然后将显示 b2.dat
你建议我如何编写代码

4

2 回答 2

1

您可以使用uigetfiles来选择目录并dir获取文件夹内容的列表。一旦你有了这个列表,strfind就会告诉你一个文件包含一个给定的数字。

或者,使用 uigetdir:

dirName =  uigetdir('C:\', 'select a directory');
contents = dir(dirName);

for c = contents
    name = c.name;
    if strfind(name,'3')
         fileToOpen = name{1};
    end
end
于 2013-03-25T21:18:19.020 回答
0

我使用了这两行代码:
folder = uigetdir('D:\','Select the folder contains band')
filenames = dir(folder)
第一行按我的预期返回文件夹的路径:
folder =

D:\RS\911130 TM 波段
,但第二行没有。我的文件夹中有 7 个文件,它返回一个 9x1 结构
文件名 =

具有字段的 9x1 结构数组:
名称
日期
字节
isdir
datenum
例如文件名(1,1)的内容是:
在此处输入图像描述

于 2013-03-26T08:23:02.143 回答