Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.91
hisp
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 14
#1

Найти математическое ожидание, дисперсию, и среднее квадратичное - C++

03.11.2010, 05:21. Просмотров 4600. Ответов 8
Метки нет (Все метки)

извините, я новичок на форуме и не знаю куда податься
дана задача:
задается таблица:
x| x1 | x2 | x3 | xn |x++... |
p| p1 | p2 | p3 | pn |p++... |
Найти: математическое ожидание, дисперсию, и среднее квадратичное
отклонение- это все я реализовал ;
но не могу додуматься как реализовать:
сумма p(вероятностей) всегда должна равнятся 1; если один из элементов не известен , то его необходимо найти по формуле (1 - (сумма известных вероятностей)), т.е если P|P1|P2|P3=?| то P3=1-(P1+P2); Как это сделать?
Помогите, пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2010, 05:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти математическое ожидание, дисперсию, и среднее квадратичное (C++):

Вычислить математическое ожидание, дисперсию и среднеквадратичное отклонение случайной величины - C++
Пусть массив X(N) - массив возможных значений некоторых случайных величин. Составить подпрограмму, которая вычисляет математическое...

Найти Мат.ожидание M= (1/N) S X(i), дисперсию, сред. кв. отклонение - C++
Друзья, нужна ваша помощь ! Кого не затруднит, пожалуйста, помогите с программкой. Ввести массив X(N). Найти • а) Мат.ожидание M=...

Найти среднее квадратичное элементов массива - C++
С++.Работаю на Visual Studio 2012. Помогите пожалуйста нужно посчитать "среднее квадратичное элементов массива"

Вычислить математематическое ожидание и дисперсию - C++
Ребятки, задание не сложное, даже наверно смешное, но никак не могу его сделать. Помогите пожалуйста) Дано целое n>1 и вещественные...

Математическое ожидание, дисперсия - C++
Добрый день, помогите пожалуйста решить такую задачу: На отрезке АВ длины а выбраны наудачу два отрезка одинаковой длины с . ...

Среднее квадратичное отклонение - C++
кто может помочь ? нужно написать функцию, которая определяет среднее квадратическое отклонение(СКО) последовательности введенных...

8
Runa
132 / 84 / 3
Регистрация: 28.08.2009
Сообщений: 363
03.11.2010, 06:00 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
printf("vvedite nomer neizvestnogo elementa p");
    scanf("%f",&f);
    float sum = 0;
    for(int i=0; i<n; i++)
    {
        if(i==f-1)
        {
            continue;
        }
        else
        {
            sum += p[i]; 
        }
    }
    float res = 1-sum;
    printf("neizvestni element = %f", res);
n - количество элементов p
f - номер элемента, который нужно вычислить
1
hisp
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 14
03.11.2010, 06:17  [ТС] #3
спасибо, попробую
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
03.11.2010, 17:45 #4
Можно вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <iostream>
#include <stdexcept>
#include <deque>
#include <cmath>
 
const double eps = .0001;
 
class prob
{
    double  p;
    bool    defined;
 
public:
    prob()
        : p ( 0 ), defined ( false ) {}
 
    prob ( double _p )
    {
        define ( _p );
    }
 
    void define ( double _p )
    {
        if ( ( _p > 1 ) || ( _p < 0 ) )
            throw std::domain_error ( "Illegal value" );
        p = _p;
        defined = true;
    }
 
    void undef()
    {
        p = 0;
        defined = false;
    }
 
    bool isDefined() const
    {
        return defined;
    }
 
    double value() const
    {
        if ( !defined )
            throw std::logic_error ( "Value is not defined" );
 
        return p;
    }
 
    friend std::ostream& operator << ( std::ostream& os, const prob& rhs )
    {
        if ( rhs.defined )
            os << rhs.p;
        else
            os << "<undef>";
        return os;
    }
};
 
