
12.05.2009, 14:39
|
|
Познающий
Регистрация: 13.12.2007
Сообщений: 56
С нами:
9689730
Репутация:
51
|
|
Помогите, пожалуйста, разработать программу нахождения значения определенного интеграла методом Симпсона (на паскале).
Вот, собственно, функция для интегрирования:
y=log3(внизу)х (х+х^2)^-1 .
Исходные данные: интервал интегрирования, количество разбиений отрезка.
Результат нужно получить такой: значение интеграла, график заданной функции.
Решение интерпретировать графически (автоматическое масштабирование, название графика, метки на осях и обозначение осей).
Также нужно предусмотреть переключение между графическим и текстовым окнами для ввода исходной информации и вывода результатов интегрирования и графической интерпретации. И предусмотреть проверку корректности данных.
Код на дельфи уже есть:
A, B - интервал интегрирования
N - число точек на интервале
Func - функция, от которой берется интеграл.
Возвращаемое значение - значение интеграла
PHP код:
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;
Но нужно его как-нибудь переделать в код Паскаля.
Плиз помогите)
|
|
|