Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matlab function

  1. Oct 29, 2009 #1
    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;

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

    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?
  2. jcsd
  3. Oct 30, 2009 #2
    Here you go.
    Code (Text):
    f = @(x) x.*(0<=x & x<1) + (1-x).*(1<=x & x<=2);
  4. Oct 30, 2009 #3
    Thanks alot matonski. This is really :cool:
    Last edited: Oct 30, 2009
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook