У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент





Лабораторна робота

“АВТОЕКВІВАЛЕНТНІ КОРЕЛЯЦІЙНІ МОДЕЛІ ДИСКРЕТНИХ ДЖЕРЕЛ

ІНФОРМАЦІЇ”

МЕТА РОБОТИ

Побудова автоеквівалентних кореляційних моделей дискретних джерел інформації

ЗАВДАННЯ

Заданий одномірний масив даних дискретних станів джер інформації {Хі}, і=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

Графіки функції

Графік квадратичної автоеквівалентності

Графік лінійної функції автоеквівалентності

Графік центрованої функції автоеквівалентності

Графік функції автоковаріації

Висновок: на лабораторній роботі я освоїв побудову автоеквівалентних кореляційних моделей дискретних джерел інформації.