Запуск файла .m из скомпилированной функции MATLAB

Фон

Скажем, я скомпилировал следующую простую функцию в MATLAB

function foo(path_to_m_file)
  disp([' Running ' path_to_m_file])
  run(path_to_m_file);
end

Функцияfoo просто идет к.m файл и пытается запустить его.

Тем не менее, когда я на самом деле пытаюсь запуститьfoo после компиляции:

./run_foo.sh $path_to_run_time $path_to_m_file

гдеpath_to_m_file это простой.m файл с таким утверждением, как:

a = 2;

Я получаю следующую ошибку:

Error using ==> run
MATLAB:run:FileNotFound

Тем не менее, я знаю, чтоfoo получаетверный дорожка. Например, если я попытаюсь заменить строку наrun следующие две строки вfoo

fID = fopen(conf_file, 'rt');
first_line = textscan(fID, '%s', Inf, 'Delimiter', '\n');

foo читает соответствующую строку.m файл. Так что.m файл есть, и движок MATLAB может его «увидеть». На самом деле я могу даже бежатьeval на строки читать сtextscan.

Итак, мои вопросы:

Почему я получаю ошибку выше? Почему неfoo запустить.m файл?

Обновить: Посмотрите ответ @ strictrude27 ниже, чтобы ответить на этот вопрос.

Если вышеупомянутое не работает. Есть ли способ получить скомпилированную MATLAB функцию для запуска.m файл, который мог изменитьсяпосле составление оригинальной функции?Мотивация для моего второго вопроса:

Я хотел бы иметь возможность "обновить".m файл, который является частью проекта без необходимости повторной компиляции всего проекта. Любые идеи для этого будут с благодарностью.

Ответы на вопрос(2)

Ваш ответ на вопрос