Ejecución de un archivo .m desde una función compilada por MATLAB

Antecedente

Digo que compilo la siguiente función simple en MATLAB

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

La funciónfoo solo toma un camino hacia una.metr file e intenta ejecutarlo.

Sin embargo, cuando realmente intento ejecutarfoo después de compilarlo:

./run_foo.sh $path_to_run_time $path_to_m_file

dóndepath_to_m_file es un simple.metr archivo con una declaración como:

a = 2;

Obtuve el siguiente error

Error using ==> run
MATLAB:run:FileNotFound

Sin embargo, sé quefoo obtiene elcorrect camino. Por ejemplo, si trato de reemplazar la línea conrun por las siguientes dos líneas enfoo

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

foo lee la línea correspondiente de la.m archivo. Entonces el.m file está allí, y el motor MATLAB puede "verlo". De hecho, incluso puedo ejecutareval en cadenas leídas contextscan.

Así que mis preguntas son:

¿Por qué recibo el error anterior? ¿Por qué nofoo ejecuta el.m ¿archivo

Actualizar Vea la respuesta de @ estrictamenterude27 a continuación para lo que parece ser una respuesta a esta pregunta.

Si lo anterior no funciona. ¿Hay alguna manera de obtener una función compilada con MATLAB para ejecutar un.metr archivo que puede haber cambiadodespué compilando la función original?La motivación para mi segunda pregunta:

Me gustaría tener la capacidad de "actualizar" un.m archivo que forma parte del proyecto sin tener que volver a compilar el proyecto completo. Cualquier idea para esto sería muy apreciada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta