당신의 두 가지 기능 :
[5.5 2.3]
편집 당신을 위해 정상적인 기능을 사용할 수있는 좀 더 영리
당신이 원하는 경우 뭔가 :
F{1} = @(x) 0.5 + 1*x;
F{2} = @(x) 0.3 + .4*x;
% create another anonymous function which calls both F{1} and F{2}
FF = @(x) [F{1}(x) F{2}(x)];
FF(5)
당신에게 출력을 제공 당신이 좀더 할 수있는 "collection":
function test_function
F{1} = @(x) 0.5 + 1*x;
F{2} = @(x) 0.3 + .4*x;
result = collectorFunction (5, F{:})
end
function output = collectorFunction (x, varargin)
output = zeros(nargin-1,1);
for ii=2:nargin
output(ii-1) = feval(varargin{ii-1}, x);
end
end
결과를 자동으로 이 결과를 수집합니다 당신은 예를 들어 다른 F{3}
에게 콜렉터 기능을 추가하는 경우 다음
5.5
2.3
:
function test_function
F{1} = @(x) 0.5 + 1*x;
F{2} = @(x) 0.3 + .4*x;
F{3} = @(x) 1.3 + .3*x; % Simply ADD a new F{N}....
result = collectorFunction (5, F{:})
end
function output = collectorFunction (x, varargin)
output = zeros(nargin-1,1);
for ii=2:nargin
output(ii-1) = feval(varargin{ii-1}, x);
end
end
결과 :
5.5
2.3
2.8
가능한 중복 : MATLAB에서 여러 명령문을 실행하는 방법 익명 함수?] (https://stackoverflow.com/q/558478/52738) – gnovice