Имя переменного входного параметра функции
inputname является удобным способом передачи имени входной переменной в функцию. Например, функция проверяет типы данных входов и, если она находит неправильный тип, отображает имя переменной из вашей рабочей области.
Избегайте использования inputname в критическом пути кода или получить имена переменных, которые будут использоваться с такими командами, как eval, evalin, и assignin. Это использование inputname может привести к тому, что код будет трудно поддерживать.
inputname возвращает ошибку, если она вызывается внутри перегруженного subsref, subsasgn, subsindex, numArgumentsFromSubscript, numel, или набор свойств или метод get.
Если функция, которая вызывает inputname не вызывается из файла кода MATLAB, inputname идет по стеку, пока он не находит вызов из кода MATLAB и не возвращает имена, которые он находит там. Для примера это поведение происходит, если inputname вызывается из встроенной функции или MEX-функции.
Примите во внимание следующий код, в котором встроенный arrayfun вызовы функций inputname через указатель на функцию.
fn=@(x) inputname(x);
a=1:4;
arrayfun(fn,a,'uniformoutput',false)ans =
'fn' 'a' '' '' inputname функция проходит по стеку до тех пор, пока не найдет вызов из кода MATLAB. В этом случае код MATLAB является базовым рабочим пространством, и inputname возвращает имена переменных из базового рабочего пространства