Search code examples
matlabpiecewisemupad

How do I extract the function from a piecewise defined function in Matlab?


I'm using the new Matlab piecewise function (https://www.mathworks.com/help/symbolic/piecewise.html ) introduced in the Symbolic Math Toolbox R2016b to define a function, and I'm trying to extract the function. Specifically my code looks something like:

syms x;
y = piecewise(x>1,3*x^2,0);

I'd like to be able to extract just the 3*x^2 from y without the condition.

Any idea how to do that?


Solution

  • Use children:

    syms x;
    y = piecewise(x>1,3*x^2,0);
    childs=children(y)
    myfunc=childs(1)