我已经定义了两个这样的匿名函数:
hx = @(x) 0.23.*(x>=a).*(x<5) + ...
2.8020.*exp(-x/2).*(x>=5).*(x<=b);
Hx = @(x) p.*c.*x.*(x>=0).*(x<5) + ...
p.*(5.*c - 2.*d.*(exp(-x/2)-exp(-5/2))).*(x>=5).*(x<=18);
分段。问题是hx
在评估时会返回结果向量。为什么会这样?我无法弄清楚。另一个函数只返回一个值。
答案 0 :(得分:4)
您可以尝试将a和b包含在匿名函数中:
hx = @(x,a,b) 0.23.*(x>=a).*(x<5) + ...
2.8020.*exp(-x/2).*(x>=5).*(x<=b);
答案 1 :(得分:2)
假设您正在为hx
和Hx
提供标量,似乎hx
会返回一个向量,因为a
或b
(或两者)是一个向量(与c
,d
和p
相对,它们显然也是标量。)