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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра захисту інформації КУРСОВА РОБОТА з курсу: «Комп’ютерні методи дослідження інформаційних процесів і систем» на тему: «АВТОМАТИЧНИЙ ПОТЕНЦІОМЕТР З ДИФЕРЕНЦІЮЮЧИМ КОНТУРОМ» Варіант№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:01-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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