0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 7
1

Оценка псевдослучайной последовательности

25.11.2016, 20:03. Показов 1995. Ответов 6
Метки нет (Все метки)

Задали семестровую. Не совсем понял суть задачи. Может кто-нибудь подсказать с чего начать?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2016, 20:03
Ответы с готовыми решениями:

Генерации псевдослучайной последовательности
Необходимо реализовать программу для генерации псевдослучайной последовательности с помощью...

Генерация неравномернораспределенной псевдослучайной последовательности
Здравствуйте. Смысл задания в следующем: - Нужно сгенерировать последовательность 0-ей и 1-ц. При...

Разработка программы Генератора Псевдослучайной Последовательности
Всем привет! Есть задача: написать программу Генератора Псевдослучайной Последовательности (ГПСП)...

Подсчитать количество членов псевдослучайной последовательности, попадающих в пределы отрезка [a, b]
Доброе время суток, я совсем не давно на с++ и не могу справиться с задачкой в которой нужно...

6
sourcerer
26.11.2016, 08:35
  #2
 Комментарий модератора 
Po4TalbEH_Pechk, пожалуйста, прочитайте правила форума.
Особое внимание обратите на пункт 5.18.
Задание перепишите вручную непосредственно в тело сообщения.
0
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 7
26.11.2016, 16:59  [ТС] 3
Пересоздать тему или отредактировать эту?
0
Эксперт CЭксперт С++
5084 / 2269 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
28.11.2016, 06:21 4
Po4TalbEH_Pechk, в этой теме условие задачи запостите текстом, а не картинкой.
0
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 7
29.11.2016, 22:30  [ТС] 5
Оценка псевдослучайной последовательности. Образовать последовательность псевдослучайных чисел по рекуррентной формуле https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}_{i}=F({x}_{i-1}, {x}_{i-2}, {x}_{i-3}, a) при заданных https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}_{0}, {x}_{-1}, {x}_{-2} и фиксированном значении https://www.cyberforum.ru/cgi-bin/latex.cgi?a, i=1,2,...,N. Подсчитать https://www.cyberforum.ru/cgi-bin/latex.cgi?{\xi }_{k}- количество чисел этой последовательности, оказавшихся в полуинтервале https://www.cyberforum.ru/cgi-bin/latex.cgi?\left[\frac{k}{R}, \frac{k+1}{R}  \right].
Вычислить математическое ожидание
https://www.cyberforum.ru/cgi-bin/latex.cgi?{M}_{\xi } = \sum_{R-1}^{k=0}\frac{2k+1}{2R}.\frac{{\xi }_{k}}{N};
и дисперсию
https://www.cyberforum.ru/cgi-bin/latex.cgi?{D}_{\xi } = \sum_{R-1}^{k=0}{(\frac{2k+1}{2R}-{M}_{\xi })}^{2}\frac{{\xi }_{k}}{N};
Провести вычисления для значения a=0 и а=1. Входными данными для программы служат значения https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}_{0}, {x}_{-1}, {x}_{-2}, N, R; выходными данными - массив https://www.cyberforum.ru/cgi-bin/latex.cgi?\xi \left[0, R-1 \right],, значения https://www.cyberforum.ru/cgi-bin/latex.cgi?{M}_{\xi}, {D}_{\xi} для каждого значения а=0, а=1.
В программе предусмотреть:
-процедуру-функцию, вычисляющую значение https://www.cyberforum.ru/cgi-bin/latex.cgi?F(x, y, z, a), с формальными параметрами https://www.cyberforum.ru/cgi-bin/latex.cgi?x, y, z, a;
-процедуру определения полуинтервала https://www.cyberforum.ru/cgi-bin/latex.cgi?\left[\frac{k}{R}, \frac{k+1}{R}  \right]., к которому принадлежит заданное число z, с прибавлением единицы к значению элемента массива https://www.cyberforum.ru/cgi-bin/latex.cgi?{\xi }_{k} - с формальными параметрами: числа R, Z и массив https://www.cyberforum.ru/cgi-bin/latex.cgi?\xi \left[0, R-1 \right],.
Исходные данные.
1. Функция https://www.cyberforum.ru/cgi-bin/latex.cgi?F(x, y, z, a)=T(f(x, y, z, a)) причем функция https://www.cyberforum.ru/cgi-bin/latex.cgi?f(x, y, z, a) определяется выражением https://www.cyberforum.ru/cgi-bin/latex.cgi?{\cos }^{2}(x+y-z-a);
2. Преобразование T(u) числа u задается следующим образом: если https://www.cyberforum.ru/cgi-bin/latex.cgi?{u}_{}=0, {u}_{1}, {u}_{2}, {u}_{3}...{u}_{10} - представление в виде двоичной дроби с точностью до десятого знака после запятой( то есть https://www.cyberforum.ru/cgi-bin/latex.cgi?{u}_{}={u}_{1}{2}^{-1}+{u}_{2}{2}^{-2}+ {u}_{3}{2}^{-3}+...), то https://www.cyberforum.ru/cgi-bin/latex.cgi?T(u)=0,{u}_{10},{u}_{9},{u}_{8}...{u}_{2},{u}_{1};;
Численные данные:
https://www.cyberforum.ru/cgi-bin/latex.cgi?N=100, R=10, {x}_{0}=0,025, {x}_{-1}=0,211, {x}_{-2}=0,714.

Добавлено через 7 часов 2 минуты
gru74ik, Почему ответ Similar не отображается когда я вхожу в систему?
P.s. Прошу прощения, что пишу сюда. Не разобрался еще с функционалом сайта.
0
Эксперт CЭксперт С++
5084 / 2269 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
30.11.2016, 08:06 6
Цитата Сообщение от Po4TalbEH_Pechk Посмотреть сообщение
Почему ответ Similar не отображается
Po4TalbEH_Pechk, это специальный форумный бот, насколько я понимаю. Почему не отображается - не знаю. Такие вопросы лучше задавать в соответствующие темы:
0
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 7
09.12.2016, 17:13  [ТС] 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
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
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
const int R=10, N=100;//исходные данные
double x[N]={0.025}, x_1=0.211, x_2=0.714, Ksi[R]={0};//x[-1], x[-2];
double preob(double f)//процедура преобразования T(f(x,y,z,a))
{
    double u[10], U=0; // массив для двоичного представления числа и промежуточная переменная
    for(int i=0; i<10;i++)// получение двоичного представления дробного числа до 10 знака
    {
        f*=2;//удвоение числа
        if(f>1) // в случае если результат умножения больше 1
        {
            u[i]=1;// записываем в ячейку массива 1
            f-=1; //отнимаем 1
        }
        else
            u[i]=0;
    }
    for(int i=0; i<4; i++)// Преобразование  T(u)
       swap(u[i],u[9-i]);
    double dva=0.5; // промежуточная переменная
    for(int i=0; i<10; i++)// преобразования в десятичную форму
    {
        U+=u[i]*dva; // умножение на число 2 в соответствующей степени
        dva/=2; // получение соответствующей степени числа 2
    }
    return(U);
}
 
double F(double x, double y, double z, double a) // процедура для рекурсивной формулы F(x,y, z, a)
{
    double p;
    p=pow(cos(x+y-z-a),2);
    p=preob(p);// Вызов функции "preob", которая преобразует значение f по заданному условию;
    return p;
}
int Interval_Ksi(double z)// процедура определения полуинтервала
{
    for(int k=0; k<R; k++)// осмотреть все интервалы пока не найден нужный
        if(z>=double(k/R)&&z<double(k+1)/R)// проверка принадлежности полуинтервалу
        {
            Ksi[k]++;// увеличение кол-ва элементов в данном полуинтервале
            return 0;
        }
}
void MD(int a)
{
  double M=0, D=0, q;//Значения для мат.ожидания и мат.дисперсии;
  // 2 элемента массива вычисляю не в цикле(for), чтобы массив не шел со смещением
  x[1]=pow(cos(x[0]+x_1-x_2-a),2);//Создание первого эл-та,
  x[1]=preob(x[1]);//Преобразование элемента x[1];
  x[2]=pow(cos(x[1]+x[0]-x_1-a),2);
  x[2]=preob(x[2]);
  for(int i=3; i<N; i++)//Теперь есть первые три элемента массива, поэтому можем образовать остальные элементы в цикле;
  {
    x[i]=pow(cos(x[i-1]+x[i-2]-x[i-3]-a),2);
    x[i]=preob(x[i]);//преобразование элемента с помощью функции “preob”
  }
  for(int j=0; j<N; j++)
    Interval_Ksi(x[j]);
  for(int j=0; j<R; j++)//вычисление мат. ожидания по формуле из условия
    M+=double((2*j+1)*Ksi[j])/(2*R*N);
  for(int j=0; j<R; j++)//вычисление дисперсии  по формуле из условия
  {
    q=double(2*j+1)/(2*R)-M;
    D+=pow(q,2)*Ksi[j]/N;
  }
  cout<<"При а="<<a<<endl;
  cout<<"_______________"<<endl;
  cout<<"k"<<' '<<" Ksi[k]"<<endl;
  cout<<"_______________"<<endl;
  for(int k=0; k<R; k++)
    cout<<k<<"   "<<Ksi[k]<<endl;
  cout<<"_______________"<<endl;
  cout<<"M="<<M<<endl;
  cout<<"D="<<D<<endl;
}
int main()
{
  setlocale(LC_ALL, "Russian");
  MD(0); // вычисления для значения  a = 0
  cout<<endl<<endl;
  MD(1); // вычисления для значения  a = 1
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2016, 17:13
Помогаю со студенческими работами здесь

Список учеников имеет следующую структуру: фамилия – класс - оценка по алгебре - оценка по физике - средний балл
Задание такое Список учеников имеет следующую структуру: фамилия – класс - оценка по алгебре -...

Генерация псевдослучайной последовательности
Господа, прошу подкинуть идею. Существует таблица вопросов вида: (id, текст, тип_задания, ...) Из...

Генератор псевдослучайной последовательности с изменяемыми параметрами
как создать генератор псевдослучайной последовательности с изменяемыми параметрами?? помогите плз))

Генераторы псевдослучайной последовательности (Рекурренты в конечном поле )
Нужно сделать генератор псевдослучайной последовательность тип генератора - рекурренты в конечном...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru