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:
x^3/6 -> 0 < x <= 1
(1/6)*(-3*x^3+12*x^2-12x+4) -> 1 < x <= 2
(1/6)*(3*x^3-24*x^2+60x-44) -> 2 < x <= 3
(1/6)*(4-x)^3 -> 3 < x <= 4
0 -> otherwise
For example, I want to put this function in a variable (let's say f) and then call
int(diff(f, 1)^2, x, 0, 4) % numbers could be different
and get the (scalar) result 2/3.
I tried various things, involving the piecewise() function and symbolic comparisions, but nothing worked... can you help? :-)