sum of function handles

Hi, i want to sum two function handle. the functions that i want to sum are following;
f1=0;
for i=1:20
f2=f2(x(1),x(2),x(3))
f1=f1+f2
end
how can i do by using function handle? the following is true?
f1=@(x)(0);
for i=1:20
f2=@(x)(f2(x(1),x(2),x(3)))
f1=@(x)(f1(x)+ f2(x));
end
Can anyone help me? Because i use this last summation function for fminsearch

3 comentarios

Jing
Jing el 16 de En. de 2013
Hi, I don't quite understand your functions. In the sum function(not function handle) you wrote, if f2 is a predefined function, it will be reassigned as an variable after first iteration and f1 is a double variable.
BTW, what is the for-loop used for?
Jan
Jan el 16 de En. de 2013
@dert: Please do not cross post. Posting a question in several forums at the same time wastes the time of the voluntary helpers.

Iniciar sesión para comentar.

Respuestas (2)

Thorsten
Thorsten el 16 de En. de 2013

0 votos

Do you want to evaluate f2 20 times and store the summed result in f1? Than you can use this:
f1 = 0;
for i=1:20
f1 = f1 + f2(x(1),x(2),x(3));
end
Otherwise, please explain what you want to do.
Umar Ceres
Umar Ceres el 20 de Nov. de 2023
So this thread is quite old and seems nobody has posted a method to sum function handles and have a resulting anonymous function. See the following:
a1 = @(x) x(1).^2 + x(2).^2;
a2 = @(x) x(1) + x(2);
syms x [1 2] matrix
a = a1(x) + a2(x)
a = 
a_syms = symmatrix2sym(a)
a_syms = 
a_anon = matlabFunction(a_syms)
a_anon = function_handle with value:
@(x1_1,x1_2)x1_1+x1_2+x1_1.^2+x1_2.^2

1 comentario

Dyuman Joshi
Dyuman Joshi el 20 de Nov. de 2023
@Umar Ceres, How will you proceed with the same method if a1 and a2 are defined as follows -
a1 = @(x) sum(x(1:randi(numel(x))).^2);
a2 = @(x) sum(x(1:randi(numel(x))));

Iniciar sesión para comentar.

Categorías

Más información sobre Function Creation en Centro de ayuda y File Exchange.

Preguntada:

el 16 de En. de 2013

Comentada:

el 20 de Nov. de 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by