defining symbolic piecewise function
13 ビュー (過去 30 日間)
古いコメントを表示
Francesco Collini
2017 年 12 月 20 日
回答済み: Francesco Collini
2019 年 2 月 28 日
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.
採用された回答
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Assumptions についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!