Показать сообщение отдельно
  #1 (permalink)  
Старый 25.03.2010, 18:24
Новичок на форуме
Отправить личное сообщение для Leks Посмотреть профиль Найти все сообщения от Leks
 
Регистрация: 25.03.2010
Сообщений: 4

Взятие интеграла методом Симпсона
Помогите пожалуйста сделать программу на js, вычисляющую интеграл методом симпсона
http://solidbase.karelia.ru/edu/meth...s/Simpson.shtm
http://ru.wikipedia.org/wiki/Формула_Симпсона
Тоесть я так пологаю должно быть 4 поля в которых задаются пределы интегрирования, количество шагов и сама функция а в четвертом по нажатию кнопки появляется ответ.
Заранее благодарен! С таким языком не когда не сталкивался раньше по этому плохо представляю.
вот код на дельфи для такого вычисления:
Код:
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Взятие интеграла методом Симпсона

Интеграл методом Симпсона
A, B - интервал интегрирования
N - число точек на интервале
Func - функция, от которой берется интеграл.

Возвращаемое значение - значение интеграла

Зависимости: System
Автор:       Mystic, mystic2000@newmail.ru, ICQ:125905046, Харьков
Copyright:   Mystic
Дата:        25 апреля 2002 г.
***************************************************** }

type
  TFunction = function(X: Extended; Arg: Pointer): Extended;

function Simpson(A, B: Extended; N: Cardinal; Func: TFunction; Arg: Pointer):
  Extended;
var
  h: Extended;
  X: Extended;
  K: Extended;
  I: Integer;
begin
  Assert(N > 0);
  h := 0.5 * (B - A) / N;
  Result := Func(A, Arg);
  X := A + h;
  for I := 1 to 2 * N - 1 do
  begin
    if I mod 2 = 0 then
      K := 2
    else
      K := 4;
    Result := Result + K * Func(X, Arg);
    X := X + h;
  end;
  Result := Result + Func(B, Arg);
  Result := h * Result / 3;
end;
Ответить с цитированием