Mathematical Function as Matlab-Function Input

3 visualizaciones (últimos 30 días)
Ninja Katja
Ninja Katja el 26 de Oct. de 2011
Hello Everybody!
I have a probably pretty easy to answer question, but I am just not getting to it. How can I tell Matlab to use a mathematical function as an input argument?
To make clear what I mean a very simple example:
function [df] = derivate(y)
x=-20:20;
df=diff(y);
end
If I try to run this now with any kind of function like 3*x+5, Matlab tells me x wasn't defined. Can you tell me my mistake?
Thanks in advance!!!

Respuesta aceptada

Walter Roberson
Walter Roberson el 26 de Oct. de 2011
You need the symbolic toolbox in order to do this, and you need to declare your free variable with either a sym() or syms() call.
Please also note that you cannot take the derivative of a mathematical function over a range.
If you are trying to do numeric derivatives then you should recode as something like:
function df = derivate(f)
x = -20:20;
df = diff(f(x));
end
and you would then call it with a function handle, such as calling
derivate(@(x) 3*x+5)
  1 comentario
Ninja Katja
Ninja Katja el 27 de Oct. de 2011
Function Handle - that's the thing I was looking for! Thank you! :-)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by