matlab - 函数返回向量而不是标量

标签 matlab function

我定义了两个这样的匿名函数:

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/

相关文章:

Java 相当于 Matlab 的 `eps` 或 Numpy/Python 的 `spacing` 函数(浮点相对精度)

matlab - matlab中的矩阵矩阵

javascript - var functionName = function() {} vs function functionName() {}

c - C 中的过程和函数

matlab - 从MATLAB的wav文件中删除噪声

matlab - 为什么图中的 matlab text() 显示带有我的字符串(特殊字符)的矩阵

matlab - 注释掉matlab函数中某行的一部分

javascript - 对列表的所有元素使用函数并等待它们的 promise

c++ - 返回并调用动态字符串数组

javascript - console.log 输出 'function <valueOf result> ' 而不是 '<valueOf result>'