Применение теоремы Бернулли для электрической цепи
Проверка теоремы Бернулли на примере электрической цепи и вероятности прохода электрического тока через цепь. Моделирование случайной вероятности методом Неймана, распределенной по закону Стьюдента. Построение гистограммы и программная реализация проекта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 31.05.2010 |
Размер файла | 36,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Московский авиационный институт
/государственный университет/
Филиал «Взлет».
Курсовая работа
по ТВМС
Выполнил: студент группы
Р 2/1 Агапов И.
Проверил: преподаватель
Егорова Т.П.
г.Ахтубинск 2005 г.
1. Разработка программы
1.1 Электрическая схема
1.2 Листинг программы
Program PR;
uses crt,graph;
type mas=array [1..3] of string;
const stor:mas= ('1. Задание 1 (проверка теоремы Бернулли).',
'2. Задание 2 (проверка закона распределения).',
'3. Выход');
xmin=-1.516;xmax=1.516;ymax=0.687757;
kk=10;
var c,d,x,y,f,R,Q,lx,mx,Dx,E,G,SS,Hi:real;
s,i,j,k,n,mm,gg,dd,rr,x1,x2,y1,y2:integer;
a:array[1..8] of integer;
pp:array[1..8] of real;
xx:array[1..150] of real;
ax,bx,sx,p,ps,m,h:array[1..kk] of real;
kod,ch:char;
st:string;
begin
while ch<>'n' do begin
TextMode (3);
Window (2,2,80,23);
TextBackGround (7);
CLrScr;
k:=1;
TextColor (1);
GotoXY (33,2);
writeln ('Курсовая работа по ТВМС.');
writeln ('Выполнил: Студент 2-го курса группы Р-2/1');
writeln (' Филиала "Взлет" Московского Авиационного Университета');
writeln (' Факультета РЭВС ЛА');
writeln (' Агапов И.');
writeln ('Проверил: Преподаватель');
writeln (' Егорова Т. П.');
GotoXY (30,10);
write ('Выбирайте стрелками курсора');
kod:=' ';
HighVideo;
while kod<>#13 do begin
for i:=1 to 3 do begin
if i=k then begin
TextBackGround (16);
TextColor (14);
end
else begin
TextBackGround (7);
TextColor (4);
end;
GotoXY (10,2*i+10);
write (stor[i]);
end;
TextBackGround (7);
kod:=readkey;
if kod=#0 then begin
kod:=readkey;
if kod=#72 then begin
sound (300);
delay (100);
if k>1 then k:=k-1
else k:=3;
end;
nosound;
if kod=#80 then begin
sound (300);
delay (100);
if k<3 then k:=k+1
else k:=1;
end;
nosound;
end;
end;
Window (5,9,70,36);
CLrScr;
case k of
1:begin
TextBackGround (7);
TextColor (1);
writeln;
writeln (' Загружаю: Задание 1 (проверка теоремы Бернулли) ');
GotoXY (1,6);
TextColor (4);
for i:=525 to 602 do begin
sound (i);
delay (50);
write ('.');
nosound;
end;
GotoXY (1,10);
TextColor (20);
writeln (' Загружено. Пожалуйста нажмите ВВОД '
readln;
CLrScr;
GotoXY (8,7);
TextColor (4);
writeln ('Задание 1 (проверка теоремы Бернулли на примере электрической цепи
writeln;
TextColor (14);
writeln (' 1. Собрать цепь, задать вероятнисти работоспособности элементов и подсчитать');
writeln (' частоту появления благоприятного события (ток пройдет).');
writeln (' 2. Рассчитать вероятность работоспособности цепи любым известным способом.);
readln;
TextColor (1);
CLrScr;
pp[1]:=0.9;pp[2]:=0.8;pp[3]:=0.5;pp[4]:=0.7;pp[5]:=0.6;pp[6]:=0.9;pp[7]:=0.7;pp[8]:=0.8;
gg:=0;
Q:=0;
n:=1000;
while n<=20000 do begin
mm:=0;
for i:=1 to n do begin
for j:=1 to 8 do begin
x:=random;
if x<pp[j] then a[j]:=1 else a[j]:=0;
end;
if (a[1]+a[2])* (a[3]+a[4]*a[5])* (a[6]*a[7]+a[8])>=1 then mm:=mm+1;
end;
R:=mm/n;
writeln (' m=',mm:5,' n=',n:5,' R=',R:5:3
Q:=Q+R;
n:=n+1000;
inc (gg)
end;
Q:=Q/gg;
writeln;
TextColor (4);
write (' m - количество благоприятных событий, n - количество опытов, R-частота);
readln;
CLrScr;
GotoXY (3,3);
TextColor (1);
writeln (' Значение, к которому стремится частота при увеличении количества опытов ');
GotoXY (37,5);
TextColor (20);
writeln (Q:3:3);
R:= (1- (1-pp[1])* (1-pp[2]))* (1- (1-pp[3])* (1-pp[4]*pp[5]))* (1- (1-pp[6]*pp[7])* (1-pp[8]));
GotoXY (13,7);
TextColor (1);
writeln (' Значение, вероятности того, что ток пройдет черeз цепь ');
GotoXY (1,9);
writeln (' P= (1- (1-p[1])* (1-p[2]))* (1- (1-p[3])* (1-p[4]*p[5]))*');
write (' * (1- (1-p[6]*p[7])* (1-p[8]))=');
TextColor (20);
writeln (R:3:3);
TextColor (1);
writeln;
writeln (' P= (p[1]+p[2]-p[1]*p[2])* (p[3]+p[4]*p[5]-p[3]*p[4]*');
write (' *p[5])* (p[8]+p[6]*p[7]-p[8]*p[6]*p[7])');
TextColor (20);
R:= (pp[1]+pp[2]-pp[1]*pp[2])* (pp[3]+pp[4]*pp[5]-pp[3]*pp[4]*pp[5])* (pp[8]+pp[6]*pp[7]-pp[8]*pp[6]*pp[7]);
writeln (R:3:3);
readln;
end;
2:begin
TextColor (1);
writeln;
writeln (' Загружаю: Задание 2 (проверка закона распределения) ');
GotoXY (1,6);
TextColor (4);
for i:=525 to 602 do begin
sound (i);
delay (50);
write ('.');
nosound;
end;
GotoXY (1,10);
TextColor (20);
writeln (' Загружено. Пожалуйста нажмите ВВОД ');
readln;
CLrScr;
TextColor (4);
GotoXY (8,7);
writeln ('Задание 2 (проверка закона распределения): ');
writeln;
TextColor (14);
writeln (' 1. Смоделировать методом Неймана СВ распределенную по закону Стьюдента (n=5).');
writeln (' Заполнить массив из 150 точек и вычислить статистический ряд.');
writeln (' 2. Вычислить статистические характеристики и наблюдаемое значение критерия');
writeln (' Пирсона. Сравнить наблюдаемое значение критерия с критическим.');
writeln (' 3. Построить гистограмму и сглаживающую функцию.');
writeln (' 4. Сделать вывод о принятии или отклонении гипотезы о распределении СВ по ');
writeln (' данному закону');
readln;
CLrScr;
i:=1;
while i<=150 do begin
x:= (xmax-xmin)*random+xmin;
y:= (ymax-0)*random;
f:= (24/ (3*11.632))* (1/ ( (1+x*x/2)* (1+x*x/2)* (1+x*x/2)* (1+x*x/2)* (1+x*x/2)));
if y<f then begin
xx[i]:=x;
inc (i);
end;
end;
for j:=150 downto 2 do begin
for i:=1 to j-1 do
if xx[i]>xx[i+1] then begin
y:=xx[i];
xx[i]:=xx[i+1];
xx[i+1]:=y;
end;
end;
TextColor (6);
writeln;
writeln (' 150 чисел, распределенных по закону Стьюдента');
writeln;
TextColor (2);
for i:=1 to 150 do begin
write (xx[i]:3:3,';');
if i=150 then begin
readln;
CLrScr;
TextColor (4);
writeln;
TextColor (5);
writeln;
end;
end;
readln;
CLrScr;
writeln;
writeln (' Xmin=',xmin:3:3,' Xmax=',xmax:1:3,' Ymax=', ymax:1:3);
lx:= (xmax-xmin)/10;
writeln (' Шаг равен ',lx:3:3);
writeln (' -------------------------------------');
GotoXY (5,8);
TextColor (4);
writeln ('Границы интервалов ');
TextColor (1);
for i:=1 to kk do begin
ax[i]:=xmin+ (i-1)*lx;bx[i]:=xmin+i*lx;
write (' ',ax[i]:6:3,';',bx[i]:5:3);
if i=5 then begin
writeln;
writeln;
end;end;
writeln;writeln (' --------------------------------------');
writeln;
TextColor (4);
writeln (' Середины интервалов');
TextColor (1);
for j:=1 to kk do begin
sx[j]:=xmin+ (j-1/2)*lx;
write (sx[j]:7:4,' ');
end;
for j:=1 to kk do begin
gg:=0;
for i:=1 to 150 do begin
if (xx[i]>=ax[j])and (xx[i]<bx[j]) then inc (gg)
end;
m[j]:=gg;
end;
writeln (' ---------------------------------------');
readln;
CLrScr;
GotoXY (5,7);
TextColor (4);
writeln ('Количество точек попавших на интервал');
TextColor (1);
for j:=1 to kk do
write (m[j]:6:0,' ');
writeln ('---------------------------------------');
TextColor (4);
writeln (' Частота попадания на интервал');
TextColor (1);
for i:=1 to kk do begin
p[i]:=m[i]/150;
write (p[i]:7:3,' ');
end;
writeln ('---------------------------------------');
TextColor (4);
writeln (' Высота столбца гистограммы');
TextColor (1);
for i:=1 to kk do begin
h[i]:=p[i]/lx;
write (h[i]:7:3,' ');
end;
readln;
CLrScr;
mx:=0;
for i:=1 to 150 do begin
mx:=mx+xx[i]/150;
end;
TextColor (1);
GotoXY (10,8);
write ('Средне-статистическое значение ');TextColor (20);writeln (mx:3:3);
Dx:=0;
for i:=1 to kk do begin
dx:=dx+ (sx[i]-mx)* (sx[i]-mx)*p[i];
end;
GotoXY (10,9);
TextColor (1);
write ('Статистическая дисперсия ');TextColor (20);writeln (Dx:3:3);
G:=0;
G:=sqrt (Dx);
GotoXY (10,10);
TextColor (1);
write ('Статистическое средне-квадратическое отклонение ');
TextColor (20);writeln (G:3:3);
SS:=0;
for i:=1 to kk do begin
SS:=SS+sqr (sx[i]-mx)* (sx[i]-mx)*p[i]/ (G*G*G);
end;
GotoXY (10,11);
TextColor (1);
write ('Скошенность ');TextColor (20);writeln (SS:3:3);
E:=0;
for i:=1 to kk do begin
E:=E+sqr (sqr (sx[i]-mx))*p[i]/ (G*G*G*G);
end;
E:=E-3;
GotoXY (10,12);
TextColor (1);
write ('Эксцесс ');TextColor (20);writeln (E:3:3);
ps[1]:=0.008;ps[2]:=0.023;ps[3]:=0.078;ps[4]:=0.137;
ps[5]:=0.254;ps[6]:=0.254;ps[7]:=0.137;ps[8]:=0.078;ps[9]:=0.023;ps[10]:=0.008;
Hi:=0;
TextColor (1);
GotoXY (10,13);
write ('Наблюдаемое значение критерия Пирсона ');
for i:=1 to kk do begin
Hi:=Hi+ (m[i]-150*ps[i])* (m[i]-150*ps[i])/ (150*ps[i]);
end;
TextColor (20);
writeln (Hi:3:3);
readln;
{Построение гистограммы.}
dd:=3;rr:=1;
Initgraph (dd,rr,' ');
setcolor (7);
line (50,20,50,190); {Построение оси OY.}
line (50,190,560,190); {Построение оси OX.}
outtextxy (20,192,'0');
outtextxy (560,200,'X');
outtextxy (30,10,'f*0.1 Gistogramma');
{ Оцифровка OY.}
for j:=1 to 8 do begin
str (j,st);
outtextxy (20,190-j*17,st);
line (45,190-j*17,54,190-j*17);
end;
{ Оцифровка OX.}
For j:=1 to kk do begin
str (j,st);
outtextxy (22+ (j*50),192,st);
end;
{ Построение столбцов.}
For j:=1 to kk do begin
x1:=j*50;
x2:=50+ (j*50);
y1:=190-round (h[j]*150); { Верхнее значение.}
y2:=190; { Нижнее значение.}
setfillstyle (solidFill,trunc (2)+13); { Структура (тип,цвет).}
bar3d (x1,y1,x2,y2,0,topOFF);
end;
ReadLn;
RestoreCRTmode;
end;
3:begin
TextColor (17);
writeln;
writeln (' Выхожу');
writeln;
TextColor (4);
for i:=227 downto 150 do begin
sound (i);
delay (80);
write ('.');
nosound;
end;
sound (600);
delay (1000);
sound (1000);
delay (1500);
nosound;
CLrScr;
TextColor (20);
GotoXY (35,12);
writeln ('!!!ПОКА!!!');
delay (9000);
ch:='n'
end;
end;{case}
end;
end.
2. Результаты работы программы
Курсовая работа по ТВМС.
Выполнил: Студент 2-го курса группы Р-2/1
Филиала "Взлет" Московского Авиационного Университета
Факультета РЭВС ЛА
Агапов И.
Проверил: Преподаватель
Егорова Т. П.
1. Проверка теоремы Бернулли
Задание 1 (проверка теоремы Бернулли на примере электрической цепи):
1. Собрать цепь, задать вероятнисти работоспособности элементов и подсчитать
частоту появления благоприятного события (ток пройдет).
2. Рассчитать вероятность работоспособности цепи любым известным способом.
m= 645 n= 1000 R=0.645
m= 1312 n= 2000 R=0.656
m= 1927 n= 3000 R=0.642
m= 2575 n= 4000 R=0.644
m= 3203 n= 5000 R=0.641
m= 3827 n= 6000 R=0.638
m= 4453 n= 7000 R=0.636
m= 5146 n= 8000 R=0.643
m= 5797 n= 9000 R=0.644
m= 6376 n=10000 R=0.638
m= 7012 n=11000 R=0.637
m= 7743 n=12000 R=0.645
m= 8389 n=13000 R=0.645
m= 9013 n=14000 R=0.644
m= 9616 n=15000 R=0.641
m=10355 n=16000 R=0.647
m=11077 n=17000 R=0.652
m=11608 n=18000 R=0.645
m=12200 n=19000 R=0.642
m=12849 n=20000 R=0.642
m - количество благоприятных событий, n - количество опытов, R - частота
Значение, к которому стремится частота при увеличении количества опытов
0.643
Значение, вероятности того, что ток пройдет черeз цепь
P= (1- (1-p[1])* (1-p[2]))* (1- (1-p[3])* (1-p[4]*p[5]))* (1- (1-p[6]*p[7])* (1-p[8]))=0.644
P= (p[1]+p[2]-p[1]*p[2])* (p[3]+p[4]*p[5]-p[3]*p[4]*p[5])* (p[8]+p[6]*p[7]-p[8]*p[6]*p[7])0.644
Задание 2 (проверка закона распределения):
1. Смоделировать методом Неймана СВ распределенную по закону Стьюдента (n=5).
Заполнить массив из 150 точек и вычислить статистический ряд.
2. Вычислить статистические характеристики и наблюдаемое значение критерия Пирсона. Сравнить наблюдаемое значение критерия с критическим.
3. Построить гистограмму и сглаживающую функцию.
4. Сделать вывод о принятии или отклонении гипотезы о распределении СВ по данному закону
150 чисел, распределенных по закону Стьюдента
-1.462; -1.326; -1.089; -0.831; -0.830; -0.820; -0.801; -0.781; -0.761; -0.746; -0.710; -0.691; -0.673; -0.672; -0.652; -0.641; -0.627; -0.624; -0.619; -0.577; -0.576; -0.559; -0.545; -0.530; -0.527; -0.510; -0.502; -0.501; -0.485; -0.460; -0.444; -0.436; -0.427; -0.404; -0.394; -0.390; -0.374; -0.371; -0.362; -0.361; -0.352; -0.330; -0.329; -0.327; -0.320; -0.279; -0.264; -0.256; -0.248; -0.222; -0.209; -0.198; -0.183; -0.182; -0.178; -0.175; -0.173; -0.168; -0.150; -0.147; -0.141; -0.137; -0.135; -0.131; -0.122; -0.121; -0.120; -0.104; -0.098; -0.094; -0.074; -0.069; -0.063; -0.049; -0.049; -0.046; -0.038; -0.018; -0.017; -0.013; -.013; 0.001; 0.003; 0.004; 0.012; 0.015; 0.017; 0.018; 0.022; 0.028; 0.034; 0.066; 0.075; 0.080; 0.110; 0.117; 0.122; 0.172; 0.184; 0.188; 0.194; 0.195; 0.196; 0.202; 0.203; 0.213; 0.224; 0.232; 0.233; 0.239; 0.254; 0.262; 0.268; 0.269; 0.282; 0.284; 0.284; 0.286; 0.298; 0.309; 0.313; 0.350; 0.354; 0.366; 0.401; 0.435; 0.444; 0.473; 0.478; 0.492; 0.493; 0.506; 0.524; 0.530; 0.539; 0.581; 0.599; 0.604; 0.640; 0.652; 0.654; 0.689; 0.692; 0.703; 0.710; 0.827; 0.905; 1.021; 1.084; 1.094;
Xmin=-1.516 Xmax=1.516 Ymax=0.688 Шаг равен 0.303
Границы интервалов
-1.516;-1.213
-1.213;-0.910
-0.910;-0.606
-0.606;-0.303
-0.303;0.000
0.000;0.303
0.303;0.606
0.606;0.910
0.910;1.213
1.213;1.516
Середины интервалов
-1.3644 -1.0612 -0.7580 -0.4548 -0.1516 0.1516 0.4548 0.7580 1.0612 1.3644
Количество точек попавших на интервал
2 1 16 26 36 38 19 9 3 0
Частота попадания на интервал
0.013 0.007 0.107 0.173 0.240 0.253 0.127 0.060 0.020 0.000
Высота столбца гистограммы
0.044 0.022 0.352 0.572 0.792 0.836 0.418 0.198 0.066 0.000
Средне-статистическое значение -0.047
Статистическая дисперсия 0.221
Статистическое средне-квадратическое отклонение 0.470
Скошенность -0.108
Эксцесс -0.063
Наблюдаемое значение критерия Пирсона 7.414
Подобные документы
Вывод системы дифференциальных уравнений. Описание методов численного решения задачи Коши. Моделирование переходных процессов в электрической цепи. Решение задачи аппроксимации. Расчет количества теплоты, выделившейся на резисторе, реализация в MathCAD.
курсовая работа [202,5 K], добавлен 11.11.2013Защита электрооборудования и сетей от тока короткого замыкания и перегрузок. Разработка программного обеспечения для расчета номинала предохранителя в электрической цепи. Выбор языка программирования. Требования к составу и параметрам технических средств.
курсовая работа [233,2 K], добавлен 31.03.2018Описание математической модели определения тока в электрической цепи с помощью решения системы алгебраических уравнений методом Гаусса. Описание и разработка блок-схемы программы. Ввод данных задачи, составление программы и анализ результатов решения.
контрольная работа [231,8 K], добавлен 15.08.2012Описание алгоритма создания программы для решения алгебраических или трансцендентных уравнений с помощью численного метода Бернулли. Нахождение значений корней алгебраического уравнения с заданными параметрами точности. Листинг программы на языке java.
контрольная работа [206,0 K], добавлен 19.06.2015Обзор программных средств компьютерного моделирования. Изучение реакции электрической цепи на внешнее воздействие средствами MathCad: расчет значения функций u(t), построение графика зависимости напряжения по времени, нахождение аппроксимирующей функции.
курсовая работа [269,9 K], добавлен 07.03.2013Схема электрической цепи (источник переменного тока, катушка индуктивности, конденсатор, набор резисторов и ключ). Вывод системы дифференциальных уравнений. Численное интегрирование (методы левых и средних прямоугольников). Блок-схемы и программные коды.
курсовая работа [1,7 M], добавлен 09.06.2012Применения моделирования, методов вычислительной математики, теории оптимизации и средств вычислительной техники при анализе и проектировании электрических цепей. Параметрическая оптимизация электрической цепи. Листинг программы и результаты ее работы.
курсовая работа [223,8 K], добавлен 21.02.2012Схема и основные параметры элементов цепи. Вывод системы дифференциальных уравнений. Реализация алгоритма на языке программирования высокого уровня Pascal. Решение дифференциальных уравнений в пакете MathCAD. Решение интерполяции в пакете Excel.
курсовая работа [375,4 K], добавлен 06.01.2011Программная реализация методов вычислительной математики и их применения к расчету и оптимизации электрической схемы. Сущность первого и второго законов Кирхгофа. Компоненты, использованные для реализации интерфейса программы. Листинг программного кода.
курсовая работа [1,3 M], добавлен 14.01.2014Математическое моделирование технических объектов. Понятие математических моделей, классификация и свойства. Численные методы, система MathCAD и её основные функции. Алгоритмический анализ задачи, анализ реализации базовой модели электрической цепи.
дипломная работа [755,4 K], добавлен 25.07.2012