Запуск файла .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
файл, который является частью проекта без необходимости повторной компиляции всего проекта. Любые идеи для этого будут с благодарностью.