Помогите пожалуйста!
Поиски ни к чему толковому не привели.
На этом форуме про нормальное распределение нашел только в разделе юмор:
"Гаусс не изобретал нормальное распределение. Природа сама подстроилась под него."
Есть ли какие-нибудь готовые функции для расчета функции стандартного нормального распределения, обратной функции нормального распределения и ковариации.
В excel все считается через функции НОРМ.СТ.РАСП, НОРМ.СТ.ОБР, КОВАРИАЦИЯ.В
Хотелось бы найти решение для php
1. kapam - 16 Января, 2014 - 15:18:39 - перейти к сообщению
2. Panoptik - 16 Января, 2014 - 19:51:47 - перейти к сообщению
а при чем здесь php. вы про эти функции кроме как в название в excel что-то еще знаете?
нужно нормально знать теорию
http://ru[dot]wikipedia[dot]org/wiki/%D0[dot][dot][dot]0%BD%D0%B8%D0%B5
иметь входящие данные
и представление о результате. и никаких проблем в php с этим не будет
вот некий пример на С
http://algolist[dot]manual[dot]ru/maths/[dot][dot][dot]normal/index.php
пример на паскале
http://www[dot]delphisources[dot]ru/foru[dot][dot][dot]read.php?t=14090
чего вы хотите добиться?
(Добавление)
вот хороший материал
http://www[dot]math-pr[dot]com/stst_3v_1.php
нужно нормально знать теорию
http://ru[dot]wikipedia[dot]org/wiki/%D0[dot][dot][dot]0%BD%D0%B8%D0%B5
иметь входящие данные
и представление о результате. и никаких проблем в php с этим не будет
вот некий пример на С
http://algolist[dot]manual[dot]ru/maths/[dot][dot][dot]normal/index.php
пример на паскале
http://www[dot]delphisources[dot]ru/foru[dot][dot][dot]read.php?t=14090
чего вы хотите добиться?
(Добавление)
вот хороший материал
http://www[dot]math-pr[dot]com/stst_3v_1.php
3. kapam - 17 Января, 2014 - 10:08:22 - перейти к сообщению
Спасибо за помощь! Я искал вот это:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- // функция плотности стандартного нормального распределения
- function pnd ($x) {
- $Pi = 3.141592653589793238;
- return $pnd;
- }
- // функция стандартного нормального распределения
- function cnd ($x) {
- $Pi = 3.141592653589793238;
- $a1 = 0.319381530;
- $a2 = -0.356563782;
- $a3 = 1.781477937;
- $a4 = -1.821255978;
- $a5 = 1.330274429;
- $k = 1 / ( 1 + 0.2316419 * $L);
- if ($x >= 0) {
- return $p;
- } else {
- return 1-$p;
- }
- }
- // функция обратного стандартного нормального распределения
- function cndi ($p) {
- if ($p>0.5) $p=1-$p;
- $a0=2.30753;
- $a1=0.27061;
- $b1=0.99229;
- $b2=0.04481;
- return $z;
- }
- // функция обратного стандартного нормального распределения (более точная)
- function cndi2 ($p) {
- if ($p>0.5) $p=1-$p;
- $c0=2.515517;
- $c1=0.802853;
- $c2=0.010328;
- $d1=1.432788;
- $d2=0.189269;
- $d3=0.001308;
- return $z2;
- }
Поиском нашел функцию cnd - точнее я нашел php-формулу Блэка-Шоулза и выдрал оттуда расчет функции нормального распределения.
Функции расчета плотности написал сам воспользовавшись ссылкой из Вики.
Ну и по аналогии с функцией cnd сделал расчет обратной функции нормального распределения - на основе аппроксимации (поэтому там две функции - обе с разной точностью одна до трех знаков после запятой, другая до четырх знаков).
Ковариация, как я понял, делается аналогично -- как дойдут руки выложу.
В итоге на все про все я потратил полдня - хотел сэкономить, но не получилось.
Пусть хотя бы другие не мучатся