我正在使用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'。
我无法弄清楚它为什么不起作用。如果有人能指出我的错误,我将非常感激。谢谢。
答案 0 :(得分:0)
上面的代码是正确的,应该可以正常工作。在尝试在velocityOut
中使用之前,您可能尚未评估fopen
。因此,如果您在命令窗口中工作,则需要先对其进行评估,或者如果它在脚本中,则应将 previous 定义为在fopen
中使用。