Mathematical Function as Matlab-Function Input

3 Ansichten (letzte 30 Tage)
Ninja Katja
Ninja Katja am 26 Okt. 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!!!

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 26 Okt. 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 Kommentar
Ninja Katja
Ninja Katja am 27 Okt. 2011
Function Handle - that's the thing I was looking for! Thank you! :-)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by