Ищу интеграл функции (a1*sin(a2*x)*sin(a3*x)+a4*sin(a5*x)*cos(a6*x))/ (b1*sin(b2*x)*cos(b3*x)) методом трапеций. В некоторых х у функции резко увеличивается значение и кол-во таких экстремумов увеличивается с увелечением количества точек интегрирования. А эти экстремумы сильно влияют на итоговое значение интеграла. Т.е. при 100 и 200 точках интегрирования получаются разные значения интеграла.
Как можно обходить эти "скачки" ?
Заранее спасибо кто что хорошего подскажет.
| Цитата | h:=(x2-x1)/(n-1); xv[1]:=x1; //нижняя граница интегрирования null:=false; prom:=0;//результат интеграла накапливает h1:=h;
for i:=1 to n do begin fx[i]:=F(xv[i], a1, a2, a3, a4, a5, a6, b1, b2, b3); if i<>1 then prom:=prom+(fx[i-1]+ fx[i])*h1/2;
xv[i+1]:= xv[i]+h; end;
end; //for i
|
|