Я прочитал в документации , что я могу использовать оператор echo on;
, чтобы MATLAB распечатал операторы, которые он выполняет.Однако у меня возникают трудности с выполнением этой работы внутри функции.
Например:
function do_something(foo)
a = 2;
echo on;
foo = foo+1;
disp('This is a test');
foo = foo+3;
end
Если я вызову do_something(foo)
из командного окна, я ожидал увидеть что-то вроде:
foo = foo+1;
disp('This is a test');
This is a test
foo = foo+3;
Однако в приведенном выше примере все отпечатки MATLAB:
this is a test
, что не соответствует ожиданиям.
Обновление
Как объясняет @Phonon ниже, echo on
только для скриптов (извините, я пропустил это!).Тем не менее, я прочитал в документации, что я могу активировать echo
для данной функции следующим образом:
echo fcnname on
Так что мой вопрос сейчас заключается в том, есть ли способ активировать эхо для функции с использованием некоторого измененияСинтаксис выше, чтобы я сделал это (вызов echo
) внутри функции ?(переменная, которая содержит имя функции в этом случае, будет предоставлена mfilename
)
Обновление 2:
Насколько я понимаю, это не возможно активировать echo
для определенной функции внутри фактической функции.Помимо прочего, кажется, что MATLAB необходимо заранее знать, должна ли функция работать в «режиме эха», чтобы избежать использования JIT .