Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2017, 11:59   #1
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию Генератор чисел (программирование Си)

Сгенерировать число равномерно от 0 до 1-это у меня получается:
int main()
{
double a[2]={0};
srand(time(NULL));
for(int chislo=0;chislo<2;chislo++)
{
a[chislo]=0+rand()%1;
printf("%i\n",a[chislo]);
}
Найти случайную величину( случайная величина -это сумма от рандомного)
Как это дописать? И правильно ли я делаю?
Кристина1998 вне форума Ответить с цитированием
Старый 21.02.2017, 13:14   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Случайные величины характеризуются законом аспределения.https://ru.wikipedia.org/wiki/%D0%A1...B8%D0%BD%D0%B0 И равномерное распределение - один из частных случаев. И "Найти случайную величину" - бессмысленное выражение. Можно сгенерировать одно или несколько значений, распределенных по заданному закону, можно по заданному набору случайных величин вычислить (найти ) параметры распределения. А в данном случае - что ? Найти случайную величину ? Та пожалуйста - 0.73218 . И пусть в меня кинет тапком тот, кто докажет, что она - не случайная. Если нужно нормальное распределение, то оно приблизно так
Код:
   double S = 0.;    
    for (int i = 0; i < 12; ++i) 
        S += (double)rand() / RAND_MAX;
 
   return S - 6.;

Последний раз редактировалось digitalis; 21.02.2017 в 13:27.
digitalis вне форума Ответить с цитированием
Старый 26.02.2017, 16:35   #3
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Случайные величины характеризуются законом аспределения.https://ru.wikipedia.org/wiki/%D0%A1...B8%D0%BD%D0%B0 И равномерное распределение - один из частных случаев. И "Найти случайную величину" - бессмысленное выражение. Можно сгенерировать одно или несколько значений, распределенных по заданному закону, можно по заданному набору случайных величин вычислить (найти ) параметры распределения. А в данном случае - что ? Найти случайную величину ? Та пожалуйста - 0.73218 . И пусть в меня кинет тапком тот, кто докажет, что она - не случайная. Если нужно нормальное распределение, то оно приблизно так
Код:
   double S = 0.;    
    for (int i = 0; i < 12; ++i) 
        S += (double)rand() / RAND_MAX;
 
   return S - 6.;
Всё равно не очень понимаю про то, как написать вторую часть программы:т.е надо генерировать число от 0 до 1 N раз и каждый раз складываешь в каком-то счётчике и это будет ответ? только как это реализовать с помощью кода?
Изображения
Тип файла: jpg JEepipK0p0s.jpg (101.1 Кб, 140 просмотров)
Кристина1998 вне форума Ответить с цитированием
Старый 26.02.2017, 16:57   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

У вас как я понял речь о 2-х случайных величинах.
СВ X - равномерно распределенная на [0;1],
СВ Y = сумма N штук X. При достаточно большом N эта Y будет почти нормально распределенной ( центральная предельная теорема ).
type_Oleg вне форума Ответить с цитированием
Старый 26.02.2017, 17:51   #5
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
У вас как я понял речь о 2-х случайных величинах.
СВ X - равномерно распределенная на [0;1],
СВ Y = сумма N штук X. При достаточно большом N эта Y будет почти нормально распределенной ( центральная предельная теорема ).
получается, что два распределения
как написать вторую часть?
Кристина1998 вне форума Ответить с цитированием
Старый 27.02.2017, 11:46   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от Кристина1998 Посмотреть сообщение
как написать вторую часть?
Это же элементарно, Ватсон. Вы что сумму не можете вычислить?
Тем более вам показали в #2
type_Oleg вне форума Ответить с цитированием
Старый 27.02.2017, 18:01   #7
Мановар
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 84
По умолчанию

Цитата:
Сообщение от Кристина1998 Посмотреть сообщение
случайная величина -это сумма от рандомного
А что же тогда означает понятие рандомное число? Это что уже не случайное число?
Может надо сгенерировать N случайных чисел в диапазоне [0;1], а затем найти их сумму. Потом прямо напрашивается / на N и получить мат.ожидание.
Мановар вне форума Ответить с цитированием
Старый 27.02.2017, 20:10   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от Мановар Посмотреть сообщение
и получить мат.ожидание
Это будет не мат. ожидание, а среднее выборочное.
Тоже кстати, случайная величина.
type_Oleg вне форума Ответить с цитированием
Старый 27.02.2017, 20:55   #9
Мановар
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 84
По умолчанию

http://stratum.ac.ru/education/textb...lection22.html
http://profbeckman.narod.ru/MOM.files/Gl1.pdf
1.2.1 Математическое ожидание (среднее арифметическое)
Основной характеристикой положения центра распределения является математическое
ожидание (среднее арифметическое).
В основных характеристиках некоторых теоретических распределений математическое ожидание то же так же находится.
В данных случаях, наверное, оно используется более узко чем у Вас, потому что встречал и такое.

Последний раз редактировалось Мановар; 27.02.2017 в 21:12.
Мановар вне форума Ответить с цитированием
Старый 27.02.2017, 21:31   #10
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от Мановар Посмотреть сообщение
Может что то не так понял
Просто термины перепутал.
Там по твоей ссыле - формула для вычисления выборочного среднего, а не матем. ожидания

Их часто путают, потому что выборочное среднее является оценкой мат. ожидания.
Мат. ожидание - это число, параметр, а не случ. величина. В данном случае оно 0,5. А выборочное среднее - случ. величина. Конечно, чем больше N, тем оно "менее случайное".

PS Они совпадут, если будет исчерпывающая выборка. Например, имеется массив 1000 чисел. Выбрали все 1000, посчитали среднее - это будет и выборочное среднее и мат. ожидание.
Но в случае генератора так не получится, потому что объем массива бесконечный. Генератор же может работать сколько угодно.

Последний раз редактировалось type_Oleg; 27.02.2017 в 21:37.
type_Oleg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
5.Создать файл из 100 целых чисел, лежащих на отрезке [150,9000], используя генератор случайных чисел. -Вывести эти viktoriya95 Паскаль, Turbo Pascal, PascalABC.NET 0 21.02.2014 22:36
генератор чисел -=zAA=- Помощь студентам 23 17.08.2012 23:22
C++ генератор чисел proteo Помощь студентам 0 28.11.2010 20:33
Генератор чисел MDS Помощь студентам 0 07.04.2010 19:38
Генератор чисел. TheWanderer Общие вопросы C/C++ 13 16.10.2008 16:49