Почему заходит не в ту конструкцию?

решаю задачку из ВУЗа по численным методам, требуется вычислить интеграл по методу Симпсона, написав сценарий в Scilab. Как я понял суть метода: последний и первый элемент на промежутке интегрирования складываются с элементами под нечётным номером умноженным на 4 и с элементами под чётным номером умноженным на 2 с шагом h. Столкнулся с такой проблемой: написав программу почему-то при i = 2 программа заходит в конструкцию, куда по сути должны заходить нечётные элементы(i/2 <> 0). Входные данные: пределы интегрирования от -1 до 1, шаг 0,5, f(x)=(3*cos(x^2))/ln(x+5) Помогите решить проблему пожалуйста. Сам код сценария:

function ff=f(x)
    ff=(3*cos(x*x))/log(x+5)
endfunction
a;b;h;i=0;integ=0;
while a<=b
    if i == 0 | a == 1 then
        integ = integ + f(a);
    elseif (i/2) <> 0 then
        integ = integ + 4*f(a);
    elseif (i/2) == 0 & i <> 0 & a <> 1 then
        integ =integ + 2*f(a);
    end
    z = [i,a,integ];
    z
    i=i+1;
    a = a + h;
end
(h/3)*integ

Вывод:

z  = 

   0.  -1.   1.1692372
 z  = 

   1.  -0.5   8.8995236
 z  = 

   2.   0.   16.355543
 z  = 

   3.   0.5   23.175875
 z  = 

   4.   1.   24.080521
 ans  =

   4.0134201

Ответы (0 шт):