试图在循环matlab中打开一个文件

时间:2014-10-31 14:21:01

标签: matlab

我一直试图在循环中打开文件。我这样做了:

file='';
loc='F:\UT_timestep\';
name='time_';
gridext='.grd';
for i={'a','b','c'}
   file=strcat(loc,name,i,gridext);
   f=fopen(file,'rb');
   ...
   fclose(f);
end

但它会出现此错误:

  

使用fopen时出错   第一个输入必须是char类型的文件名,或者类型为double的文件标识符。

     

script_UT出错(第28行)       F = FOPEN(文件,' RB&#39);

我无法理解为什么会出错。请帮忙。

1 个答案:

答案 0 :(得分:2)

这是因为file是1个元素的单元格数组。您需要单元格数组中的实际字符串,而不是实际的单元格本身。这样做:

file='';
loc='F:\UT_timestep\';
name='time_';
gridext='.grd';
for i={'a','b','c'}
   file=strcat(loc,name,i,gridext);
   f=fopen(file{1},'rb'); %// Change
   ...
   fclose(f);
end