вызвать функцию, возвращаемую из другой функции - PullRequest
0 голосов
/ 13 марта 2012

У меня есть function1, которая возвращает значение editText. из другой функции 2, я хотел бы получить функцию 1 после ввода текста Я пытался

function function2(arg)
editTextarea = @()function2(arg)
editTextarea....

это правильно?

1 Ответ

0 голосов
/ 13 марта 2012

Я смущен вашим вопросом? Вы говорите, что у вас есть основная функция function1, которая содержит подфункцию function2, и что вы хотели бы иметь возможность вызывать эту подфункцию напрямую?

Если это так, то обратитесь к этой статье поддержки Mathworks

Первый метод для вызова подфункции вне главной функции создать дескриптор функции для подфункции внутри основного функция (где подфункция находится в области видимости) и вернуть его в качестве дополнительного выходной аргумент. Затем вы можете использовать FEVAL для оценки функции обрабатывать, передавая любые аргументы, которые принимает подфункция. Причина это работает, что дескриптор функции записывает область действия функции или подфункция, в которой он был создан. Простой пример того, как это сделать это:

function y=myfun(varargin)

if nargin==0 % There are no input arguments, I assume you are asking for the function handle  
y=@mysubfun; % This only works in MATLAB 6.0 (R12) and above else % There is an input argument, I assume you want to evaluate the main function  
y=2*varargin{1}
end

function t=mysubfun(z)
t=3*z;

Теперь, если вы введете:

H=myfun;  
y1=myfun(1); 
y2=feval(H,1); 
[y1 y2]

Вы получите результат:

ans = 2 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...