Всем привет, появилась задача посчитать интеграл заданной функции. Попробовал написать код, но не уверен что правильное решение, что-то подсказывает что формула и вообще решение написано не верно. Не могли бы посмотреть, где ошибки? Заранее благодарен.
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);