Нужны были случайные числа, распределенные по нормальному закону распределения с заданным математическим ожиданием и дисперсией.
Где то так:
function Gauss(Mx, Sigma: Extended): Extended;
var
a, b, r, Sq: Extended;
begin
repeat
a := 2 * Random - 1;
b := 2 * Random - 1;
r := Sqr(a) + Srq(b);
until r ‹ 1;
Sq := Sqrt(-2 * Ln(r) / r);
Result := Mx + Sigma * a * Sq;
end;
Но оказалось, что в kolmath.pas есть нормально распределенные Гаусса.
{ RandG produces random numbers with Gaussian distribution about the mean.
Useful for simulating data with sampling errors. }
function RandG(Mean, StdDev: Extended): Extended;
nesco, может добавишь строчку в hiMathParse, или в hiRandom?
Этот топик читают: Гость
Ответов: 2059
Рейтинг: 132
|
|||
карма: 6 |
|
Ответов: 8921
Рейтинг: 823
|
|||
flint2, в Random уже добавлено на SVN
|
|||
карма: 19 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Леонид, Благодарю!!!
|
|||
карма: 6 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Ребята, моя не понимать!
Как же мне рулить с этой ассемблерной штукой? Да, есть такая штука (в ассемблере пестрит в инете). Но нужно то рулить корреляцияцией, а не от и до. (По этому делаю в IC) Важна ширшина и форма https://en.wikipedia.org/wiki/Normal_distribution Что выше приводил из kolmath.pas - вполне. В двух словах - делаю для внука случайные ландшафты для уровней (есть хорошие программы для ландшафтов и растительности, но приручить крайне неудобно. Делал конвертацию... Лучше сделать своё) MAV Есть старый https://yadi.sk/d/BVyAReZ3wxb8x и новый https://yadi.sk/d/jT88yqpywxb7M Так со старым все шейдеры и текстуры идут, как из пистолета (хотя не спец, я только учусь), а новый (какой сейчас) - то не компилируется, то хрень какая то. Чего я не догоняю? Редактировалось 5 раз(а), последний 2016-10-17 01:23:30 |
|||
карма: 6 |
|
Ответов: 8921
Рейтинг: 823
|
|||
flint2, точки Min Max оставлены чтобы вид кубика был прежний
Min = Медиана - Отклонение Max = Медиана + Отклонение Схемка
|
|||
карма: 19 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Спасибо Леонид!
Буду разбираться. С первого раза не получилось, чего хотел. Мне надо менять отклонение, при одной и той-же медиане, т.е. Нижний график должен менять свою "пологость" в бо`льших пределах. Разберусь, тогда отпишусь. Спасибо большое за пример. |
|||
карма: 6 |
|
Ответов: 8921
Рейтинг: 823
|
|||
flint2, нижний график в относительных единицах, если поставить абсолютные, тогда и будет меняться "пологость" :-)
пологость
|
|||
карма: 19 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Леонид, спасибо!
Уже разобрался. Всё заработало! https://yadi.sk/i/Y0ccx3luwzJVk https://yadi.sk/i/YAXEu_8ZwzJUj Ещё раз спасибо! P.S. А вот несколько иной подход https://habrahabr.ru/post/275727/ Редактировалось 1 раз(а), последний 2016-10-17 14:16:18 |
|||
карма: 6 |
|
8