MATLAB новичок: проблема чтения в файле, когда имя файла хранится в строке - PullRequest
0 голосов
/ 26 июня 2011

Я использую 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);

Однако я получаю следующую ошибку: ???Неопределенная функция или переменная 'speedOut'.

Я не могу понять, почему это не работает.Я был бы очень признателен, если бы кто-то мог указать на мою ошибку.Спасибо.

1 Ответ

0 голосов
/ 26 июня 2011

Ваш код выше верен и должен работать нормально. Возможно, вы не оценили velocityOut, прежде чем пытаться использовать его в fopen. Так что, если вы работаете из командного окна, вам нужно сначала оценить его, или, если он находится в скрипте, он должен быть определен до для использования в fopen.

...