我有以下代码行
arg1 = ( x<=a ).*(log(x)) + ( x>a).*(log(2*a-x));
num = sinh(arg1);
den = const + cosh(arg1);
re = num./den + const2;
re1 = ;
但re
未在x = 0处定义,因为log在0处爆炸。但是re的限制值为0,定义为const3。
当x = 0时,我希望re1
为const3
,当x> 0时,我想要为re1:= piecewise([x = 0, const3],[ x>0, re]);
。
我尝试使用分段作为
re1
但这不起作用。
对于char
类型的输入参数,我收到错误“未定义函数或方法{{1}}。
我应该如何获得理想的结果?
答案 0 :(得分:0)
您将需要符号数学工具箱。 通常,如果将f(x)定义为函数并想要在x = a处计算限制,则执行以下操作,
sym x
const3 = limit (sym (f),x,a)
答案 1 :(得分:0)
只需使用逻辑索引:
re1 = re;
re1(x == 0) = const3;
并且,即使它可能“不可能”,我的经验告诉我这样做也是个好主意:
re1(x >= 2*a) = const3;