Имя переменной входного параметра функции
s = inputname(argNumber)возвращает имя переменной рабочей области, s = inputname(argNumber) s, соответствуя номеру аргумента argNumber.
Вы не можете вызвать inputname от командной строки MATLAB®, или в скрипте вы вызываете от командной строки.
inputname является удобным способом передать имя входной переменной к функции. Например, функция проверяет типы данных входных параметров и, если она находит неправильный тип, отображает имя переменной из вашей рабочей области.
Избегайте использования inputname в критическом пути кода или получить имена переменных, которые будут использоваться с командами, такими как eval, evalin и assignin. Это использование inputname может вести, чтобы закодировать, который трудно поддержать.
inputname возвращает ошибку, если он называется в перегруженном subsref, subsasgn, subsindex, numel или наборе свойств, или получите метод.
Если функция, которая вызывает 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 возвращает имена переменных в базовое рабочее пространство