Function 如何对向量的每个元素执行条件赋值

Function 如何对向量的每个元素执行条件赋值,function,matlab,vector,Function,Matlab,Vector,我有这样一个函数: y=-2加x 要生成函数所需的行为foo另一种不需要arrayfun()的方法是乘以以下条件: y = -2*(x <= 0) + (-2+3*x.^2).*(x < 1).*(x > 0) + (x >= 1) 输出 y = 1.0000 1.0000 -2.0000 -2.0000 -1.2500 它说:“使用助手(第2行)时出错,输入参数不足。”@Ramy是的,缺少一个@。 arrayfun(@helper, x) y =

我有这样一个函数:

y=-2加x
要生成函数所需的行为
foo

另一种不需要
arrayfun()
的方法是乘以以下条件:

y = -2*(x <= 0) + (-2+3*x.^2).*(x < 1).*(x > 0) + (x >= 1)
输出

y =

   1.0000   1.0000  -2.0000  -2.0000  -1.2500

它说:“使用助手(第2行)时出错,输入参数不足。”@Ramy是的,缺少一个
@
arrayfun(@helper, x)
y = -2*(x <= 0) + (-2+3*x.^2).*(x < 1).*(x > 0) + (x >= 1)
x = [1 4 0 -1 0.5];
y = -2*(x <= 0) + (-2+3*x.^2).*(x < 1).*(x > 0) + (x >= 1)
y =

   1.0000   1.0000  -2.0000  -2.0000  -1.2500