Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kursach_smirnov.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
752.13 Кб
Скачать

Результат

Программа

/*Курсавая работа по дисцеплине моделирование систем на тему:

"Моделирование случайного процессаизменения давления"

студент группы 4-мд-6 Шумакова Алексея.

Вариант 29 */

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

#include <graphics.h>

#include <time.h>

#include <conio.h>

/* Обьявление переменных */

float P[5001];

float ksi,A,B,dt=2.5,alf=0.02,m=2000,sig=120,z;

float m_,D_,sig_,v_,NKF[201],sum;

int i,j,pp,L=200;

char ch[80];

main()

{

/*инициализация графического режима*/

int gdr=DETECT, gmod;

initgraph(&gdr, &gmod, " ");

/**********************************************/

/*Получение масива значения давления*/

randomize();

A=exp(-alf*dt);

B=sig*sqrt(1-A*A);

P[0]=0;

for(i=1; i<5001; i++){

z=0;

for(j=1; j<13; j++)

{

ksi=rand()/32767.0;

z=z+ksi;

}

z=z-6.0;

P[i]=A*P[i-1]+B*z;

}

for(i=0;i<5001;i++)

P[i]=P[i]+m;

/*********************************************************************/

/*График реализации процесса*/

/*Создание фона*/

setfillstyle (1,3);

bar (0,0,640,480);

/* нанесение сетки и надписи */

setcolor (0);

setlinestyle (0,0,1);

for (i=0;i<7;i++)

line (70,50+20*i,570,50+20*i);

for (i=0;i<6;i++)

line (70+100*i,50,70+100*i,170);

settextjustify (2,1);

for (i=0;i<7;i++)

{ sprintf(ch,"%d",2360-120*i);

outtextxy (65,50+20*i,ch);

}

settextjustify (1,2);

for (i=0;i<6;i++)

{ sprintf (ch,"%d",0+1000*i);

outtextxy (70+100*i,175,ch);

}

outtextxy (300,30,"График давления,кПа");

outtextxy (610,160,"Время,с");

outtextxy (70,30,"Давление,кПа");

/*построение графика*/

setcolor(12);

setlinestyle(0,0,1);

moveto (70,110);

for (i=1; i<501; i++)

{ pp=110-(P[i*10]-m)*20/120+0.5;

lineto (70+i,pp);

}

/*обработка результатов моделирования*/

m_=0;

for(i=0;i<5001;i++)

{ m_=P[i]+m_;

}

m_=m_/5001;

D_=0;

for(i=0;i<5001;i++)

{ D_=D_+((P[i]-m_)*(P[i]-m_));

}

D_=D_/5001;

sig_=sqrt(D_);

v_=sig_/m_*100;

/*Оценка нормараванной корреляционнойфункции*/

for(i=0;i<L+1;i++)

{sum=0;

for(j=0;j<5001-i;j++)

sum=sum+(P[j]-m_)*(P[j+i]-m_);

NKF[i]=sum/(5001-i)/D_;

}

/*Вывод числовых оценок*/

setcolor(0);

settextjustify(0,1);

sprintf(ch,"Математическое ожидание P(t),кПа: %.2f",m_);

outtextxy(320,300,ch);

sprintf(ch,"Стандартное отклонение<P(t),кПа: %.2f",sig_);

outtextxy(320,330,ch);

sprintf(ch,"Коэфициент вариации P(t),процентов: %.2f",v_);

outtextxy(320,360,ch);

getch();

} /*end*/

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]