MATLAB: Need solution with symbolic

differential equationsMATLABsymbolic

Dear all
why the first code is working otherwise in second code when I just change a bit it won't work ?
The first code
syms z2
Z2(z2) = piecewise(0<=z2, z2, 0>z2, 0.2*(exp(z2)-1));
Z2([10])
The second code
syms w12 a1 b12 z2
z2 = w12*a1 + b12;
Z2(z2)=piecewise(0<=z2, z2, 0>z2, 0.2*(exp(z2)-1));
Z2([10])
Any suggestion please?

Best Answer

Here:
Z2(z2)=piecewise(0<=z2, z2, 0>z2, 0.2*(exp(z2)-1));
%^
z2 is not an independent symbolic variable. It is a symbolic expression. You should use the base variables to make symbolic functions. For example
syms w12 a1 b12 z2
z2 = w12*a1 + b12;
Z2(w12,a1,b12)=piecewise(0<=z2, z2, 0>z2, 0.2*(exp(z2)-1));
Z2(10, 1, 2)
Related Question