MATLAB新手:当文件名存储在字符串中时,文件中的问题读取

时间:2011-06-26 15:43:43

标签: matlab fopen

我正在使用Matlab读入并处理计算结果。我用fopen。

我的问题是,每次我需要在处理代码中使用它时,我当前必须指定每个文件的路径。例如,这有效:

fid = fopen('/Users/me/Desktop/Result1/velocity.tbl', 'r+');
liqmass = textscan(fid, '%f %*f %*f %*n %f %*n %*n %*n %*n %*n %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f', 'headerlines', 1, 'delimiter', ',', 'CollectOutput', 1);
fclose(fid);

但我想这样做:

velocityOut = '/Users/me/Desktop/Result1/velocity.tbl';  % Specify a path once in an easy-to-reach place
fid = fopen(velocityOut, 'r+');
    liqmass = textscan(fid, '%f %*f %*f %*n %f %*n %*n %*n %*n %*n %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f %*f', 'headerlines', 1, 'delimiter', ',', 'CollectOutput', 1);
    fclose(fid);

但是,我收到以下错误: ???未定义的函数或变量'velocityOut'。

我无法弄清楚它为什么不起作用。如果有人能指出我的错误,我将非常感激。谢谢。

1 个答案:

答案 0 :(得分:0)

上面的代码是正确的,应该可以正常工作。在尝试在velocityOut中使用之前,您可能尚未评估fopen。因此,如果您在命令窗口中工作,则需要先对其进行评估,或者如果它在脚本中,则应将 previous 定义为在fopen中使用。