Matlab: доступ к скрытым параметрам в дескрипторах функций
Когда в Matlab определена анонимная функция, она внутренне сохраняет переменные, которые используются из рабочей области. например
А = 2
f = @(x) x ^ A
очистить
Теперь, если вы вызовете f(2), вы получите результат 4. Если вы просто напечатаете f или преобразуете его в строку, вы получите
@(Х) х ^ а
Мой вопрос, как получить доступ к внутренней переменной A в функции?
1 ответ
Решение
Одним из способов является использование functions
команда.
fa = functions(f);
Выход представляет собой структуру, которая включает в себя workspace
массив ячеек, содержащий структуру, содержащую ваши переменные, в этом случае:
ws = fa.workspace{1};
ws.A % returns "2"