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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2017, 22:29   #1
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию Смоделировать непрерывный источник сообщений в соответствии с параметрами, Закон распределения случайной величины

Смоделировать непрерывный источник сообщений в соответствии с параметрами, Закон распределения случайной величины
Равномерный (a=1, b=3), произвести вычисление оценок его основных статистических характеристик, а также построить гистограмму распределения вероятностей.

Не знаю как на этом форуме пишутся значения поэтому прилагаю картинку надеюсь ругаться не будут.

Статистические характеристики:
Изображения
Тип файла: png 1.png (1.5 Кб, 141 просмотров)
Мария34 вне форума Ответить с цитированием
Старый 30.04.2017, 22:47   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Покажите свои наработки, конкретные вопросы и т.п.

Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.04.2017, 23:18   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Он вам поможет:
Изображения
Тип файла: jpg GMu.jpg (53.5 Кб, 153 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 19.05.2017, 10:10   #4
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

Тема все еще актуальна, не могу понять с чего начать вот методичка. Может хотя бы подскажите первые несколько действий, а я попробую начать просто вообще даже начальный план в голову не лезит.
Вложения
Тип файла: rar Источник сообщений.rar (96.5 Кб, 14 просмотров)
Мария34 вне форума Ответить с цитированием
Старый 19.05.2017, 10:48   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

В методичке, выложенной вами, есть не только готовые фрагменты кода, но и пример по вашему варианту.
В чем проблема? Что не получается?
Как сформировать N случайных чисел, как посчитать среднее, дисперсию, ...
Покажите, что с 30.04.2017 по сегодня сделано?
Сама методичка то читалась?
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 19.05.2017, 12:37   #6
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

Методичку раз 6 перечитывала да, что там есть как пример к моему варианту, но я все равно не никак не въеду. Тут еще рекомендации к этой работе:
1. Формируется массив реализаций случайной величины r, распределенной по равномерному закону на интервале от 0 до 1. Для этого используется встроенный датчик случайных чисел. Объем массива J не менее 1000 элементов.
2. В соответствии с заданным вариантом производится моделирование непрерывного ИС с требуемым законом распределения.
3. Вычисляются оценки статистических характеристик и пара-метров гистограммы для массива реализаций смоделированного не-прерывного источника. На графике гистограммы строится для сравнения аналитическая форма ФПВ f(x). Число шагов гистограммы выбирается не более (10…15).

Не понимаю вот что нужно с начало произвести вычисление оценок его основных статистических характеристик?
В методичке есть готовый код, но я не пойму он что к любому закону подходит?

Если можно скажите для начала что нужно сделать?

ТАк кажется начинаю понимать для моего варианта мне нужно вот это код чуток переделать
Код:
Program RavnAB;
Var
  a,b,r,x :real;
  N,i :word;
Begin
  Write(’Задайте границы интервала а и b:’);
  ReadLn(a,b);
  Write(’Количество случайных чисел N:’);
  ReadLn(N);
  Randomize;
  For i:=1 to N do begin
    r:=Random;
    x:=a+r*(b-a);
    WriteLn(’x’,i:5,’=’,x:5:3); {обработка x}
  end;
  WriteLn(’Моделирование завершено’);
End.
под эту рекомендацию, наверно так.

Формируется массив реализаций случайной величины r, распределенной по равномерному закону на интервале от 0 до 1. Для этого используется встроенный датчик случайных чисел. Объем массива J не менее 1000 элементов.

Последний раз редактировалось Вадим Мошев; 21.05.2017 в 11:57.
Мария34 вне форума Ответить с цитированием
Старый 19.05.2017, 21:58   #7
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Вроде все поняли правильно.
Датчик псевдослучайных чисел формирует числа в диапазоне [0,1)
(1 - не входит в диапазон). Вероятность равномерно распределена в этом диапазоне.
Надо описать массив на 1000 событий типа real, например, и далее, используя приведенные в методичке фрагменты, вычислить среднее, дисперсию и сигму, которая корень из дисперсии.
Вот если бы было другое распределение, то надо было бы поискать формулы, которые позволяют перевести равномерное распределение в то, которое

Дерзайте и все будет получаться, еще и подругам успеете помочь ...

PS: Да не забудьте мин и макс найти. Это просто.
Переменным min и max присваиваете первый элемент массива. Просматриваете все остальные элементы
и сравниваете с min и max. Как только элемент больше max, так его туда сохраняем, а если меньше min то в min и передаем.
Как-то так, ...

Последний раз редактировалось ViktorR; 19.05.2017 в 22:03.
ViktorR вне форума Ответить с цитированием
Старый 19.05.2017, 22:28   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Для проверки. Оценка Mx должна получиться ~ (a+b)/2 = 2
Оценка дисперсии Dx ~ ((b-a)^2)/12 = 0.3333333
Чем больше чисел, тем меньше отклонение. При 1000 числах - достаточно точно.
σX= корень из Dx
type_Oleg вне форума Ответить с цитированием
Старый 19.05.2017, 23:40   #9
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

Еще уточнить тогда я должна использовать такую формулу?
Изображения
Тип файла: png 1.png (3.3 Кб, 105 просмотров)
Мария34 вне форума Ответить с цитированием
Старый 20.05.2017, 00:37   #10
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Цитата:
Сообщение от Мария34 Посмотреть сообщение
тогда я должна использовать такую формулу?
Когда поймете, что такое массив в Паскале, тогда это для вас будет само собой.

Ладно, как говорят девачки, легче дать, чем объяснить, почему не хочу..
Немного надо доделать - у меня сделано только для 1000, и макс и мин не посчитаны.
Код:
program Maria34;

const NMAS=1000;
type tMass=array[1..NMAS]of Extended ;

Procedure Otcenki(const x: tMass;var Mx,Dx:Real);
Var
  i:integer;
Begin
  Mx:=0; Dx:=0;
  For i:=1 to NMAS do Mx:=Mx+x[i];
  Mx:=Mx/NMAS;
  For i:=1 to NMAS do Dx:=Dx+Sqr(x[i]-Mx); // хотя это тупой способ, но это из методички
// не беспокойтесь, это правильно , просто есть способ быстрее
  Dx:=Dx/NMAS;
end;
//
Var
  Mx,Dx,a,b,r:real;
  x:tMass;
  i :word;
Begin
  Write('a  b:   ');
  ReadLn(a,b);
  Randomize;
  For i:=1 to NMAS do
   begin
    r:=Random;
    x[i]:=a+r*(b-a);
   end;
  Otcenki(x,Mx,Dx);
  WriteLn(Mx,Dx,Sqrt(Dx));
  ReadLn;
End.
проверил, работает

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти значение случайной величины по методу Монте-Карло Вероника99 Помощь студентам 0 13.07.2016 19:41
математическое ожидание для дискретной случайной величины Делфи 7 программирование Помощь студентам 2 10.10.2013 21:39
Нормальный (Гауссовский) закон распределения VOVA-74 C++ Builder 0 19.02.2013 18:33
закон распределения Эрланга. Lenr88 Паскаль, Turbo Pascal, PascalABC.NET 0 13.02.2012 12:56