АВТОМАТИЧНИЙ ПОТЕНЦІОМЕТР З ДИФЕРЕНЦІЮЮЧИМ КОНТУРОМ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Не вказано
Кафедра:
Кафедра захисту інформації

Інформація про роботу

Рік:
2013
Тип роботи:
Курсова робота
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра захисту інформації КУРСОВА РОБОТА з курсу: «Комп’ютерні методи дослідження інформаційних процесів і систем» на тему: «АВТОМАТИЧНИЙ ПОТЕНЦІОМЕТР З ДИФЕРЕНЦІЮЮЧИМ КОНТУРОМ» Варіант№7 Зміст Рисунок, схема, рівняння. Короткі відомості про методи. Перетворення рівнянь, зведення рівнянь до нормальної форми. Лістинги програми Результати. Графік. Список літератури. Рисунок, схема, рівняння АВТОМАТИЧНИЙ ПОТЕНЦІОМЕТР З ДИФЕРЕНЦІЮЮЧИМ КОНТУРОМ  Рівняння ланок : вимірювальна схема  диференціюючий контур  підсилювач  двигун  редуктор  1. Звести систему алгебро-диференціальних рівнянь до системи трьох диференціальних рівнянь першого порядку, представити її у нормальній формі та розв’язати цю систему вказаними методами. Початкові умови - =1 радіан, решта початкових умов – нульові. Числові значення сталих параметрів, заданих в таблиці, слід зобразити з допомогою одиниць системи СІ. Методи: Ейлера/Рунге-Кутта. 2. Побудувати графік зміни величини  Параметри 7  і - пер. число 30  (m (рад) 5  Us (мв) 200  Cu (г.см.в) 8  C( (г.см.сек/рад) 2  Id (г.см.сек2) 0,02  Іn (г.см.сек2) 2  к 0,2  Т (сек) 0,03   Короткі теоретичні відомості Метод Ейлера Метод Ейлера є найпростішим методом розв’язування задачі Коші. Він дозволяє інтегрувати ДР першого порядку виду.  (4) Метод Ейлера базується на розкладі функції  в ряд Тейлора в околі точки    (5) Якщо  мале, то, знехтувавши членам розкладу, що містять в собі  і т.д. отримаємо  (6) Похідну знаходимо з рівняння (4), підставивши в нього початкову умову. Таким чином можна знайти наближене значення залежної змінної при малому зміщенні  від початкової точки. Цей процес можна продовжувати, використовуючи співвідношення. , роблячи як завгодно багато кроків. Похибка методу має порядок , оскільки відкинуті члени, що містять  в другій і вище степенях. Недолік методу Ейлера - нагромадження похибок, а також збільшення об’ємів обчислень при виборі малого кроку  з метою забезпечення заданої точності. В методі Ейлера на всьому інтервалі  тангенс кута нахилу дотичної приймається незмінним і рівним . Очевидно, що це призводить до похибки, оскільки кути нахилу дотичної в точках  та  різні. Точність методу можна суттєво підвищити, якщо покращити апроксимацію похідної. Метод Рунге-Кутта з автоматичною зміною кроку Після обчислення  з кроком  всі обчислення виконуються повторно з кроком . Після цього порівнюються результати, отримані в точці хn+1 з кроком  і . Якщо модуль різниці менший , то обчислення продовжуються з кроком , в іншому випадку крок зменшують. Якщо нерівність дуже сильна, то крок збільшують.  Маємо   - значення незалежної змінної в точці  - значення функції в точці - значення функції в точці , обчислене з кроком  - значення функції в точці , обчислене з кроком   - значення функції , обчислене з кроком  1) Якщо  обчислення повторюються з кроком  і т.д., доки не виконається умова . 2) Якщо виконується ця умова, то можливі два варіанти, в залежності від значення K, де K – ознака поділу кроку. Початкове значенняі залишається таким після першого поділу кроку на два. Надалі, якщо крок ділиться, то K приймає значення одиниці. а) Якщо , то навіть коли виконалась умова , крок не змінюється, тобто лишається тим самим (обчислення далі проводяться з попереднім кроком). б) Якщо  і виконалась умова , тоді . В обох випадках а) і б) результат виводиться на друк. Перетворення рівнянь, зведення рівнянь до нормальної форми. 1)  2)  3)  Лістинги програм Ейлера з автоматичною зміною кроку program ME_automat; const n=3;a=0;b=19; type vector=array[1..n] of real; var i,kk,j:integer; ks:longint; x, x0 , St, Ct, dS, dC, h, hh,eps:real; II,TM,UP,CU,CW,Jd,Jn,K,T,JJ,KU:real; f,y,y0,y1,y2:vector; ff:text; procedure dy; begin f [1] :=UP/(TM*T)*(1-Y[2])-Y[1]/(K*T)-UP*Y[3]/(TM*II); f [2] :=Y[3]/II; f [3] :=(CU*KU*Y[1]-CW*Y[3])/JJ; end; procedure rkm; var kl,k2,k3,k4,z:vector; begin dy; for i:=1 to n do begin kl[i] :=h*f [i]; z[i] :=y[i] ; y [i] :=z [i]+kl [i]; end; x:=x+h; end; procedure aut_step(var y,yO,yl,y2,f:vector); label 1,2,6; begin for i:=1 to n do yO[i]:=y[i]; kk:=0;x0:=x;hh:=h; rkm; for i:=1 to n do begin yl [i] :=y [i] ; y [i] :=y0 [i] ; end; {writeln('1•,• h=1,h); read (j);} 6: x:=x0;h:=hh/2; rkm; for i:=1 to n do y2[i]:=y[i]; rkm; for i:=1 to n do if abs(y[i]-yl[i])>eps then goto 1; for i:=1 to n do yl [i] :=y[i] ; goto 2; 1: hh:=h; kk:=1; for i:=1 to n do begin y[i]:=y0[i]; y1[i]:=y2 [i] ; end; { writeln('2',' h=',h); read (j); } goto 6; 2: h:=hh; if kk=0 then h:=2*hh; end; BEGIN assign (ff,'D:3.txt'); rewrite(ff) ; writeln(ff,' '); writeln(' rk4'); y[1]:=0;y[2]:=0;y[3]:=0;x:=a;h:=1; eps:=1e-3; II:=30;TM:=5;UP:=200e-5;CU:=8e-5;CW:=2e-5;JD:=0.02e-5;JN:=2e-5;K:=0.2; T:=0.03;KU:=100000; JJ:=Jd+Jn/(II*II); repeat ks:=ks+1; aut_step(y,y0,y1,y2,f); if ks=10 then begin writeln (ff,' x=',x,' Q_out=',y[2]); ks:=0 ; end; until x>b; close(ff); end. Рунге-Кутта з автоматичною зміною кроку program r_k_m; const n=3; a=0; b=19; type vector=array[1..n] of real; var i,kk,j:integer; ks:longint; x,x0,St,Ct,dS,dC,h,hh,eps:real; II,TM,UP,CU,CW,Jd,Jn,K,T,JJ,KU:real; f,y,y0,y1,y2:vector; ff:text; procedure dy; begin f[1]:= UP/(TM*T)*(1-Y[2])-Y[1]/(K*T)-UP*Y[3]/(TM*II); f[2]:= Y[3]/II; f[3]:= (CU*KU*Y[1]-CW*y[3])/JJ; end; procedure rkm; var k1,k2,k3,k4,z:vector; begin dy; for i:=1 to n do begin k1[i]:=h*f[i]; z[i]:=y[i]; y[i]:=z[i]+k1[i]/2; end; x:=x+h/2; for i:=1 to n do begin k2[i]:=h*f[i]; y[i]:=z[i]+k1[i]/2; end; dy; for i:=1 to n do begin k3[i]:=h*f[i]; y[i]:=z[i]+k3[i]; end; x:=x+h/2; dy; for i:=1 to n do begin k4[i]:=h*f[i]; y[i]:=z[i]+(k1[1]+2*k2[i]+2*k3[i]+k4[i])/6; {writeln(' y[1]=', ' h=',h); read(j); } end; end; procedure aut_step(var y,y0,y1,y2,f:vector); label 1,2,6; begin for i:=1 to n do y0 [i]:=y[i]; kk:=0;x0:=x; hh:=h; rkm; for i:=1 to n do begin y1[i]:=y[i]; y[i]:=y0[i]; end; {writeln('1',' h=', h); read (j); } 6: x:=x0; h:=hh/2; rkm; for i:=1 to n do y2[i]:=y[i]; rkm; for i:=1 to n do if abs (y[i]-y1[i])>eps then goto 1; for i:=1 to n do y1[i]:=y[i]; goto 2; 1: hh:=h; kk:=1; for i:=1 to n do begin y[i]:=y0[i]; y1[i]:=y2[i]; end; { writeln('2',' h=', h); read(j); } goto 6; 2: h:=hh; if kk=0 then h:=2*hh; end; BEGIN assign(ff, 'D:2.txt'); rewrite(ff); writeln(ff, ' '); writeln(' rk4'); y[1]:=0; y[2]:=0; y[3]:=0; x:=a; h:=1; eps:=1e-3; II:=30; TM:=5;UP:=200e-5;CU:=8e-5; CW:=2e-5; JD:=0.02e-5; JN:=2e-5; K:=0.2; T:=0.03;KU:=50000; JJ:=Jd+Jn/(II*II); repeat ks:=ks+1; aut_step(y,y0,y1,y2,f); if ks=10 then begin writeln (ff,' x=',x,' Q_out=', y[2]); ks:=0; end; until x>b; close(ff); end. Результати Ейлера з автоматичною зміною кроку x= 6.1035156250E-04 Q_out= 5.0148072744E-07 x= 1.2207031250E-03 Q_out= 4.1809861081E-06 x= 1.8310546875E-03 Q_out= 1.3935503131E-05 x= 2.6855468750E-03 Q_out= 4.2148540246E-05 x= 3.9062500000E-03 Q_out= 1.2132599071E-04 x= 5.1269531250E-03 Q_out= 2.5649255701E-04 x= 6.9580078125E-03 Q_out= 5.7758944264E-04 x= 1.0375976563E-02 Q_out= 1.5777820799E-03 x= 1.2817382813E-02 Q_out= 2.6213567125E-03 x= 1.5258789063E-02 Q_out= 3.9085076884E-03 x= 1.7700195313E-02 Q_out= 5.4098144777E-03 x= 2.0141601563E-02 Q_out= 7.0946303608E-03 x= 2.2583007813E-02 Q_out= 8.9337350921E-03 x= 2.5024414063E-02 Q_out= 1.0900651877E-02 x= 2.7465820313E-02 Q_out= 1.2972163158E-02 x= 2.9907226563E-02 Q_out= 1.5128364423E-02 x= 3.2348632813E-02 Q_out= 1.7352468139E-02 x= 3.4790039063E-02 Q_out= 1.9630487832E-02 x= 3.7231445313E-02 Q_out= 2.1950879704E-02 x= 4.1625976563E-02 Q_out= 2.6204490297E-02 x= 4.6508789063E-02 Q_out= 3.1007443230E-02 x= 5.1391601563E-02 Q_out= 3.5854140095E-02 x= 5.8715820313E-02 Q_out= 4.3153932422E-02 x= 6.8481445313E-02 Q_out= 5.2874282411E-02 x= 9.3872070313E-02 Q_out= 7.7817780640E-02 x= 1.7980957031E-01 Q_out= 1.5770398629E-01 x= 2.5793457031E-01 Q_out= 2.2428471892E-01 x= 3.3605957031E-01 Q_out= 2.8560246342E-01 x= 4.1418457031E-01 Q_out= 3.4207324167E-01 x= 4.9230957031E-01 Q_out= 3.9408019042E-01 x= 5.7043457031E-01 Q_out= 4.4197616073E-01 x= 6.4855957031E-01 Q_out= 4.8608611194E-01 x= 7.2668457031E-01 Q_out= 5.2670931643E-01 x= 8.6730957031E-01 Q_out= 5.9202142598E-01 x= 1.0235595703E+00 Q_out= 6.5408873527E-01 x= 1.1798095703E+00 Q_out= 7.0671351222E-01 x= 1.3360595703E+00 Q_out= 7.5133228465E-01 x= 1.4923095703E+00 Q_out= 7.8916303602E-01 x= 1.6485595703E+00 Q_out= 8.2123845343E-01 x= 1.8048095703E+00 Q_out= 8.4843411738E-01 x= 1.9610595703E+00 Q_out= 8.7149240307E-01 x= 2.1641845703E+00 Q_out= 8.9634853257E-01 x= 2.4766845703E+00 Q_out= 9.2558956990E-01 x= 2.7579345703E+00 Q_out= 9.4477369668E-01 x= 3.0391845703E+00 Q_out= 9.5901186679E-01 x= 3.3204345703E+00 Q_out= 9.6957922070E-01 x= 3.6173095703E+00 Q_out= 9.7780410472E-01 x= 3.9454345703E+00 Q_out= 9.8434191599E-01 x= 4.2266845703E+00 Q_out= 9.8838370972E-01 x= 4.5704345703E+00 Q_out= 9.9194047409E-01 x= 4.8829345703E+00 Q_out= 9.9421904754E-01 x= 5.1641845703E+00 Q_out= 9.9571127800E-01 x= 5.5079345703E+00 Q_out= 9.9702441173E-01 x= 5.8204345703E+00 Q_out= 9.9786567534E-01 x= 6.1641845703E+00 Q_out= 9.9851981106E-01 x= 6.4766845703E+00 Q_out= 9.9893828522E-01 x= 6.7891845703E+00 Q_out= 9.9923844731E-01 x= 7.1329345703E+00 Q_out= 9.9947185180E-01 x= 7.4766845703E+00 Q_out= 9.9963352351E-01 x= 7.8204345703E+00 Q_out= 9.9974582365E-01 x= 8.1329345703E+00 Q_out= 9.9981771048E-01 x= 8.4454345703E+00 Q_out= 9.9986931946E-01 x= 8.7891845703E+00 Q_out= 9.9990937062E-01 x= 9.1016845703E+00 Q_out= 9.9993499348E-01 x= 9.4454345703E+00 Q_out= 9.9995491692E-01 x= 9.7969970703E+00 Q_out= 9.9996897720E-01 x= 1.0132934570E+01 Q_out= 9.9997827809E-01 x= 1.0476684570E+01 Q_out= 9.9998491730E-01 x= 1.0789184570E+01 Q_out= 9.9998921417E-01 x= 1.1132934570E+01 Q_out= 9.9999251705E-01 x= 1.1476684570E+01 Q_out= 9.9999480725E-01 x= 1.1789184570E+01 Q_out= 9.9999627988E-01 x= 1.2101684570E+01 Q_out= 9.9999733234E-01 x= 1.2461059570E+01 Q_out= 9.9999817459E-01 x= 1.2804809570E+01 Q_out= 9.9999873094E-01 x= 1.3132934570E+01 Q_out= 9.9999906663E-01 x= 1.3476684570E+01 Q_out= 9.9999933324E-01 x= 1.3789184570E+01 Q_out= 9.9999954942E-01 x= 1.4101684570E+01 Q_out= 9.9999968164E-01 x= 1.4445434570E+01 Q_out= 9.9999977873E-01 x= 1.4757934570E+01 Q_out= 9.9999984197E-01 x= 1.5101684570E+01 Q_out= 9.9999989032E-01 x= 1.5453247070E+01 Q_out= 9.9999990688E-01 x= 1.5789184570E+01 Q_out= 9.9999990638E-01 x= 1.6132934570E+01 Q_out= 9.9999991683E-01 x= 1.6445434570E+01 Q_out= 9.9999996749E-01 x= 1.6789184570E+01 Q_out= 9.9999997463E-01 x= 1.7132934570E+01 Q_out= 9.9999997920E-01 x= 1.7445434570E+01 Q_out= 9.9999998965E-01 x= 1.7757934570E+01 Q_out= 9.9999999331E-01 x= 1.8117309570E+01 Q_out= 9.9999998860E-01 x= 1.8461059570E+01 Q_out= 9.9999998899E-01 x= 1.8789184570E+01 Q_out= 9.9999995410E-01 Рунге-Кутта з автоматичною зміною кроку x= 2.4414062500E-03 Q_out= 1.5995106556E-05 x= 4.8828125000E-03 Q_out= 8.8179745353E-05 x= 9.7656250000E-03 Q_out= 5.0832625053E-04 x= 2.0019531250E-02 Q_out= 2.6322814393E-03 x= 4.1503906250E-02 Q_out= 1.0259089955E-02 x= 7.6660156250E-02 Q_out= 2.5080549491E-02 x= 1.5869140625E-01 Q_out= 5.9702264241E-02 x= 2.3681640625E-01 Q_out= 9.1558131315E-02 x= 3.1494140625E-01 Q_out= 1.2233482403E-01 x= 3.9306640625E-01 Q_out= 1.5206884717E-01 x= 4.7119140625E-01 Q_out= 1.8079552474E-01 x= 5.4931640625E-01 Q_out= 2.0854898413E-01 x= 6.2744140625E-01 Q_out= 2.3536219658E-01 x= 7.0556640625E-01 Q_out= 2.6126701628E-01 x= 7.8369140625E-01 Q_out= 2.8629421827E-01 x= 8.6181640625E-01 Q_out= 3.1047353495E-01 x= 9.3994140625E-01 Q_out= 3.3383369145E-01 x= 1.0180664063E+00 Q_out= 3.5640243974E-01 x= 1.0961914063E+00 Q_out= 3.7820659157E-01 x= 1.1743164063E+00 Q_out= 3.9927205035E-01 x= 1.2524414063E+00 Q_out= 4.1962384196E-01 x= 1.3305664063E+00 Q_out= 4.3928614438E-01 x= 1.4086914063E+00 Q_out= 4.5828231651E-01 x= 1.4868164063E+00 Q_out= 4.7663492589E-01 x= 1.5649414063E+00 Q_out= 4.9436577548E-01 x= 1.6430664063E+00 Q_out= 5.1149592960E-01 x= 1.7211914063E+00 Q_out= 5.2804573895E-01 x= 1.8227539063E+00 Q_out= 5.4872566255E-01 x= 1.9321289063E+00 Q_out= 5.6998422257E-01 x= 2.0336914063E+00 Q_out= 5.8882646097E-01 x= 2.1352539063E+00 Q_out= 6.0684306201E-01 x= 2.2446289063E+00 Q_out= 6.2536383675E-01 x= 2.3461914063E+00 Q_out= 6.4177947607E-01 x= 2.4477539063E+00 Q_out= 6.5747580779E-01 x= 2.5571289063E+00 Q_out= 6.7361138316E-01 x= 2.7133789063E+00 Q_out= 6.9535308504E-01 x= 2.8696289063E+00 Q_out= 7.1564648728E-01 x= 3.0258789063E+00 Q_out= 7.3458808795E-01 x= 3.1821289063E+00 Q_out= 7.5226793444E-01 x= 3.3383789063E+00 Q_out= 7.6877007579E-01 x= 3.4946289063E+00 Q_out= 7.8417296231E-01 x= 3.6508789063E+00 Q_out= 7.9854981851E-01 x= 3.8071289063E+00 Q_out= 8.1196899121E-01 x= 3.9633789063E+00 Q_out= 8.2449427444E-01 x= 4.1196289063E+00 Q_out= 8.3618521273E-01 x= 4.2758789063E+00 Q_out= 8.4709738419E-01 x= 4.4321289063E+00 Q_out= 8.5728266470E-01 x= 4.5883789063E+00 Q_out= 8.6678947454E-01 x= 4.7446289063E+00 Q_out= 8.7566300860E-01 x= 4.9008789063E+00 Q_out= 8.8394545117E-01 x= 5.0571289063E+00 Q_out= 8.9167617656E-01 x= 5.2133789063E+00 Q_out= 8.9889193623E-01 x= 5.3696289063E+00 Q_out= 9.0562703351E-01 x= 5.5258789063E+00 Q_out= 9.1191348669E-01 x= 5.6821289063E+00 Q_out= 9.1778118125E-01 x= 5.8383789063E+00 Q_out= 9.2325801190E-01 x= 5.9946289063E+00 Q_out= 9.2837001519E-01 x= 6.1508789063E+00 Q_out= 9.3314149333E-01 x= 6.3071289063E+00 Q_out= 9.3759512966E-01 x= 6.4633789063E+00 Q_out= 9.4175209653E-01 x= 6.6196289063E+00 Q_out= 9.4563215596E-01 x= 6.7758789063E+00 Q_out= 9.4925375353E-01 x= 6.9321289063E+00 Q_out= 9.5263410613E-01 x= 7.0883789063E+00 Q_out= 9.5578928378E-01 x= 7.2446289063E+00 Q_out= 9.5873428602E-01 x= 7.4008789063E+00 Q_out= 9.6148311324E-01 x= 7.5571289063E+00 Q_out= 9.6404883321E-01 x= 7.7133789063E+00 Q_out= 9.6644364325E-01 x= 7.8696289063E+00 Q_out= 9.6867892814E-01 x= 8.0258789063E+00 Q_out= 9.7076531430E-01 x= 8.1821289063E+00 Q_out= 9.7271272032E-01 x= 8.3383789063E+00 Q_out= 9.7453040406E-01 x= 8.4946289063E+00 Q_out= 9.7622700668E-01 x= 8.6508789063E+00 Q_out= 9.7781059375E-01 x= 8.8071289063E+00 Q_out= 9.7928869356E-01 x= 8.9633789063E+00 Q_out= 9.8066833291E-01 x= 9.1196289063E+00 Q_out= 9.8195607053E-01 x= 9.2758789063E+00 Q_out= 9.8315802828E-01 x= 9.5258789063E+00 Q_out= 9.8491696962E-01 x= 9.8383789063E+00 Q_out= 9.8685961714E-01 x= 1.0150878906E+01 Q_out= 9.8855205770E-01 x= 1.0463378906E+01 Q_out= 9.9002651717E-01 x= 1.0775878906E+01 Q_out= 9.9131107083E-01 x= 1.1088378906E+01 Q_out= 9.9243017797E-01 x= 1.1400878906E+01 Q_out= 9.9340514757E-01 x= 1.1713378906E+01 Q_out= 9.9425454411E-01 x= 1.2025878906E+01 Q_out= 9.9499454102E-01 x= 1.2338378906E+01 Q_out= 9.9563922861E-01 x= 1.2650878906E+01 Q_out= 9.9620088244E-01 x= 1.2963378906E+01 Q_out= 9.9669019700E-01 x= 1.3275878906E+01 Q_out= 9.9711648937E-01 x= 1.3588378906E+01 Q_out= 9.9748787659E-01 x= 1.3900878906E+01 Q_out= 9.9781143030E-01 x= 1.4213378906E+01 Q_out= 9.9809331129E-01 x= 1.4525878906E+01 Q_out= 9.9833888688E-01 x= 1.4838378906E+01 Q_out= 9.9855283310E-01 x= 1.5150878906E+01 Q_out= 9.9873922371E-01 x= 1.5463378906E+01 Q_out= 9.9890160779E-01 x= 1.5807128906E+01 Q_out= 9.9905612525E-01 x= 1.6088378906E+01 Q_out= 9.9916634087E-01 x= 1.6432128906E+01 Q_out= 9.9928363243E-01 x= 1.6713378906E+01 Q_out= 9.9936728111E-01 x= 1.7057128906E+01 Q_out= 9.9945630140E-01 x=
Антиботан аватар за замовчуванням

16.01.2013 12:29

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!