我定义了两个这样的匿名函数:
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
评估时返回结果向量。为什么会发生这种情况?我想不通。另一个函数仅返回一个值。
最佳答案
您可以尝试将 a 和 b 包含到您的匿名函数中:
hx = @(x,a,b) 0.23.*(x>=a).*(x<5) + ...
2.8020.*exp(-x/2).*(x>=5).*(x<=b);
关于matlab - 函数返回向量而不是标量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16778093/