0

我有以下几行代码

arg1 = ( x<=a ).*(log(x)) + ( x>a).*(log(2*a-x));
num = sinh(arg1);
den = const + cosh(arg1);
re = num./den + const2;
re1 = ;

Butre没有在 x=0 处定义,因为 log 在 0 处爆炸。但是 re 在 0 处有一个限制值,定义为 const3。

我想当x=0 时和re1const3x>0 时一样。我尝试使用分段作为

re1:= piecewise([x = 0, const3],[ x>0, re]);

但这不起作用。我收到错误“未定义re1类型的输入参数的函数或方法char

我应该如何获得想要的结果?

4

2 回答 2

0

您将需要符号数学工具箱。一般来说,如果您将 f(x) 定义为一个函数并想计算 x=a 处的极限,您可以执行以下操作,

sym x
const3 = limit (sym (f),x,a)

这可能会有所帮助: http: //www.mathworks.in/help/symbolic/limit.html

于 2013-06-19T07:28:27.793 回答
0

只需使用逻辑索引:

re1 = re;
re1(x == 0) = const3;

而且,即使这可能是“不可能的”,但我的经验告诉我这样做也是一个好主意:

re1(x >= 2*a) = const3;
于 2013-06-19T07:36:59.157 回答