Trouble using ezplot and matlabFunction on a symbolic function defined using symengine "piecewise"
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ronny Landsverk
le 29 Mar 2015
Modifié(e) : Sally Al Khamees
le 21 Fév 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 commentaires
Réponse acceptée
Sally Al Khamees
le 23 Déc 2016
Modifié(e) : Sally Al Khamees
le 21 Fév 2017
If you have R2016b and the Symbolic Math Toolbox installed, you can just use the piecewise function:
For example:
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Assumptions dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!