Нормальное распределение - страница 2

 
Mathemat:

Это не самый быстрый вариант, но тоже неплохо. Есть другие способы, но они все опираются на первоначальную генерацию равномерно распределенной величины.

А этот способ чем плох? ->
jartmailru:
Ну, как вариант- генерируем массив нормально распределенной величины
и по ранду таскаем из него элементы, обнуляя, чтобы не использовать дважды один и тот же элемент.
Генерируем массив значения[100] и количества[100].
.
В массиве значения[]- просто последовательные значения от Начало до Конец с шагом Шаг.
Массив количества[] заполняем значениями ф-ции распределения- чтобы- образно говоря-
получить колокол посередине. Типа СколькоВсегоЭлементов * ПлотностьВероятностиВТочке.
.
Когда считываем значения- количество уменьшаем на 1.
Работаем пока все элементы массива количества[] не обнулятся.
.
Можно и одним массивом обойтись.
 

Какие значения, какие количества, jartmailru? Вы пока еще не предложили ничего конкретного.

К тому же функция распределения тут неэлементарная, геморра будет предостаточно.

А у меня все просто (с точки зрения кода), т.к. нужная функция уже есть в библе.

 
jartmailru:

Какие промежуточные цвета, сколько цветов в результате?


А на чем коды?

Пока такая картинка . Там кластеризован числовой ряд 0...2000. Вроде как кластеризован правильно . Только оттенки розового цвета надо переместить в область зелено голубых тонов или вообще исключить, тогда не красиво .Проблема в восприятии . Для человека самые светлые желто голубые тона, лежащие в середине спектра .В идеале хотелось бы то что вы нарисовали только в цвете.

Коды на Mql5.



 
Цвета, про которые я спрашиваю- это коды конкретных цветов.

Например, 2 цвета черный- красный дадут градиент от черного до красного.
Цвета радуги дадут спектр.

Можно сгенерировать градиент без черного.

Ну, Mql5- ет грустно :-).
 
Mathemat:

Какие значения, какие количества, jartmailru? Вы пока еще не предложили ничего конкретного.

К тому же функция распределения тут неэлементарная, геморра будет предостаточно.

А у меня все просто (с точки зрения кода), т.к. нужная функция уже есть в библе.

Конкретное предложил. Детали не важны.

Берем формулу
http://upload.wikimedia.org/wikipedia/ru/math/9/0/d/90de8d94f63327535b9f5e80740f41b3.png

корректируем x = номерЭлементаВМассиве - 50 для массива размером 100
и получаем функцию для заполнения массива количества[].

Так можно вообще любое распределение нарисовать.

Похоже рисуются коэффициенты к КИХ фильтрам.
Как это может быть "неконкретным".

 

Не, jartmailru, Вы не очень хорошо понимаете, что такое случайная величина. Она ж ведь не знает, какое значение она принимала до этого. А у Вас знает, т.к. они каждый раз специально разные:

Когда считываем значения- количество уменьшаем на 1.
Работаем пока все элементы массива количества[] не обнулятся.

Нормально распределенная величина может принять очень близкие и даже равные значения несколько раз подряд. А у Вас так не получится.
 
Mathemat:

Нормально распределенная величина может принять очень близкие и даже равные значения несколько раз подряд. А у Вас так не получится.

А что ей помешает-то? стандартный ранд после randomize() может давать одинаковые (близкие) значения.
Впрочем, если элементов 100, а цикл rand() = 32768, то даже randomize() особо не нужен.
.
Есть два мешка- в одном кубики, во втором мячи.
Случайно выбираем мешок и достаем случайную величину.
.
Почему они будут всегда разные?

 
Mathemat:

Да вот такой скрипт:

Инклюдник Probability.mqh кидаешь в \include, а Probability.dll - в \libraries. Во втором, кстати, достаточно и других полезных функций.

Входные параметры - сигма и матожидание.

Это не самый быстрый вариант, но тоже неплохо. Есть другие способы, но они все опираются на первоначальную генерацию равномерно распределенной величины.

Он наоборот просит: имеется рэнд из MQL4, а надо сделать нормально распределенную.


Mathemat,

Can you give some ideas about how to implement and/or benefit from the probability files?

 
ivandurak:

Господа подскажите как переделать Ранд в нормально распределенный генератор . Кохонена погонять нужно . А то неделю в глубокой жо... отладке, туплю неимоверно .


https://en.wikipedia.org/wiki/Normal_distribution#Generating_values_from_normal_distribution

 
yacoov: Can you give some ideas about how to implement and/or benefit from the probability files?
Did you fail to execute the script?
Причина обращения: