2014-10-31 55 views
0

我一直在试图打开循环中的文件。我这样做:试图在循环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(file,'rb');

我不明白为什么这是给错误。请帮忙。

回答

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 
+0

thanks..worked fine now – Vid 2014-10-31 15:28:25