Я использую deff для определения кусочных функций в Scilab. Я использую операторы if-else для определения функции в разных интервалах. Кажется, что все они работают, кроме this .
Это мой подход:
deff('a=f(p)', ["if(q >= -2 & q <= -1) then"; "a=1"; "elseif(q >= 1 & q <= 2) then"; "a=-1"; "else"; "a=0"; "end";])
Тот же подход работал на аналогичные функции, такие как this.
eff('a=f(p)', ["if((p > 0 & p <= 2)) then"; "a=p/2"; "else"; "a=0"; "end";])
Я определил q
следующим образом:
q = -3:Ts:3;
где Ts - некоторое число с плавающей запятой. Что я делаю не так?