Мой код делает то, что я хочу, но я хочу понять, почему он делает то, что делает. Я нахожу, что в MATLAB, если я вызываю вывод функции после определения функции, я получаю ошибку, но нет, если я вызываю ее до определения функции. У меня сложилось впечатление, что MATLAB ставит телегу перед лошадью, и я хотел бы знать, почему я ошибаюсь в этом впечатлении.
function [out,outt]=f_testFunctionWithinFunction(arg_in)
% function has to be invoked BEFORE its definition.
out=f_inside(arg_in);
function use=f_inside(argg_in),
use=sin(argg_in);
return
outt=f_inside(arg_in);
return
Выражение out=f_testFunctionWithinFunction(5)
дает -0.9589=sin(5)
. Однако [out,outt]=f_testFunctionWithinFunction(5)
выдает сообщение об ошибке из-за запроса "outt"
. Почему?