|
Текст подпрограммы и версий sf12r_p.zip , sf12e_p.zip |
Тексты тестовых примеров tsf12r_p.zip , tsf12e_p.zip |
Вычисление интеграла Доусона.
Функция SF12R производит вычисление интеграла
x
y = e-x*x ∫ et*tdt
0
для всех вещественных x, используя рациональные чебышевские аппроксимации.
W.Cody, K.A.Paciorek, H.C.Thacher, Chebyshev Approximations for Dawson's Integral, Math. Comp., 24, 1970.
function SF12R(X :Real): Real;
Параметры
| X - | заданное значение аргумента x (тип: вещественный). |
Версии
| SF12E - | вычисление интеграла Доусона с расширенной (Extended) точностью. |
Вызываемые подпрограммы: нет
Замечания по использованию
| Функции SF12R и SF12E производят вычисления для всех x, представимых на машине типами Real и Extended соответственно. |
Unit tsf12r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF12R_p;
function tsf12r: String;
implementation
function tsf12r: String;
var
X,Y :Real;
begin
Result := ''; { результат функции }
X := -1.6;
Y := SF12R(X);
Result := Result + Format(' %20.16f %20.16f ',[X,Y]) + #$0D#$0A;
UtRes('tsf12r',Result); { вывод результатов в файл tsf12r.res }
exit;
end;
end.
Результат:
Y = -0.399939894324