Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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);
Ответить с цитированием
  #2 (permalink)  
Старый 21.02.2018, 10:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

MrFlatman,
Чаще всего интеграл считается как сумма n прямоугольников, где высота = среднее арифметическое между y1 и y2, ширина = dx. Расчет производится несколько раз с уменьшением dx, например, вдвое, до тех пор, когда полученный результат будет отличаться от предыдущего на допустимо малую величину.

Последний раз редактировалось Dilettante_Pro, 21.02.2018 в 10:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск