|
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
|
|
Моделирование случайных чисел с экспоненциальным законом распределения03.04.2012, 00:11. Показов 37655. Ответов 27
Метки нет (Все метки)
Программирования случайных чисел с экспоненциальным законом распределения. Товарищи помогите пожалуйста.
0
|
|
| 03.04.2012, 00:11 | |
|
Ответы с готовыми решениями:
27
Как подобрать последовательность 100 случайных чисел с экспоненциальным законом на C++ |
|
|
||||||
| 03.04.2012, 00:52 | ||||||
Сообщение было отмечено как решение
Решение
Логарифмическая функция распределения
F=1-exp(-lx) Тебе нужна обратная ей функция. То есть по оси F откладываем случайные числа от 0 до 1 с равномерным распределением, а соответствующие им значения на оси x будут случайными, распределёнными по нужному нам закону. Функция распределения F=1-exp(-lx) Обратная ей будет x=ln(1-F)/(-l) В итоге получаем F=rand()/RAND_MAX;//нецелочисленное деление x=ln(1-F)/(-l) 1-F распределена точно так же, как F, поэтому x=ln(F)/-l=ln( rand()/RAND_MAX )/-l=( ln(rand()) - ln(RANDMAX))/(-l) Итог:
3
|
||||||
|
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
|
|
| 03.04.2012, 17:13 [ТС] | |
|
както слишком просто)
Добавлено через 4 минуты Компилятор на всё ето говорит ерор
0
|
|
|
|
|
| 03.04.2012, 17:32 | |
|
Ну наверное надо ещё добавить, какой еррор.
1
|
|
|
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
|
|
| 03.04.2012, 17:36 [ТС] | |
|
1>c:\users\славiк\documents\visual studio 2010\projects\slavik15\slavik15\slavik15 .cpp(7): error C2601: getLrand: недопустимые локальные определения функций
1> c:\users\славiк\documents\visual studio 2010\projects\slavik15\slavik15\slavik15 .cpp(5): эта строка содержит "{", которая пока не имеет парной 1>c:\users\славiк\documents\visual studio 2010\projects\slavik15\slavik15\slavik15 .cpp(8): error C2065: RAND_MAX: необъявленный идентификатор 1>c:\users\славiк\documents\visual studio 2010\projects\slavik15\slavik15\slavik15 .cpp(8): error C3861: ln: идентификатор не найден 1>c:\users\славiк\documents\visual studio 2010\projects\slavik15\slavik15\slavik15 .cpp(8): error C3861: rand: идентификатор не найден 1>c:\users\славiк\documents\visual studio 2010\projects\slavik15\slavik15\slavik15 .cpp(8): error C3861: ln: идентификатор не найден Добавлено через 1 минуту И как ещо вывести на екран примерно 100 результатов?
0
|
|
|
|
||||||
| 03.04.2012, 18:16 | ||||||
|
Так ты это не тупо копируй в программу.
Я думал ты умеешь хоть что-то программировать. Когда ты заговорил о числах с экспоненциальным законом распределения, я подумал: ну уж наверное он знает, что такое случайные числа и может написать в программе простейший генератор равномерно распределённых на интервале чисел. А это оказывается твоя первая программа! Брось её и пиши Hello World! Приди к тому кто тебе дал задание и скажи "для меня это сложно, научи меня программировать сначала". Ты хоть понимаешь, что если я напишу её целиком, у тебя умений от этого всё равно не прибавится? Открой Шилдта или Страуструппа и читай!
3
|
||||||
|
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
|
|
| 03.04.2012, 18:29 [ТС] | |
|
Очень болшое спасибо. Я уже умею немного, просто с генератором перый раз столкнулся.
0
|
|
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
||
| 03.04.2012, 18:57 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
|
|
| 03.04.2012, 19:56 [ТС] | |
|
а ln ето логарифм натуральный? А то мне ошыбку выдает
0
|
|
|
|
|||
| 03.04.2012, 20:01 | |||
|
Добавлено через 3 минуты
2
|
|||
|
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
|
|
| 03.04.2012, 20:09 [ТС] | |
|
если я делаю замену на log то мне выбивает
1>c:\users\славiк\documents\visual studio 2010\projects\slavi16\slavi16\slavik16.c pp(7): error C2668: log: неоднозначный вызов перегруженной функции 1> e:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(575): может быть "long double log(long double)" 1> e:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(527): или "float log(float)" 1> e:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(120): или "double log(double)" 1> при попытке сопоставить список аргументов "(int)" 1>c:\users\славiк\documents\visual studio 2010\projects\slavi16\slavi16\slavik16.c pp(7): error C2668: log: неоднозначный вызов перегруженной функции 1> e:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(575): может быть "long double log(long double)" 1> e:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(527): или "float log(float)" 1> e:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(120): или "double log(double)" 1> при попытке сопоставить список аргументов "(int)" 1>c:\users\славiк\documents\visual studio 2010\projects\slavi16\slavi16\slavik16.c pp(13): error C3861: printf: идентификатор не найден 1>c:\users\славiк\documents\visual studio 2010\projects\slavi16\slavi16\slavik16.c pp(15): error C3861: scanf: идентификатор не найден 1>c:\users\славiк\documents\visual studio 2010\projects\slavi16\slavi16\slavik16.c pp(16): error C3861: printf: идентификатор не найден 1>c:\users\славiк\documents\visual studio 2010\projects\slavi16\slavi16\slavik16.c pp(18): error C3861: scanf: идентификатор не найден 1>c:\users\славiк\documents\visual studio 2010\projects\slavi16\slavi16\slavik16.c pp(21): warning C4244: аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных 1>c:\users\славiк\documents\visual studio 2010\projects\slavi16\slavi16\slavik16.c pp(25): error C3861: printf: идентификатор не найден 1>c:\users\славiк\documents\visual studio 2010\projects\slavi16\slavi16\slavik16.c pp(29): error C3861: getch: идентификатор не найден
0
|
|
|
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
|
|
| 03.04.2012, 20:14 | |
|
так надо подключить библиотеки
stdio.h conio.h math.h
0
|
|
|
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
|
|
| 03.04.2012, 20:19 [ТС] | |
|
подключены
0
|
|
|
|
||||||
| 04.04.2012, 00:18 | ||||||
|
Вот такой вариант однозначно работает
1
|
||||||
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|||||||
| 04.04.2012, 00:50 | |||||||
2
|
|||||||
|
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
|
|
| 04.04.2012, 16:00 [ТС] | |
|
А почему мне всегда видает результат -0,0000 ?
0
|
|
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|||||||
| 04.04.2012, 16:36 | |||||||
2
|
|||||||
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
|
| 04.04.2012, 19:36 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
|
|
| 04.04.2012, 21:35 [ТС] | |
|
а какой вариант правилный тот который ты дал или тамтой что выше ? Ато результати разные
0
|
|
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|
| 04.04.2012, 21:36 | |
|
1
|
|
| 04.04.2012, 21:36 | |
|
Помогаю со студенческими работами здесь
20
получения случайных чисел с заданным законом распределения
Генерация случайных величин с заданным законом распределения Моделирование случайной величины с экспоненциальным законом распределения методом обратной функции Как подобрать последовательность 100 случайных чисел с экспоненциальным законом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|