DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Слідкуюча сиcтема літакового витратоміра

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

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

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

Рік:
2013
Тип роботи:
Курсова робота
Предмет:
Інші

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» ІКТА Курсова робота «Слідкуюча сиcтема літакового витратоміра» Львів - 2011 Зміст 1.Завдання 2.Теоретичні відомості 3.Зведення рівнянь 4.Лістинги програм 5.Результати 6.Графік перехідного процесу 7.Список літератури. 1.Завдання Тема №6 Слідкуюча ситема літакого витратоміра Схема Рівняння ланок Варіант 12 Параметри 12  Тм (сек) 0,1  Те (сек) 0,04  С (рад/сек) 3  Ky 1  S (рад/сек) 100  i 25   1) Звести систему алгебро-диференціальних рівнянь до системи трьох диференціальних рівнянь першого порядку, представивши її у нормальній формі та розв’язати цю систему вказаними методами. Початкові умови –θin(0)=1 радіан, решта початкових умов – нульові. Числові значення сталих параметрів , заданих в таблиці , виразити з допомогою одиниць системи СІ. 2) Побудувати графік зміни величини θout(t) Метод Мерсона – Рунге –Кутта та Рунге-Кутта 4 порядку з автоматичним кроком 2.Теоретичні відомості Методи з автоматичною зміною кроку Застосовуються в тому випадку, якщо розв’язок потрібно одержати із заданою точністю. При високій точності (похибка ) автоматична зміна кроку забезпечує зменшення загального числа кроків в декілька разів (особливо при розв’язках у вигляді кривих, що сильно відрізняються крутизною). Метод Рунге-Кутта з автоматичною зміною кроку Після обчислення  з кроком  всі обчислення виконуються повторно з кроком . Після цього порівнюються результати, отримані в точці хn+1 з кроком  і . Якщо модуль різниці менший , то обчислення продовжуються з кроком , в іншому випадку крок зменшують. Якщо нерівність дуже сильна, то крок збільшують.  Маємо   - значення незалежної змінної в точці  - значення функції в точці - значення функції в точці , обчислене з кроком  - значення функції в точці , обчислене з кроком   - значення функції , обчислене з кроком  1) Якщо  обчислення повторюються з кроком  і т.д., доки не виконається умова . 2) Якщо виконується ця умова, то можливі два варіанти, в залежності від значення K, де K – ознака поділу кроку. Початкове значенняі залишається таким після першого поділу кроку на два. Надалі, якщо крок ділиться, то K приймає значення одиниці. а) Якщо , то навіть коли виконалась умова , крок не змінюється, тобто лишається тим самим (обчислення далі проводяться з попереднім кроком). б) Якщо  і виконалась умова , тоді . В обох випадках а) і б) результат виводиться на друк. Метод Рунге-Кутта-Мерсона з автоматичною зміною кроку Метод дозволяє оцінити похибку на кожному кроці інтегрування. При цьому не потрібно зберігати в пам’яті обчислення значень функцій на кроці  і  для оцінки похибки. Алгоритм методу 1. Задаємо число рівнянь , похибку , початковий крок інтегрування , початкові умови . 2. За допомогою п’яти циклів з керуючою змінною  обчислюємо коефіцієнти   3. Знаходимо значення  та похибку  4. Перевіряємо виконання умов  Можливі випадки: а) Якщо перша умова не виконується, тобто , то ділимо крок  на 2 та повторюємо обчислення з п.2, встановивши початкові значення . б) Якщо виконується перша та друга умови, значення  та  виводяться на друк. Якщо друга умова не виконується, крок  збільшується вдвічі і тоді обчислення знову повторюється з п.2. Треба відмітити, що похибка  на кожному кроці методу Рунге-Кутта-Мерсона оцінюється приблизно. При розв’язуванні нелінійних ДР істинна похибка може відрізнятися в декілька разів від заданої . , де .  - крок поділити на 2 і повернутися на початок. для всіх рівнянь: виводимо на друк , а крок збільшуємо удвічі. 3.Зведення рівнянь З рівняння редуктора маємо:  З рівняння двигуна:  Розв’яжемо відносно  :   Тобто ми отримаємо три рівняння для нашої системи. Виконаємо заміну : θout=y1; y=y2;  Звідси отримаємо систему трьох дифрівнянь:    3.Лістинги програм Метод Рунге-Кутта 4 порядку program rk_611 (Input,Output); Uses crt; const n=3; type mas=array[1..n] of real; mmas=array[1..4] of real; var i,k,j:integer; ep,TM,TE,KU,C,S,h,hh,x,x0,II,xk:real; f,y,yy,z,y0,y1,y2,yy1:mas; w,p:mmas; ff:text; label 4,5; {Праві частини диференціальних рівнянь} procedure drr(y:mas; var f:mas); BEGIN f[1]:=y[2]; f[2]:=(C*S*KU*(1-y[3])-y[1]-TM*y[2])/(TM*TE); f[3]:=y[1]/II; END; {Підпрограма розв’язування диференціальних рівнянь системи методом Рунге-Кутта} procedure dyf(yy,f:mas; w,p:mmas; var yy1:mas); var xx:real; BEGIN xx:=x; for j:=1 to n do BEGIN y[j]:=yy[j]; z[j]:=y[j]; END; for i:=1 to 4 do BEGIN x:=xx+w[i]*h; drr(yy,f); for j:=1 to n do BEGIN yy[j]:=yy[j]+p[i]*h*f[j]; y[j]:=z[j]+w[i+1]*h*f[j]; END; END; for i:=1 to n do yy1[i]:=yy[i]; END; procedure wk(var w,p:mmas); BEGIN for i:=1 to 4 do BEGIN w[i]:=trunc(i/2)/2; p[i]:=(1+2*w[i]-2*trunc(i/4))/6; END; END; { Підпрограма автоматичного вибору кроку } procedure run_kut(yy,f:mas; w,p:mmas; var yy1:mas); var kk:integer; label 1,2,6; BEGIN for i:=1 to n do y0[i]:=yy[i]; kk:=0; x0:=x; hh:=h; dyf(yy,f,w,p,yy); for i:=1 to n do BEGIN y1[i]:=yy[i]; yy[i]:=y0[i]; END; 6:x:=x0; h:=hh/2; dyf(yy,f,w,p,yy); for i:=1 to n do y2[i]:=yy[i]; dyf(yy,f,w,p,yy); for i:=1 to n do if abs(yy[i]-y1[i])>ep then goto 1; for i:=1 to n do yy1[i]:=yy[i]; goto 2; 1:hh:=h; kk:=1; {Поділ кроку навпіл} for i:=1 to n do BEGIN yy[i]:=y0[i]; y1[i]:=y2[i]; END; goto 6; 2:h:=hh; if kk=0 then h:=2*hh; {Збільшення кроку вдвічі} END; BEGIN {Основна програма} assign(ff,'D:\RK611.txt'); rewrite(ff); writeln(ff,' '); writeln(ff,' Runge_Kutta_4 Automation'); { writeln('Порядок рівняння N=3'); {read (n);} x:=0; xk:=9; {write(' Введіть крок H='); read(h);}h:=1; for i:=1 to n do BEGIN { write('Введіть початкове значення Y(',i,')='); read(yy[i])}; yy[1]:=0;yy[2]:=0;yy[3]:=0; END; ep:=1.0e-4; TM:=0.1;TE:=0.04;C:=2;KU:=1;S:=100;II:=25; k:=0; wk(w,p); 5:run_kut(yy,f,w,p,yy); k:=k+1; if k<>100 then goto 4; writeln(ff,' T=',x,' Yout=',yy[3]); k:=0; 4:if x<=xk then goto 5; repeat until keypressed; close(ff); END. Метод Рунге-Кутта-Мерсона program rkm611; const n=3;a=0;b=9; type vector=array[1..n] of real; var i,kk,dd,j:integer; ks:longint; x,x0,St,Ct,dS,dC,h,hh,eps:real; Tm,Te,C,S,Ky,II:real; f,y,y0,y1,y2,R:vector; ff:text; procedure dy; begin f[1]:=y[2]; f[2]:=(C*S*Ky*(1-y[3]-y[1]-Tm*y[2]))/(Tm*Te); f[3]:=y[1]/II; end; procedure rkm; var k0,k1,k2,k3,k4,z:vector; begin dy; for i:=1 to n do begin k0[i]:=h*f[i]; z[i]:=y[i]; y[i]:=z[i]+k0[i]/3; end; x:=x+h/3; for i:=1 to n do begin k1[i]:=h*f[i]; y[i]:=z[i]+k0[i]/6+k1[i]/6; end; dy; for i:=1 to n do begin k2[i]:=h*f[i]; y[i]:=z[i]+k0[i]/8+3*k2[i]/8; end; x:=x+h/3; dy; for i:=1 to n do begin k3[i]:=h*f[i]; y[i]:=z[i]+k0[i]/2-3*k2[i]/2+2*k3[i]; end; x:=x+0.5*h; for i:=1 to n do begin k4[i]:=h*f[i]; y[i]:=z[i]+(k0[i]/2-3*k2[i]/2+k4[i])/6; R[i]:=(-2*k0[i]+9*k2[i]+8*k3[i]+k4[i])/30; end; end; procedure aut_step(var y,y0,y1,y2,f:vector); label 1; begin for i:=1 to n do y0[i]:=y[i];x0:=x; 1: x:=x0; rkm; for i:=1 to n do if abs(R[i])>eps then begin h:=h/2; for i:=1 to n do y[i]:=y0[i]; goto 1; end; dd:=0; for i:=1 to n do if abs(R[i])<(eps/30) then dd:=dd+1; if dd=n then begin h:=2*h; dd:=0; end; end; begin assign(ff,'D:\rkm611.txt'); rewrite(ff); writeln(ff, ' '); writeln(ff,' Runge-Kutta-Mersona'); y[1]:=0;y[2]:=0;y[3]:=0;x:=a;h:=1;eps:=1e-2; Tm:=0.1;Te:=0.04;C:=2;Ky:=1;S:=100;II:=25; ks:=0; repeat ks:=ks+1; aut_step(y,y0,y1,y2,f); if ks=100 then begin writeln(ff, ' x=',x,' Uout=',y[3],' h=',h); ks:=0; end; until x>b; close(ff); end. 5.Результати метод Рунге-Кутта 4 порядку T= 3.0517578125E-03 Yout= 1.4054918036E-05 T= 6.1035156250E-03 Yout= 1.0988221132E-04 T= 9.1552734375E-03 Yout= 3.6199369461E-04 T= 1.2207031250E-02 Yout= 8.3744880165E-04 T= 1.5258789063E-02 Yout= 1.5964607579E-03 T= 1.8310546875E-02 Yout= 2.6929489732E-03 T= 2.1362304688E-02 Yout= 4.1750425822E-03 T= 2.4414062500E-02 Yout= 6.0855396149E-03 T= 2.7465820313E-02 Yout= 8.4623258697E-03 T= 3.0517578125E-02 Yout= 1.1338757190E-02 T= 3.3569335938E-02 Yout= 1.4744008511E-02 T= 3.6621093750E-02 Yout= 1.8703392738E-02 T= 3.9672851563E-02 Yout= 2.3238652229E-02 T= 4.2724609375E-02 Yout= 2.8368225410E-02 T= 4.8278808594E-02 Yout= 3.9276804451E-02 T= 5.4382324219E-02 Yout= 5.3672814390E-02 T= 6.0485839844E-02 Yout= 7.0642821180E-02 T= 6.6589355469E-02 Yout= 9.0206813944E-02 T= 7.2692871094E-02 Yout= 1.1235503126E-01 T= 7.8796386719E-02 Yout= 1.3705186637E-01 T= 8.4899902344E-02 Yout= 1.6423921295E-01 T= 9.1003417969E-02 Yout= 1.9383935109E-01 T= 9.7106933594E-02 Yout= 2.2575745474E-01 T= 1.0321044922E-01 Yout= 2.5988378816E-01 T= 1.1535644531E-01 Yout= 3.3386576254E-01 T= 1.2756347656E-01 Yout= 4.1542978490E-01 T= 1.3977050781E-01 Yout= 5.0298400884E-01 T= 1.5881347656E-01 Yout= 6.4834699905E-01 T= 1.8322753906E-01 Yout= 8.4275523013E-01 T= 1.9787597656E-01 Yout= 9.5941680716E-01 T= 2.1008300781E-01 Yout= 1.0545141358E+00 T= 2.2229003906E-01 Yout= 1.1462856313E+00 T= 2.3449707031E-01 Yout= 1.2335033241E+00 T= 2.4670410156E-01 Yout= 1.3150353052E+00 T= 2.5891113281E-01 Yout= 1.3898601611E+00 T= 2.7111816406E-01 Yout= 1.4570792229E+00 T= 2.8332519531E-01 Yout= 1.5159265784E+00 T= 2.9553222656E-01 Yout= 1.5657768078E+00 T= 3.0773925781E-01 Yout= 1.6061504207E+00 T= 3.1994628906E-01 Yout= 1.6367170017E+00 T= 3.3215332031E-01 Yout= 1.6572960914E+00 T= 3.4436035156E-01 Yout= 1.6678558615E+00 T= 3.5656738281E-01 Yout= 1.6685096685E+00 T= 3.6877441406E-01 Yout= 1.6595105951E+00 T= 3.8098144531E-01 Yout= 1.6412441167E+00 T= 3.9318847656E-01 Yout= 1.6142190483E+00 T= 4.0539550781E-01 Yout= 1.5790569504E+00 T= 4.1760253906E-01 Yout= 1.5364801889E+00 T= 4.2980957031E-01 Yout= 1.4872988563E+00 T= 4.4274902344E-01 Yout= 1.4289414557E+00 T= 4.6716308594E-01 Yout= 1.3053429340E+00 T= 4.9157714844E-01 Yout= 1.1708932533E+00 T= 5.1574707031E-01 Yout= 1.0351382699E+00 T= 5.2795410156E-01 Yout= 9.6804423305E-01 T= 5.4016113281E-01 Yout= 9.0318807154E-01 T= 5.5236816406E-01 Yout= 8.4144528809E-01 T= 5.6457519531E-01 Yout= 7.8362331994E-01 T= 5.7678222656E-01 Yout= 7.3045170419E-01 T= 5.8898925781E-01 Yout= 6.8257362647E-01 T= 6.0119628906E-01 Yout= 6.4053893802E-01 T= 6.1340332031E-01 Yout= 6.0479870297E-01 T= 6.2561035156E-01 Yout= 5.7570131393E-01 T= 6.3781738281E-01 Yout= 5.5349019027E-01 T= 6.5002441406E-01 Yout= 5.3830305041E-01 T= 6.6223144531E-01 Yout= 5.3017272678E-01 T= 6.7443847656E-01 Yout= 5.2902947102E-01 T= 6.8664550781E-01 Yout= 5.3470467662E-01 T= 6.9885253906E-01 Yout= 5.4693592770E-01 T= 7.1105957031E-01 Yout= 5.6537326638E-01 T= 7.2326660156E-01 Yout= 5.8958655555E-01 T= 7.3547363281E-01 Yout= 6.1907380255E-01 T= 7.5012207031E-01 Yout= 6.6062007028E-01 T= 7.7453613281E-01 Yout= 7.4196877648E-01 T= 8.1188964844E-01 Yout= 8.8455356240E-01 T= 8.3630371094E-01 Yout= 9.8104613978E-01 T= 8.5717773438E-01 Yout= 1.0606019432E+00 T= 8.6938476563E-01 Yout= 1.1044904102E+00 T= 8.8159179688E-01 Yout= 1.1457102525E+00 T= 8.9379882813E-01 Yout= 1.1837380524E+00 T= 9.0600585938E-01 Yout= 1.2181102646E+00 T= 9.1821289063E-01 Yout= 1.2484283119E+00 T= 9.3041992188E-01 Yout= 1.2743626081E+00 T= 9.4262695313E-01 Yout= 1.2956554816E+00 T= 9.5483398438E-01 Yout= 1.3121229839E+00 T= 9.6704101563E-01 Yout= 1.3236555884E+00 T= 9.7924804688E-01 Yout= 1.3302177969E+00 T= 9.9145507813E-01 Yout= 1.3318466910E+00 T= 1.0036621094E+00 Yout= 1.3286494745E+00 T= 1.0158691406E+00 Yout= 1.3208000710E+00 T= 1.0280761719E+00 Yout= 1.3085348499E+00 T= 1.0402832031E+00 Yout= 1.2921475649E+00 T= 1.0635986328E+00 Yout= 1.2506846286E+00 T= 1.0880126953E+00 Yout= 1.1956289038E+00 T= 1.1280517578E+00 Yout= 1.0894103221E+00 T= 1.1551513672E+00 Yout= 1.0139752222E+00 T= 1.1795654297E+00 Yout= 9.4877572167E-01 T= 1.2039794922E+00 Yout= 8.8988580764E-01 T= 1.2185058594E+00 Yout= 8.5910378587E-01 T= 1.2307128906E+00 Yout= 8.3618359866E-01 T= 1.2429199219E+00 Yout= 8.1623167070E-01 T= 1.2551269531E+00 Yout= 7.9945694453E-01 T= 1.2673339844E+00 Yout= 7.8601703435E-01 T= 1.2795410156E+00 Yout= 7.7601731398E-01 T= 1.2917480469E+00 Yout= 7.6951078186E-01 T= 1.3039550781E+00 Yout= 7.6649868468E-01 T= 1.3161621094E+00 Yout= 7.6693187018E-01 T= 1.3365478516E+00 Yout= 7.7504660483E-01 T= 1.3609619141E+00 Yout= 7.9597878690E-01 T= 1.3853759766E+00 Yout= 8.2738210937E-01 T= 1.4112548828E+00 Yout= 8.6950387284E-01 T= 1.4600830078E+00 Yout= 9.6249863688E-01 T= 1.4849853516E+00 Yout= 1.0107900446E+00 T= 1.5093994141E+00 Yout= 1.0550370478E+00 T= 1.5338134766E+00 Yout= 1.0938528997E+00 T= 1.5582275391E+00 Yout= 1.1253211051E+00 T= 1.5826416016E+00 Yout= 1.1480417763E+00 T= 1.6070556641E+00 Yout= 1.1611839965E+00 T= 1.6314697266E+00 Yout= 1.1645031962E+00 T= 1.6558837891E+00 Yout= 1.1583243851E+00 T= 1.6802978516E+00 Yout= 1.1434939749E+00 T= 1.7047119141E+00 Yout= 1.1213045638E+00 T= 1.7413330078E+00 Yout= 1.0778850115E+00 T= 1.7901611328E+00 Yout= 1.0112239278E+00 T= 1.8157958984E+00 Yout= 9.7703481210E-01 T= 1.8402099609E+00 Yout= 9.4751964549E-01 T= 1.8646240234E+00 Yout= 9.2252111814E-01 T= 1.8890380859E+00 Yout= 9.0322028518E-01 T= 1.9134521484E+00 Yout= 8.9041353831E-01 T= 1.9378662109E+00 Yout= 8.8448755829E-01 T= 1.9622802734E+00 Yout= 8.8541879983E-01 T= 1.9866943359E+00 Yout= 8.9279625633E-01 T= 2.0111083984E+00 Yout= 9.0586499816E-01 T= 2.0504150391E+00 Yout= 9.3615337266E-01 T= 2.1124267578E+00 Yout= 9.9517662467E-01 T= 2.1461181641E+00 Yout= 1.0260949065E+00 T= 2.1705322266E+00 Yout= 1.0455395650E+00 T= 2.1949462891E+00 Yout= 1.0613870948E+00 T= 2.2193603516E+00 Yout= 1.0729271161E+00 T= 2.2437744141E+00 Yout= 1.0797305241E+00 T= 2.2681884766E+00 Yout= 1.0816591179E+00 T= 2.2926025391E+00 Yout= 1.0788582379E+00 T= 2.3175048828E+00 Yout= 1.0715512194E+00 T= 2.3663330078E+00 Yout= 1.0469144745E+00 T= 2.4337158203E+00 Yout= 1.0018946780E+00 T= 2.4825439453E+00 Yout= 9.7163972891E-01 T= 2.5093994141E+00 Yout= 9.5863895199E-01 T= 2.5338134766E+00 Yout= 9.4990588179E-01 T= 2.5582275391E+00 Yout= 9.4446853601E-01 T= 2.5826416016E+00 Yout= 9.4246295409E-01 T= 2.6202392578E+00 Yout= 9.4587362610E-01 T= 2.6690673828E+00 Yout= 9.6026938957E-01 T= 2.7447509766E+00 Yout= 9.9482234606E-01 T= 2.7935791016E+00 Yout= 1.0168279985E+00 T= 2.8424072266E+00 Yout= 1.0329355234E+00 T= 2.8912353516E+00 Yout= 1.0402388433E+00 T= 2.9400634766E+00 Yout= 1.0380431648E+00 T= 2.9888916016E+00 Yout= 1.0277914971E+00 T= 3.0758056641E+00 Yout= 9.9961511478E-01 T= 3.1246337891E+00 Yout= 9.8486101583E-01 T= 3.1734619141E+00 Yout= 9.7490065645E-01 T= 3.2222900391E+00 Yout= 9.7141456129E-01 T= 3.2711181641E+00 Yout= 9.7450354723E-01 T= 3.3521728516E+00 Yout= 9.9007237706E-01 T= 3.4312744141E+00 Yout= 1.0082795460E+00 T= 3.4801025391E+00 Yout= 1.0163156318E+00 T= 3.5289306641E+00 Yout= 1.0199845181E+00 T= 3.5777587891E+00 Yout= 1.0189315131E+00 T= 3.6744384766E+00 Yout= 1.0064618904E+00 T= 3.7716064453E+00 Yout= 9.9136049308E-01 T= 3.8204345703E+00 Yout= 9.8695409281E-01 T= 3.8707275391E+00 Yout= 9.8585255325E-01 T= 3.9761962891E+00 Yout= 9.9343731612E-01 T= 4.0924072266E+00 Yout= 1.0062430137E+00 T
Антиботан аватар за замовчуванням

28.01.2013 12:09

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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