Creating Anonymous Functions for Complex Functions

  • Context: MATLAB 
  • Thread starter Thread starter matematikawan
  • Start date Start date
  • Tags Tags
    Complex Functions
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
2 replies · 4K views
matematikawan
Messages
336
Reaction score
0
I normally create anonymous function in order to avoid creating extra m-file if the function is simple enough. For example if I want to integrate the function f(x)=x2+x, I just write a simple MATLAB script like

myfun=@(x) x.^2 + x;
quad(myfun,0,1)


But how do we create an anonymous function for the following function
[tex] f(x)=\left\{\begin{array}{ccc}x,&\mbox{ } 0 \leq x <1\\<br /> 1-x, & \mbox{ } 1 \leq x <2\\<br /> 0 , & \mbox{ elsewhere } \end{array}\right.[/tex]

The function look simple to me and I know how to write a function m-file for it. But I want to avoid it. Is it possible to create an anonymous function for it?
 
Physics news on Phys.org
Here you go.
Code:
f = @(x) x.*(0<=x & x<1) + (1-x).*(1<=x & x<=2);
 
Thanks a lot matonski. This is really :cool:
 
Last edited: