Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Функция Лапласа на Делфи

Автор: FonDrakes
Дата сообщения: 11.12.2008 22:37
Суть вопроса в заголовке. Писать огромную таблицу уже готовых значений это не рационально и очень долго, а написать или найти эту функцию в инете не могу Помогите чем сможете плз.
Автор: delover
Дата сообщения: 12.12.2008 10:22
Чем смог тем помог.


Автор: punloh
Дата сообщения: 05.01.2009 12:56
Формула вот на этой картинке. http://upload.wikimedia.org/math/e/e/6/ee6afc55216c30d88141b7036ac08fc1.png Можешь погуглить теорию специальных функций и численные методы.
Автор: FonDrakes
Дата сообщения: 20.01.2009 19:09
Спасибо. Но ответ нашёл сам и он выглядит таким образом:

type
TFunction = function(x: double): double;

//вычисление определённого интеграла методом Симпсона
//a,b-пределы интеграла, eps-точность решения, Fun-подынтегральная функция
function Simpson(Fun: TFunction; a,b,eps: double): double;
var
i,n: integer;
h,s0,s: double;
begin
n:=1; s:=0;
repeat
n:=n*2; h:=(b-a)/n; s0:=s;
s:=Fun(a)+Fun(b);
for i:=1 to n-1 do
s:=s+2*(1+i mod 2)*Fun(a+i*h);
s:=s*(b-a)/(3*n);
until abs(s-s0) <= eps;
result:=s;
end; //Simpson

//подынтегральное выражение для вычисления нормированной функции Лапласа
function Fun(t: double): double;
begin
result:=exp(-t*t/2);
end; //Fun

//нормированная функция Лапласа
function F(x: double): double;
begin
result:=Simpson(Fun,0,x,1E-12)/sqrt(2*pi);
end; //F

Страницы: 1

Предыдущая тема: Обработка неверно введеного значения


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.