defining symbolic piecewise function
13 views (last 30 days)
Show older comments
Francesco Collini
on 20 Dec 2017
Answered: Francesco Collini
on 28 Feb 2019
Good evening, I have an issue trying to define a piecewise symbolic function in matlab.
I already tried using the piecewise predefined function as shown in the next piece of code:
a = sym('a'); l = sym('l');
r_i = symfun(r_c(a) + r_1, a); l_i = symfun((pi/2)*r_c(a), a); l_2 = symfun(l_i(a) + r_2 - r_i(a), a);
r = symfun(piecewise((0 <= l) && (l < l_i(a)),...
r_1 + r_c(a) * (1 - cos(l / r_c(a))),...
(l_i(a)<=l) && (l<l_2(a)),...
r_i(a) + l - (pi/2) * r_c(a)),...
[l, a]);
but it shows this error "Conversion to logical from sym is not possible.".
I guess it is because I can not use a symbolic function in the chain of inequalities, but I do not know how to fix this, so please could anyone help me? Thankyou very much and merry Christmas!!
PS
This piece of code is contained in a function.m file.
Accepted Answer
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!