Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Реализация алгоритма на языке программирования высокого уровня Pascal

Курсовая работа по информатике

«Численное моделирование и анализ переходных процессов в электрической цепи»

Вариант № 3

Выполнил:

студент гр. ЭПА-06

Братица Д.П.

Проверил:

старший преподаватель

Атаманов А.А

 

 

2007 г.


Содержание

1. Постановка задачи

1.1 Схема электрической цепи

1.2 Параметры элементов цепи

1.3 Описание работы электрической цепи

2. Вывод системы дифференциальных уравнений

3. Численное решение дифференциальных уравнений

3.1 Блок-схема решения системы дифференциальных уравнений

3.2 Реализация алгоритма на языке программирования высокого уровня Pascal

3.3 Решение дифференциальных уравнений в пакете MathCAD

4. Решение интерполяции в пакете Excel

5. Численное интегрирование

5.1 Блок-схема для нахождения выделившийся теплоты на резисторе R4

5.2 Реализация алгоритма на языке программирования высокого уровня Pascal

5.3 Вычисление количества теплоты в пакете MathCAD

Заключение


Постановка задачи

Схема электрической цепи

                                 
 
2
1
R2
E
 
R3
 
R6

 


Дана схема электрической цепи, содержащая источник переменного тока, катушку индуктивности, конденсатор, набор резисторов и ключ.

 

Параметры элементов цепи

 

- гармонический источник тока

- циклическая частота

мГн - катушка индуктивности

мкФ - конденсатор

В - амплитуда колебаний

В – амплитуда колебаний

Ом - резистор

Ом - резистор

Ом - резистор

Ом - резистор

Ом - резистор

Ом - резистор

Гц - линейная частота

с. - текущее время

с. - текущее время

 Рад - фаза

Описание работы электрической цепи

 

В начальный момент времени ключ находится в положении . При этом цепь разомкнута, напряжение на конденсаторе и ток на катушке равны нулю . Происходит первое переключение ключа, т.е. ключ мгновенно переводится в положение . При этом происходит заряд конденсатора, меняются значения и .

В момент с. ключ мгновенно переводится в положение . Конденсатор разряжается, вновь меняются параметры и . Анализ схемы заканчивается в момент времени с.


Вывод системы дифференциальных уравнений

 

В соответствии с рисунком запишем выражения для  и  законов Кирхгоффа для положения ключа .

 

 

 

Систему  можно преобразовать, исключив токи и . Тогда для величин и получим систему двух дифференциальных уравнений первого порядка.

 

 

Начальные условия

Аналогично может быть получена система дифференциальных уравнений для величин и при положении ключа . В этом случае имеем:

 

 


Численное решение дифференциальных уравнений

Блок-схема решения системы дифференциальных уравнений


Реализация алгоритма на языке программирования высокого уровня Pascal

Program DIFFERENTSIAL;

 uses wincrt;

 var R1,R2,R3,R4,R5,R6,L,C,E0,h,w,f,fi,t,A,B,D,G,

 Ik1,Ik2,Uk1,Uk2,Ik3,Uk3,Ik4,Uk4,It, Ut, dIt, dUt: real;

 j:integer;

 y: text;

Begin

 clrscr;

 assign(y,'c:\rezyltat.txt');

 rewrite(y);

 R1:=30; R2:=25; R3:=50; R4:=1.88; R5:=15; R6:=50;

 L:=0.00557; C:=0.00002;

 A:=(R5+R6)/(R5+R6+R3); G:=1/(R5+R6+R3); B:=R2/(R1+R2);

 D:=R4+(R1*R2/(R1+R2))+R3*((R5+R6)/(R5+R6+R3));

 h:=0.0002; f:=50; fi:=5; w:=2*pi*f;

 E0:=15; It:=0; Ut:=0; t:=0; j:=0;

