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