![]() |
![]() |
||||
![]() | |||||
![]() |
![]() АЛГОРИТМЫ Новости Рассылка новостей Форум AlgoPascal Редактор блок-схем Статьи О сайте Контакты |
![]() |
![]() Вычисление интеграла методом Симпсона от функции, заданой табличноЕсли заданы значения функции F(x) на интервале [a,b]: y0 , y1 , ..., yn в равноотстоящих точках и n четно, то приближенное значение интеграла вычисляется по формуле: ![]() ![]() Если нашли ошибку в алгоритме - сообщите! Реализации алгоритма на различных языках:![]() ![]() ![]() Блоксхемы:![]() ![]() Реализация алгоритма на AlgoPascal:unit IntegralSimpsTableUnit; declaration (* интегрируемая функция *) function F(X:Real):Real; interface IntegralSimpsTable; implementation (********************************************************* Вычисление интеграла методом Симпсона от функции, заданой таблично. Считается интеграл функции F на отрезке [a,b]. function IntegralSimpsTable( a,b:real; n:integer; y:array [0..n] of real):real; *********************************************************) function IntegralSimpsTable( const a : Real; const b : Real; const n : Integer; const y : array of Real):Real; var i : Integer; h : Real; begin h:=(b-a)/2; Result:=(y[0]-y[n])/2; i:=2; repeat Result:=Result+2*y[i-1]+y[i]; i:=i+2; until not(i<=n); Result:=2*h*Result/3 end; end. |
![]() |
|
|
![]() |