This example shows how to define functions at the command line with anonymous functions.
Consider the function
If we want to allow any multiplier of
x, not just 10, we might create a variable
g is initially set to 10), and create a new function
Let's do this in MATLAB® by creating a function handle
g = 10; h = @(x) g*x;
You can integrate the function by passing its handle to the
ans = 495.0000
Consider another function:
Create a function handle to this function where
alpha = 0.9.
alpha = 0.9; f = @(x) sin(alpha*x);
Plot the function and shade the area under it.
x = 0:pi/100:pi; area(x,f(x)); % You can evaluate f without feval title('f(x) = sin(\alpha x), \alpha =.9');
We can use the
integral function to calculate the area under the function between a range of values.
ans = 2.1678
Consider the function:
a = 1, b = -2, and
c = 1.
Create a function handle for it.
a = 1; b = -2; c = 1; f = @(x)(a*x.^2+b*x+c);
fplot(f); % Plot the function title('f(x)=ax^2+bx+c, a=1,b=-2,c=1'); hold on; % Find and plot the minimum minimum = fminbnd(f,-2,2); % We can pass the function handle directly % to the minimization routine plot(minimum,f(minimum),'d'); % We can evaluate the function without % using feval grid; hold off;
We can create handles to functions of many variables
a = pi; b = 15; f = @(x,y) (a*x+b*y); fsurf(f); title('f(x,y) = ax+by, a = \pi, b = 15');
We can also create handles to functions of functions
f = @(x) x.^2; g = @(x) 3*x; h = @(x) g(f(x)); h(3)
ans = 27