Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> генератор НЕслучайных чисел, нормальное распределение (для примера) 
:(
    Опции темы
DmitryKh
Дата 9.8.2011, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.11.2009

Репутация: нет
Всего: нет



Всем доброго вечера.

Встала проблема, сгенерировать числа - но не равновероятно а и использованием непрерывного нормального распределения.

Проще говоря (пример): 

user posted image

смотрим на распределение с мат.ожиданием = 0, ср. квадратичным отклонением = 0.2

Наобходимо сделать такой генератор, который будет иметь скученность в районе мат ожидание +-дисперсия.
Т.е. вероятнее всего быть сгенерированным числу 0, в зоне "большой вероятности" также 0+-0.2, остальные числа генерируются с малой вероятностью.
PM MAIL   Вверх
luxadevianta
Дата 10.8.2011, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 14.12.2007

Репутация: нет
Всего: 2



метод обратной функции распределения. Завтра напишу подробнее, если никто не успеет.
PM   Вверх
DmitryKh
Дата 10.8.2011, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.11.2009

Репутация: нет
Всего: нет



Цитата(luxadevianta @ 10.8.2011,  02:17)
метод обратной функции распределения. Завтра напишу подробнее, если никто не успеет.

ну обратную функцию я уже вывел (точнее её 2 половины) на листочке, но посудите опять же:
если у меня была функция P(x) то теперь есть P^(-1)(x) = X(p). 
Но ведь даже и в этом случае, p генерятся равновероятно и получаются равновероятные X - т.е. получаются те же яйца только в профиль (точнее перевёрнутые на Pi/2)

PS заодно спрошу как в VB.NET реализовать функцию erf? может взять где нибудь?

Это сообщение отредактировал(а) DmitryKh - 10.8.2011, 07:38
PM MAIL   Вверх
luxadevianta
Дата 10.8.2011, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 14.12.2007

Репутация: нет
Всего: 2



Проще всего сделать таблицу значений вот этой вот ф-ции X в твоих обозначениях и крутить её. Аналитически, еслимне память не изменяет для неё обратная не выражается, либо весьма громоздка. Точно не припомню - третий курс был давно. Но табличный метод реализации был рекомендован. Могу предложить реализацию метода в матлабе.
PM   Вверх
DmitryKh
Дата 10.8.2011, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.11.2009

Репутация: нет
Всего: нет



Цитата(luxadevianta @ 10.8.2011,  09:40)
Проще всего сделать таблицу значений вот этой вот ф-ции X в твоих обозначениях и крутить её. Аналитически, еслимне память не изменяет для неё обратная не выражается, либо весьма громоздка. Точно не припомню - третий курс был давно. Но табличный метод реализации был рекомендован. Могу предложить реализацию метода в матлабе.

я думал может библиотечка есть какая со встроенным нормальным распределением 
типа функции normal.rand(Mu,Sigma) возвращающей x, где нормальное распределение - функция P(x)

вот было бы супир! smile  

Это сообщение отредактировал(а) DmitryKh - 10.8.2011, 10:55
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.