Trouble using ezplot and matlabFunction on a symbolic function defined using symengine "piecewise"
1 view (last 30 days)
Show older comments
Ronny Landsverk
on 29 Mar 2015
Edited: Sally Al Khamees
on 21 Feb 2017
syms x t;
MP_syntax1 = 'piecewise([x <= 10, x/10], [10 < x <= 30, (30 - x)/20])';
MP_syntax2 = 'ilaplace(2/s^3,s,t)';
f(x) = evalin(symengine,MP_syntax1);
g(t) = evalin(symengine,MP_syntax2);
No trouble with g(t) or other MuPad functions:
ezplot(g(t), [-5,5]);
G = matlabFunction(g(t));
Trying the same to the piecewise, f(x) will not work however.
ezplot(f(x),[0,30]);
F = matlabFunction(f(x));
However, this works
xd = 0:0.1:30;
fd = double(f(xd));
plot(xd,fd);
What is wrong with the other calls using ezplot and matlabFunction for f(x) ?
4 Comments
Accepted Answer
Sally Al Khamees
on 23 Dec 2016
Edited: Sally Al Khamees
on 21 Feb 2017
If you have R2016b and the Symbolic Math Toolbox installed, you can just use the piecewise function:
For example:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/176224/image.png)
0 Comments
More Answers (0)
See Also
Categories
Find more on Assumptions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!