anonymous function with a variable number of input variables
Show older comments
Hi!
I have an anonymous function:
ht = @(A1,A2,A3,....) ...
meaning that I don't know in advance how many variables Ai are included in the definition of ht. Then I need to minimise ht in respect of the variables Ai. For example, for 2 indipendent variables I get a result with:
ht2 = @(A)ht(A(1),A(2));
A0 = [1,1];
[res,fval] = fminunc(ht2,A0)
How can I define ht2 dinamically with a variable number of unknown Ai?
Thanks!
Accepted Answer
More Answers (1)
per isakson
on 10 May 2020
Edited: per isakson
on 10 May 2020
"anonymous function with a variable number of input variables"
Something like this?
>> ht(1,2,3)
ans =
6
>> ht(1,2,3,4)
ans =
10
>> ht(1,2,3,4,5)
ans =
15
>>
where
ht = @(varargin) dario( varargin{:} );
and
function out = dario( varargin )
out = sum([ varargin{:} ]);
end
3 Comments
dario
on 10 May 2020
per isakson
on 10 May 2020
I assume that ht shall returns a scalar numerical output. That output could readily be calculated in dario, since all inputs are available. The variables, Ai, what type and size are they?
dario
on 10 May 2020
Categories
Find more on Surrogate Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!