Function handle of a sum

3 visualizaciones (últimos 30 días)
Bernoulli Lizard
Bernoulli Lizard el 15 de Mzo. de 2013
Editada: Matt J el 24 de Abr. de 2015
How can I define a function that involves a summation?
for example, a function f = @(x) e^(-n*x), where the function is a sum of terms over some range of n?
Thanks
  1 comentario
Bernoulli Lizard
Bernoulli Lizard el 15 de Mzo. de 2013
Actually it's slightly more complicated than that. I need the function to be of another function of n, so something of the form
f = @(x) exp( -g(n) * x ), summed over some range of n.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 15 de Mzo. de 2013
Editada: Matt J el 15 de Mzo. de 2013
Assuming g(n) has vectored input/output, just do
f=@(x) sum( exp( -g(1:n) .* x )); %sum over 1...n
with obvious modifications for different ranges of n.
  2 comentarios
Bryan Engelhardt
Bryan Engelhardt el 24 de Abr. de 2015
Editada: Matt J el 24 de Abr. de 2015
The function doesn't work for me when integrating. In other words,
g = [1,2]
f = @(x) sum( exp( -g(1:2) .* x));
integral(f,0,1);
gives me a matrix dimension error. How do I fix this?
Matt J
Matt J el 24 de Abr. de 2015
Editada: Matt J el 24 de Abr. de 2015
g = [1,2]
f = @(x) sum( exp( -g(1:2) .* x));
F= @(X) arrayfun(f,X);
integral(F,0,1);
or
integral(f,0,1,'ArrayValued',1);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by