定义符号分段函数

22 Ansichten(30天)的
弗朗西斯科·Collini
弗朗西斯科·Collini 我20丢。2017
晚上好,我有一个问题想定义一个分段符号在matlab函数。
我已经尝试使用分段预定义函数见下一段代码:
=符号(“一个”);l =符号(“l”);
r_i = symfun (r_c (a) + r_1, a);l_i = symfun((π/ 2)* r_c (a), a);l2 = symfun (l_i (a) + r_2 - r_i (a), a);
r = symfun(分段(l (0 < =) & & (l < l_i (a)),
r_1 + r_c (a) * (1 - cos (l / r_c (a))),
(l_i (a) < = l) & & (l < l2 (a)),
r_i (a) + l -(π/ 2)* r_c (a)),
[l]);
但是它显示这个错误”转换为逻辑从sym是不可能的。。
我猜这是因为我不能使用符号函数链的不平等,但我不知道如何解决这个问题,所以请有人能帮助我吗?非常谢谢,圣诞快乐! !
PS
这段代码包含在一个函数。m文件。

Akzeptierte Antwort

弗朗西斯科·Collini
弗朗西斯科·Collini 我2019年2月28日
我发现解决这个问题的方法是:
=符号(“一个”);l =符号(“l”);
r_i = symfun (r_c (a) + r_1, a);l_i = symfun((π/ 2)* r_c (a), a);l2 = symfun (l_i (a) + r_2 - r_i (a), a);
r = symfun(分段(l (0 < =) & (l < l_i (a)),
r_1 + r_c (a) * (1 - cos (l / r_c (a))),
(l_i (a) < = l) & (l < l2 (a)),
r_i (a) + l -(π/ 2)* r_c (a)),
[l]);
间隔的定义的问题是,在一个字符必须使用“&”,而不是两个“& &”来定义一个间隔一个以上的条件下。

Weitere Antworten (0)

Produkte

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的