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"
Другие вопросы по тегам