bool lookupAndSet ( std::deque<prob>& ps )
{
    std::deque<prob>::iterator it = ps.begin();
    while ( ( it != ps.end() ) && it->isDefined() )
        ++it;
 
    // Если нашли неопределенное значение
    if ( it != ps.end() )
    {
        double undefValue = 1;
        for ( std::deque<prob>::const_iterator i = ps.begin(); i != ps.end(); ++i )
            if ( i != it )
                undefValue -= i->value();
 
        if ( undefValue < 0 )
            throw std::domain_error ( "Illegal value" );
 
        it->define ( undefValue );
        return true;
    }
    else // Если все значения известны
    {
        // Проверяем, равна ли сумма вероятностей единице
        double sum = 0;
        for ( std::deque<prob>::const_iterator i = ps.begin(); i != ps.end(); ++i )
            sum += i->value();
        if ( fabs ( sum - 1 ) > eps )
            return false;
        return true;
    }
}
 
int main()
{
    int i;
    std::deque<prob>::const_iterator it;
 
    std::deque<prob> w;
 
    w.push_back ( prob ( .3 ) );
    w.push_back ( prob ( .027 ) );
    w.push_back ( prob( ) );
    w.push_back ( prob ( .42 ) );
    w.push_back ( prob ( .011 ) );
 
    // Печать вероятностей до установки неизвестной
    std::cout << "The given probabilities:" << std::endl;
    for ( it = w.begin(), i = 0; it != w.end(); ++it, ++i )
        std::cout << "p[" << i << "] = " << *it << std::endl;
 
    if ( !lookupAndSet ( w ) )
    {
        std::cerr << "Error: sum of probabilities is more than 1" << std::endl;
        std::cerr << "The execution is aborting..." << std::endl;
        return 1;
    }
 
    std::cout << std::endl <<
              "The probabilities after lookup:" << std::endl;
    // Печать вероятностей после установки неизвестной
    for ( it = w.begin(), i = 0; it != w.end(); ++it, ++i )
        std::cout << "p[" << i << "] = " << *it << std::endl;
    return 0;
}
1
hisp
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 14
07.11.2010, 23:45  [ТС] #5
конечно спасибо, только мне в этом еще разбираться и разбираться)

Добавлено через 2 часа 47 минут
а по проще нельзя:?)
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
08.11.2010, 03:36 #6
Цитата Сообщение от hisp Посмотреть сообщение
а по проще нельзя:?)
конечно можно! См. второй пост этой темы
0
hisp
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 14
08.11.2010, 21:45  [ТС] #7
у меня так получилось
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int main()
{
  int i;
  int n;
  float sum=0;
  float st=0;
  cout << "vvedite kol-vo znach p:";
  cin >> n;
  float p[n];
  for (i=0;i<n;i++) 
  { 
        cout << "P" << i << "=";
        cin >> p[i];
  }
  for (i=0;i<n;i++)
  {
         if (p[i]!=0)
        {
              sum+=p[i];
              
        }
        
 } 
st=1-sum;
cout << st;
}
0
Runa
132 / 84 / 3
Регистрация: 28.08.2009
Сообщений: 363
09.11.2010, 02:09 #8
так получается, что у тебя вероятности, равной нулю вообще не бывает
0
hisp
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 14
09.11.2010, 20:35  [ТС] #9
ну в общем да, только у препода спросил, сказал ничего страшного все равно в учебниках не дают такого, чтобы для этой задачи вероятность была нулевая
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2010, 20:35
Привет! Вот еще темы с ответами:

Определить параметры распределения (мат.ожидание, дисперсию, СКО, коэф.корреляции) - C++
Короче дал мне препод формулы, сказал пишы програму, чтоб были классы и методы и все) Сказал програмируется только первая формула...

Среднее квадратичное отклонение от среднего арифметического - C++
Добрый день. сломал голову над САБЖ+ требуется найти среднее медианное. Помогите пож-та на примере уже готового массива, где среднее...

Требуется определить математическое ожидание в каждом массиве - C++
Доброго времени суток ребята! Мне нужна ваша помошь. Нужно решить вот такую вот задачу: &quot;имеется несколько массивов данных (разного...

Определить математическое ожидание дискретной случайной величины - C++
помогите решить задачи на C или C++: 1Дан двумерный массив элементов иллюстрирующий закон распределения дискретной случайно велечины ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
09.11.2010, 20:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru