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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2017, 12:26   #1
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию Построить доверительный интеграл

Народ такая просьба вот задание:

Истребитель, вооруженный двумя ракетами, посылается на перехват воздушной цели.
Вероятность вывода истребителя в такое положение, из которого возможна атака цели, равна p1.
Если истребитель выведен в такое положение, он выпускает по цели обе ракеты, каждая из которых
независимо от другой выводится в окрестность цели с вероятностью р2. Если ракета выведена в
окрестность цели, она поражает ее с вероятностью р3. Найти вероятность того, что цель будет
поражена.

Составить компьютерную программу, позволяющую с помощью метода Монте-Карло
определить требуемые вероятности. Для всех полученных вероятностей
построить доверительные интервалы.

Вот программка которая вычисляет вероятность, что цель будет поражена.
Код:
var p1,p2,p3:double;
     i,n,hits:integer;
     pp1,pp12,pp13,pp22,pp23:double;
     hit:boolean;
begin
write('Введите вероятности:');
read(p1,p2,p3);
write('Введите кол-во испытаний:');
read(n);
hits:=0;
for i:=1 to n do
   begin
   hit:=false;
   pp1:=random;
   if pp1<p1 then
      begin
      pp12:=random;
      if pp12<p2 then
         begin
         pp13:=random;
         if pp13<p3 then
            hit:=true;
         end;
      pp22:=random;
      if pp22<p2 then
         begin
         pp213:=random;
         if pp23<p3 then
            hit:=true;
         end;
      end;
   if hit then
      inc(hits);
   end;
writeln('P=',hits/n);
end.
Нужно к этой программке или отдельно сделать так что бы по той вероятности которая будет подсчитана в программе будет строится доверительный интеграл. Прошу помощи.
ИвановБ вне форума Ответить с цитированием
Старый 27.04.2017, 13:26   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А что такое доверительный интеграл?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.04.2017, 19:36   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от ИвановБ Посмотреть сообщение
Найти вероятность того, что цель будет
поражена.
P=p1*p2*p3
p2,p3 в данном случае - условные вероятности.


Цитата:
Сообщение от ИвановБ Посмотреть сообщение
доверительный интеграл
доверительный интеграл для чего ?

ДИ строится для какого-нибудь параметра распределения случайной величины.
Здесь можно - только для p1, или p2, или p3, или общего P.
Но для этого надо задать доверительную вероятность или надежность оценки. Обычно близкую к 1 - 0.95 или 0.99
type_Oleg вне форума Ответить с цитированием
Старый 27.04.2017, 19:47   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от ИвановБ Посмотреть сообщение
Для всех полученных вероятностей
построить доверительные интервалы.
А , оказывается для p1,p2,p3 , я сразу не заметил.
вот формула из Гмурмана. Правда, не знаю, как будете считать функцию Лапласа ( станд. норм. распределение).
Хотя можно просто взять конкретное значение t из таблиц, в качестве константы. Осталось задаться надежностью γ

Кстати, кроме n (число испытаний для p1 ), вам еще потребуется отдельно подсчитывать n2 (для p2) и n3 ( для p3).
Изображения
Тип файла: png inttt.PNG (60.0 Кб, 89 просмотров)

Последний раз редактировалось type_Oleg; 27.04.2017 в 20:15.
type_Oleg вне форума Ответить с цитированием
Старый 28.04.2017, 11:30   #5
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

Там моя опечатка доверительный интервал нужно что бы строился только для вероятности что цель будет поражена.
ИвановБ вне форума Ответить с цитированием
Старый 28.04.2017, 12:57   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Ну тогда проще.
n - вы вводите
m - это ваша hits,
w = m/n
t - берете из таблицы. Например, для γ=0.95 : t=1.96; для γ=0.99 : t=2.576

PS Кстати, вместо этого
Код:
if pp13<p3 then
            hit:=true;
проще так:
Код:
hit:=pp13<p3;
type_Oleg вне форума Ответить с цитированием
Старый 28.04.2017, 16:16   #7
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

Сможете наглядно в качестве примера? С программкой поможете. У меня с этой что бы вычислить вероятность туча времени ушло, с интервалом боюсь вообще.
ИвановБ вне форума Ответить с цитированием
Старый 29.04.2017, 01:28   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Добавить только это:
Код:
const
 T_LAPLACE=2.576; // t для доверительной вероятности 0.99
var dp:Double;
function fDp(t,w:Double;n:Integer):Double; // упрощенная формула, для больших n
begin
 fDp:=t*Sqrt(w*(1-w)/n);
end;
// после writeln('P=',hits/n); : 
 dp:=fDp(T_LAPLACE,hits/n,n);
 WriteLn('int: ',hits/n-dp,' .. ',hits/n+dp);
type_Oleg вне форума Ответить с цитированием
Старый 29.04.2017, 10:50   #9
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

Такой вопрос, не пойму пару раз проверял программку вроде все было норм, но теперь не пойму, какие бы значения не в водил бы такой ответ

Последний раз редактировалось ИвановБ; 29.04.2017 в 12:26.
ИвановБ вне форума Ответить с цитированием
Старый 29.04.2017, 12:27   #10
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

Толи я совсем дурак...
Изображения
Тип файла: png 1.png (472 байт, 105 просмотров)
ИвановБ вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задачи по теме "моделирование":1) построить модель на графе 2) построить табличную модель 3) решить задачу венгерским методом Елена3110 Помощь студентам 1 05.05.2013 11:03
В С++ найти интеграл функции, и построить график rybakov93 Помощь студентам 4 11.12.2012 13:56
Интеграл Psychoo Паскаль, Turbo Pascal, PascalABC.NET 2 07.11.2011 07:42
интеграл Feel401 Обсуждение статей 0 15.05.2011 12:27
Доверительный интервал для экспериментальной кривой rimini6131 Microsoft Office Excel 6 24.02.2011 15:32