Zadatak
za petu laboratorijsku vježbu iz APR-a
Implementirati metode
numeričke integracije po Runge-Kutta postupku 4. reda
(stranica 7-35 sa predavanja) te trapeznom postupku. Program
treba (iz datoteka) učitavati matrice sustava A i B
te početno stanje x(t=0). Za uporabu trapeznog postupka potrebno
je zadani linearni sustav prethodno transformirati u eksplicitni oblik
(predavanja 7-24, 25). Sustav je općenitog oblika:
Potrebno je bez prevođenja programa omogućiti zadavanje željenog koraka integracije (T) i vremenskog
intervala za koji se provodi postupak. Program treba paralelno rješavati sustav
po oba zadana postupka te prilikom rada ispisivati varijable stanja na ekran,
no ne u svakoj iteraciji nego svakih nekoliko iteracija (omogućiti da taj broj
zadaje korisnik). Osim na ekran, ispis je uputno preusmjeriti i u datoteku. Nakon
završetka postupka potrebno je (pozivom MATLABovih funkcija) nacrtati kretanje varijabli
stanja za oba postupka izračunavanja (vodoravna os je vrijeme, uspravna su
vrijednosti).
Za pretvorbu sustava u
eksplicitni oblik i crtanje rezultata mogu se koristiti MATLABove funkcije.
Korištenje istih iz C/C++ programa opisano je ovdje:
Integracija
C/C++-a sa MATLABom
Primjeri sustava
Sustav predstavlja
matematičko njihalo. x1(t=0) je početni odmak od ravnotežnog položaja a x2(t=0)
je početna brzina. Analitičko rješenje sustava je
x1[t] = x1(t=0)*Cos[t] + x2(t=0)*Sin[t];
x2[t] = x2(t=0)*Cos[t] - x1(t=0)*Sin[t]
Želimo li npr. dobiti
sustav s prigušenjem, element matrice A sa indeksom (2,2) treba
postaviti na negativnu vrijednost.
Fizikalno njihalo s
prigušenjem (primjer sa auditornih). Isprobajte postupke s periodom integracije
T = 0.1 za oba postupka i obratite pažnju na numeričku stabilnost! (uz početne uvjete sa auditornih vježbi)