Показать сообщение отдельно
  #1 (permalink)  
Старый 20.02.2018, 21:32
Интересующийся
Отправить личное сообщение для MrFlatman Посмотреть профиль Найти все сообщения от MrFlatman
 
Регистрация: 20.02.2018
Сообщений: 13

Посчитать интеграл заданной функции в заданном интервале
Всем привет, появилась задача посчитать интеграл заданной функции. Попробовал написать код, но не уверен что правильное решение, что-то подсказывает что формула и вообще решение написано не верно. Не могли бы посмотреть, где ошибки? Заранее благодарен.



function integral(expenssion, a, b){
        if(!expenssion || !b&&!a) return 0;
        if (a==b) return 0;
        var x,y1,y2,n,length,dx, s=0;
        y1=Math.min(a,b); //Если левый предел больше правого
        b=Math.max(a,b); //Если правый предел меньше левого
        a=y1;
        n=100;
        if (length>2) n=Math.round(100*Math.log(length+1));
        dx=length/n; //Это вычисление длины элементарного отрезка
        x=a; //Начальное значение Х в выражении
        y1=eval(expenssion);
        x=a+dx;
        y2=eval(expenssion);
        s=((Math.pow(x,n)*Math.cos(n*(Math.PI/3)))*dx)/2;
        for (i=2; i<=n; i++){
            y1=y2;
            x=x+dx;
            y2=eval(expenssion);
            s+=((Math.pow(x,n)*Math.cos(n*(Math.PI/3)))*dx)/2;
        }
        
        return s
        
        
        
    }
    
  integral(3, 6, 1);
Ответить с цитированием