While t<=0.0202 do

 begin

 Ik1:=h*(1/L)*(B*(E0+E0*sin(w*t+fi))-D*It-A*Ut);

 UK1:=h*(1/C)*(A*It-G*Ut);

 Ik2:=h*((1/L)*(B*(E0+E0*sin(w*(t+h/2)+fi))-D*(It+Ik1/2)-A*(Ut+Uk1/2)));

 Uk2:=h*(1/C)*(A*(It+Ik1/2)-G*(Ut+UK1/2));

 Ik3:=h*((1/L)*(B*(E0+E0*sin(w*(t+h/2)+fi))-D*(It+Ik2/2)-A*(Ut+Uk2/2)));

 Uk3:=h*(1/C)*(A*(It+Ik2/2)-G*(Ut+UK2/2));

 Ik4:=h*((1/L)*(B*(E0+E0*sin(w*(t+h)+fi))-D*(It+Ik3)-A*(Ut+Uk3)));

 Uk4:=h*(1/C)*(A*(It+Ik3)-G*(Ut+UK3));

 dIt:=(Ik1+2*Ik2+2*Ik3+Ik4)/6;

 dUt:=(Uk1+2*Uk2+2*Uk3+Uk4)/6;

  if j mod 5=0 then

 Writeln(y,'t=',t:6:4,' It=',It:9:6,' Ut=',Ut:6:5);

 Writeln('j=',j:3,' t=',t:6:4,' It=',It:9:6,' Ut=',Ut:6:5);

 It:=It+dIt; Ut:=Ut+dUt; j:=j+1; t:=t+h;

  if t>0.01 then E0:=0;

 end;

 Close(y);

 readln;

End.

Таблица результатов

t I U
0.000 0.000000 0.000000
0.001 0.021116 0.28271
0.002 0.045202 0.95006
0.003 0.074067 1.99946
0.004 0.104367 3.36451
0.005 0.132911 4.92721
0.006 0.156807 6.54132
0.007 0.173674 8.05172
0.008 0.181844 9.31183
0.009 0.180509 10.19881
0.010 0.169796 10.62609
0.011 -0.074194 5.16433
0.012 -0.032145 2.22256
0.013 -0.013829 0.95612
0.014 -0.005949 0.41131
0.015 -0.002559 0.17694
0.016 -0.001101 0.07612
0.017 -0.000474 0.03275
0.018 -0.000204 0.01409
0.019 -0.000088 0.00606
0.020 -0.000038 0.00261

Решение дифференциальных уравнений в пакете MathCAD


Графики зависимости I(t) и U(t).

Результаты значений I и U в зависимости от времени t


 


 


 


 


 


 


Решение интерполяции в пакете Excel

t

I

0,001

0.021116

0,002

0.045202

0,003

0.074067

0,004

0.104367

0,005

0.132911

0,006

0.156807

0,007

0.173674


Численное интегрирование

Блок-схема для нахождения выделившийся теплоты на резисторе R 4

Реализация алгоритма на языке программирования высокого уровня Pascal

Program teplota;

uses wincrt;

var R4,Q,f,f1,f2,hx,t,t1,t2,S,Int,a2,a1,a0,b2,b1,b0,c2,c1,c0,fn,fk:Real;

n:Integer;

begin

R4:=1.88;

t1:=0.001;

t2:=0.007;

n:=100;

hx:=(t2-t1)/n;

a2:=2170;a1:=17.98;a0:=0.0007;

b2:=-880; b1:=36.38;b0:=-0.027;

c2:=-3515;c1:=62.485;c0:=-0.0917;

t:=t1;

S:=0;

fn:=sqr(a2*t1*t1+a1*t1+a0);

fk:=sqr(c2*t2*t2+c1*t2+c0);

Repeat

  if t<=0.003 then

 f:=sqr(a2*t*t+a1*t+a0)

 else if t<=0.005 then

 f:=sqr(b2*t*t+b1*t+b0)

 else f:=sqr(c2*t*t+c1*t+c0);

 S:=S+f;

 t:=t+hx;

until t>=t2;

S:=S-(fn+fk);

Int:=hx*(((fn+fk)/2)+S);

Q:=R4*Int;

writeln(' Int=',Int:2:8,' Q=',Q:2:7);

End.

Результат: Int =0.00007562

  Q =0.0001422


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...