If statement 在deff中编写分段函数

If statement 在deff中编写分段函数,if-statement,plot,scilab,piecewise,If Statement,Plot,Scilab,Piecewise,我在Scilab中使用它来定义分段函数。我使用if-else语句以不同的间隔定义函数。除了我的工作以外,他们似乎都在工作 这是我的方法: deff('a=f(p)',[“如果(q>=-2&q=1&q 0&p)当输入是向量时,您不能按原样使用函数。一种可能的解决方法是使用feval: a = feval(q,f) 另一个(更好的)解决方案是以矢量化方式编码f: function a = f(q) a = 1*(q >= -2 & q <= -1) - 1*(q &g

我在Scilab中使用它来定义分段函数。我使用if-else语句以不同的间隔定义函数。除了我的工作以外,他们似乎都在工作

这是我的方法:


deff('a=f(p)',[“如果(q>=-2&q=1&q 0&p)当输入是向量时,您不能按原样使用函数。一种可能的解决方法是使用
feval

a = feval(q,f)
另一个(更好的)解决方案是以矢量化方式编码
f

function a = f(q)
     a = 1*(q >= -2 & q <= -1) - 1*(q >= 1 & q <= 2)
end
函数a=f(q)

a=1*(q>=-2&q=1&q如果答案对你合适,你能验证一下吗?
function a = f(q)
     a = 1*(q >= -2 & q <= -1) - 1*(q >= 1 & q <= 2)
end