title: Constructing piecewise symbolic function in Matlab
body: <p>I am trying to generate a piecewise symbolic function in Matlab. The reason it has to be symbolic is I want to be able to integrate/differentiate the function afterwards and/or insert actual values. I have the following function:</p>
  
  <pre><code>x^3/6   -&gt;   0 &lt; x &lt;= 1
  (1/6)*(-3*x^3+12*x^2-12x+4)   -&gt;   1 &lt; x &lt;= 2
  (1/6)*(3*x^3-24*x^2+60x-44)   -&gt;   2 &lt; x &lt;= 3
  (1/6)*(4-x)^3   -&gt;   3 &lt; x &lt;= 4
  0   -&gt;   otherwise
  </code></pre>
  
  <p>For example, I want to put this function in a variable (let's say f) and then call</p>
  
  <pre><code>int(diff(f, 1)^2, x, 0, 4) % numbers could be different
  </code></pre>
  
  <p>and get the (scalar) result 2/3.</p>
  
  <p>I tried various things, involving the piecewise() function and symbolic comparisions, but nothing worked... can you help? :-)</p>