Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/34: Рейтинг темы: голосов - 34, средняя оценка - 4.97
12 / 12 / 2
Регистрация: 09.11.2013
Сообщений: 85
1

Нормальное распределение

06.01.2014, 14:08. Показов 6662. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! Суть программы заключается в том, что в файле есть какие-то статистические данные в виде матрицы (в моем случае это показатели рождаемости). Как я понимаю, они будут типа double. В принципе их можно вывести. Затем на основе этих данных генерируется матрица со случайными нормально распределенными величинами (если мне память не изменяет, то они генерируются методом гаусса). Далее эти матрицы перемножаются. Если кому интересно, то я пытаюсь написать демографическую модель Лесли. Общая формула представляется в виде Xt+1 = L*Xt, где Xt и Xt+1 - это векторы населения, а L - это матрица Лесли. То есть если их перемножить, мы получим прогнозирование данных на один год. Чтобы сделать прогноз на несколько лет, нужно полученную матрицу умножить на вновь сгенерированную и.т.д.
Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2014, 14:08
Ответы с готовыми решениями:

Фишера-Снедекора распределение (F-распределение)
Добрый день. Кто-нибудь знает как считается F-распределением Фишера с m и n степенями свободы и...

Нормальное значение косинуса
float x = 1.57079637; cos(x) ~ -4.32051034e-8; Как нормально взять косинус? что бы было ~0

Как это перевести в нормальное выражение?
x /= x & -x; Я так понял то что "/=" это значит поделить. "-x" это минус, но только от...

Где найти нормальное описание языка IDL?
Pnite chainika po teme. Gde mozhno po normalnomu (na russkom, angliiskom, nemezkom ili ......

5
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
06.01.2014, 14:35 2
Код в студию.
0
12 / 12 / 2
Регистрация: 09.11.2013
Сообщений: 85
06.01.2014, 14:56  [ТС] 3
Цитата Сообщение от outoftime Посмотреть сообщение
Код в студию.
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
// нормально распределенная велечина
#include "stdafx.h"
#include <conio.h> 
#include <iostream>
#include <iomanip>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <random>
#include <string>
using namespace std;
 
int main()
{
  const int nrolls=10000;  // number of experiments
  const int nstars=1000;    // maximum number of stars to distribute
 
  std::default_random_engine generator;
  std::normal_distribution<double> distribution(5.0,2.0);
 
  int p[90]={};
 
  for (int i=0; i<nrolls; ++i) {
    double number = distribution(generator);
    if ((number>=0.0)&&(number<90.0)) ++p[int(number)];
  }
 
  std::cout << "normal_distribution (5.0,2.0):" << std::endl;
 
  for (int i=0; i<90; i+=5) {
    std::cout << i << "-" << (i+4) << ": ";
    std::cout << std::string(p[i]*nstars/nrolls, '*') << std::endl;
  }
  getch();
  return 0;
  
}
Пока что пытаюсь сгенерировать нормально распределенную случайную величину. Вместо чисел идут звездочки (хотел в виде гистограммы составить). Но лучше сделать числа. Это пока все, что я успел и смог сделать. Слева - это возраст, а вместо звездочек должно быть количество человек.
0
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
07.01.2014, 00:39 4
Цитата Сообщение от IntelCoreDuo Посмотреть сообщение
for (int i=0; i<90; i+=5) {
* * std::cout << i << "-" << (i+4) << ": ";
Что ты хочешь этим сделать? Почему не выводить все значение от 0 до 90, зачем шаг 5?
0
12 / 12 / 2
Регистрация: 09.11.2013
Сообщений: 85
07.01.2014, 10:53  [ТС] 5
Цитата Сообщение от outoftime Посмотреть сообщение
Что ты хочешь этим сделать? Почему не выводить все значение от 0 до 90, зачем шаг 5?
Это я вывожу возраст населения с шагом в 5 лет.
0
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
07.01.2014, 11:16 6
IntelCoreDuo, брал бы среднее значение что-ли.
Цитата Сообщение от IntelCoreDuo Посмотреть сообщение
const int nstars=1000; * *// maximum number of stars to distribute
А это лучше сделайте не больше 80 (количество символов в строке в консоли, точное значение не помню)
1
07.01.2014, 11:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2014, 11:16
Помогаю со студенческими работами здесь

GetFrameTime() выдает нормальное время кадра только со второго прохода по циклу
while(1) { frameTime = GetFrameTime(); // есть функция возвращает время 1 кадра....

Генерация случайных чисел. Нормальное распределение
Стоит задача сгенерировать 800 случайных чисел с заданным мат.ожиданием и отклонением за законом...

Нормальное имя устройства
Суть такая пишу на VB.net но что-то не увидел там людей более умных по winapi) Да и суть не...

Нормальное оформление программ.
Как сделать так, чтобы вместо консоли открывалось виндовское окно?? То есть, нужно сделать норм...

Не могу получить нормальное число
Здравствуйте. Имеется arduino, которая через rs232 кидает текущую температуру с датчиков....

Не могу сделать нормальное заполнение StringGrid
Помогите реализовать в коде эту идею:Первое число ставится рандомно. Для того, что бы компьютер...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru