Лабораторна робота
“АВТОЕКВІВАЛЕНТНІ КОРЕЛЯЦІЙНІ МОДЕЛІ ДИСКРЕТНИХ ДЖЕРЕЛ
ІНФОРМАЦІЇ”
МЕТА РОБОТИ
Побудова автоеквівалентних кореляційних моделей дискретних джерел інформації
ЗАВДАННЯ
Заданий одномірний масив даних дискретних станів джер інформації {Хі}, і=1,2,3,…,n. Побудувати решітчату функцію станів джерел інформації, скласти алгоритм, обчислити та побудувати графік автоеквівалентної кореляційної моделі на основі:
5.4.1 Квадратичної функції автоеквівалентності
5.4.2 Лінійної функції автоеквівалентності
5.4.3 Центрованої функції автоеквівалентності
5.4.4 Функції автоковаріації
Виконання
Блок-схема алгоритму
Блок-схема алгоритму функції
Текст програми
#include "stdafx.h"
#include <iostream.h>
#include <math.h>
#include "l5.h"
#define N 29
#define kl 10
double MAS[N]={3,4,6,1,3,3,6,6,3,5,9,6,2,2,4,8,7,4,1,8,2,4,6,3,8,4,6,9,7};
double KA[kl],LA[kl],Z[kl],A[kl];
int main()
{
double mx;
mx = MX(MAS,N);
cout<<mx<<endl;
avt(MAS,KA,LA,Z,A,kl,N,mx);
cout<<"KA LA Z A"<<endl;
for(int i = 0;i < kl;i++)
cout<<KA[i]<<" "<<LA[i]<<" "<<Z[i]<<" "<<A[i]<<endl;
return 0;
}
Текст функції
#include "l5.h"
double less(double x,double y)
{
if(x < y)
{return x;}
else
{return y;}
};
double MX(double* x,int n)
{
double s = 0;
int i;
for(i = 0;i < n;i++)
{s += x[i];}
return s /= (n);
};
double sign(double x)
{
if(x < 0)
{return -1;}
else if(x == 0)
{return 0;}
else
{return 1;}
}
double avt(double* x,double* k,double* l,double* z,double* a,int kl,int n,double mx)
{
int i,j;
for(j = 0;j < kl;j++)
{
k[j] = 0;
l[j] = 0;
z[j] = 0;
a[j] = 0;
for(i = 0;i < n-kl;i++)
{
k[j] += pow(less(x[i],x[i+j]),2);
l[j] += less(x[i],x[i+j]);
z[j] += sign((x[i] - mx) * (x[i+j] - mx)) * less(x[i],x[i+j]);
a[j] += x[i] * x[i+j];
}
k[j] /= kl;
l[j] /= kl;
z[j] /= kl ;
a[j] /= kl;
}
return 0;
};
double DX(double* x,int n,double mx)
{
double s = 0;
int i;
for(i = 0;i < n;i++)
s += pow((x[i]-mx),2);
return s/n;
}
Результат виконання
KA KL Z A
68.6 | 12.8 | 12.1 | 69.6
35.9 | 8.5 | -1.2 | 55.8
29.8 | 8.2 | -1.6 | 54
36.2 | 8.6 | 1 | 57.3
40.6 | 9.8 | 4.8 | 61.6
45.2 | 9.8 | 1.5 | 62.5
37.4 | 8.4 | -0.7 | 50.6
30.7 | 8.3 | -1.3 | 55.2
44.6 | 8.9 | 2.4 | 60.3
50.8 | 9.9 | 4 | 61.5
Графіки функції
Графік квадратичної автоеквівалентності
Графік лінійної функції автоеквівалентності
Графік центрованої функції автоеквівалентності
Графік функції автоковаріації
Висновок: на лабораторній роботі я освоїв побудову автоеквівалентних кореляційних моделей дискретних джерел інформації.