Lekcija i program

  • Upload
    edhem

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

  • 8/17/2019 Lekcija i program

    1/21

    Simulacija dinamičkih sistema- Elementi numeričke simulacije-

  • 8/17/2019 Lekcija i program

    2/21

    Uvodna razmatranja

    • Nakon što je uspostavljen matematički model dinamičkog sistema,postavlja se pitanje kako taj model iskoristiti.• Sa matematičkog aspekta, potrebno je riješiti sistem diferencijalnihjednačina koje predstavljaju model. • U opštem slučaju, jednačine nije moguće riješiti analitički (u

    zatvorenoj formi), te je potrebno pozvati u pomoć numeričke metodekoje su sastavni dio bilo kojeg softverskog alata za simulacijudinamičkih sistema. • U nastavku će se tretirati problem numeričkog rješenja običnihdiferencijalnih jednačina ( ordinary differential equation - ODE ).

    Specijalni algoritmi su razvijeni i za rješenja tzv. diferencijalno-algebarskih jednačina ( differential-algebraic equations - DAE ) za

    sisteme sa ograničenjima. 

  • 8/17/2019 Lekcija i program

    3/21

    Osnove numeričkih metoda 

    • Posmatrajmo model sistema u prostoru stanja.

    • Ako se ulaz u(t ) u sistem posmatra kao poznata funkcija vremena,

    gornju jednačinu možemo posmatrati kao: 

    • Pretpostavimo da nam je poznato početno stanje x(0) i da želimodobiti aproksimaciju stanja x u tačkama (vremenskim trenucima): 

    • Zadatak algoritma je da generiše vrijednosti kojeaproksimiraju:

  • 8/17/2019 Lekcija i program

    4/21

    Osnove numeričkih metoda  –  Eulerov metod

    • Najjednostavniji algoritam se bazira na aproksimaciji izvoda

    konačnom razlikom:

    gdje je

    • Sada se može pisati: 

    • Posljednja relacija predstavlja suštinu Eulerove metode ( eksplicitne  ),koja se često koristi u jednostavnim simulacijama, iako nijenajefikasnija.

  • 8/17/2019 Lekcija i program

    5/21

    Osnove numeričkih metoda  –  Eulerov metod

    •  Algoritam za numeričko rješenje diferencijalnih jednačina se u

    opštem slučaju može bazirati na relaciji: 

    • Cijeli broj k  govori o tome koliko je prethodnih vrijednosti stanja

    iskorišteno za evaluaciju novog stanja. Gornja relacija očito odgovarametodi sa k  koraka ( k-step method  ).• Ako funkcija G ne zavisi od xn+1, tada se xn+1 može dobitijednostavnim izračunavanjem izraza na desnoj strani jednačine. Utom slučaju kažemo da je metoda eksplicitna ( explicit  ).• U suprotnom, metoda je implicitna ( implicit  ) jer se jednačina morariješiti po varijabli xn+1.• Očito je da je prikazana Eulerova metoda eksplicitna (iako postoji iimplicitna metoda).

  • 8/17/2019 Lekcija i program

    6/21

    Osnove numeričkih metoda - greška 

    •  Vrlo je važno znati koliko je tačan dati metod u rješavanju

    diferencijalne jednačine. Prirodno je posmatrati tzv. globalnu grešku (  global error  ) koja je data sa:

    • Nažalost, ovu grešku nije lako izračunati. Stoga se posmatra tzv.

    lokalna greška ( one-step error, local error  ):

    gdje je varijabla data sa:

    • Ovo je greška koja se dobije korištenjem metode sa jednimkorakom, uz uslov da se sve informacije iz prethodnih koraka tačne. 

  • 8/17/2019 Lekcija i program

    7/21

    Osnove numeričkih metoda - greška 

    • Za Eulerovu metodu imamo:

    • Znajući da vrijedi: 

    imamo:

     Lokalna greška je dominantno određena veličinom h2

    , daklekvadratom koraka diskretizacije. Detaljnijom analizom se možepokazati da je globalna greška proporcionalna samom korakudiskretizacije h.

  • 8/17/2019 Lekcija i program

    8/21

    Osnove numeričkih metoda - stabilnost

    • Pored tačnosti, vrlo važan aspekt diskretizacije s ciljem rješenja

    diferencijalne jednačine je stabilnost.• Konkretno, potrebno je uspostaviti vezu između stabilnosti samenumeričke metode i stabilnosti diferencijalne jednačine koja serješava. U tu svrhu, posmatrajmo primjer skalarne diferencijalne

    jednačine: 

    • Ako koristimo Eulerovu metodu, dobićemo: 

    • Rješenje ove diferentne jednačine je: 

  • 8/17/2019 Lekcija i program

    9/21

    Osnove numeričkih metoda - stabilnost

    • Očito je da vrijede slijedeće implikacije: 

    • Regija stabilnosti za diferentnu jednačinu je disk radijusa 1 sacentrom u tački (-1, 0). S druge strane, za diferencijalnu jednačinu jeregija stabilnosti data sa . Za , će biti u regijistabilnosti (disk) ako je dovoljno malo.

     

    Izvor:

    Fabien, 2009 

    Regija stabilnosti

    za explicitni (  forward  )

    Eulerov metod 

  • 8/17/2019 Lekcija i program

    10/21

    Runge-Kutta metode

    • Posmatrajmo ponovo originalni problem. 

    • Prva relacija se može iskoristiti s ciljem dobijanja slijedeće jednačine: 

    • Ako se sada integral aproksimira proizvodom dužine intervala i vrijednosti podintegralne funkcije u sredini intervala, može se dobiti: 

  • 8/17/2019 Lekcija i program

    11/21

    Runge-Kutta metode

    • Problem predstavlja činjenica da veličina nije poznata.

    Međutim, na osnovu Eulerove metode imamo: 

    • Ako kombinujemo relacije (*) i (**), možemo pisati slijedeće: 

    • Ovo je jednostavan primjer algoritma iz klase Runge-Kutta

    algoritama. Može se pokazati da je lokalnu greška dominantnoodređena veličinom h3, što znači da je ova metoda za red veličine

    tačnija od eksplicitne Eulerove metode . 

  • 8/17/2019 Lekcija i program

    12/21

    Runge-Kutta metode

    • Generalno, metoda Runge-Kutta je opisana slijedećim jednačinama: 

    • Koeficijenti koji figurišu u Runge-Kutta metodi se mogukompaktno zapisati pomoću Butcherove tablice ( Butcher tableau  ). 

    • Broj s, kao i svi pripadajućikoeficijenti se određuju tako dametod obezbjeđuje traženi redtačnosti p, odnosno da vrijedi: 

  • 8/17/2019 Lekcija i program

    13/21

    Runge-Kutta metode –  klasični algoritam 4. reda 

    • Najčešće korišteni algoritam iz klase Runge-Kutta metoda je

    algoritam 4. reda. Konkretno, vrijedi da je , a koeficijenti(koji nisu NULE) imaju slijedeće vrijednosti: 

    Butchertableau  

     Analogija sa

    numeričkom integracijom 

    Primjer odabira koeficijenata (Simpsonovo pravilo) 

  • 8/17/2019 Lekcija i program

    14/21

     Adamsove metode

    •  Adamsove metode formiraju familiju metoda na bazi više koraka.

    Princip funkcionisanja ovih metoda se može zapisati na slijedećinačin:

     

    • Koeficijenti su odabrani tako da je red tačnosti što veći. Ako sestavi , metoda je eksplicitna. Ova opcija odgovara tzv. Adams- 

    Bashforth  metodi. Ako se pak pretpostavi da je , metoda je

    implicitna i naziva se Adams-Moulton  metoda. Najjednostavnije forme

    eksplicitnih metoda su: 

  • 8/17/2019 Lekcija i program

    15/21

     Adamsove metode

    • Najjednostavnije implicitne forme su date sa: 

    • Može se pokazati da je red tačnosti eksplicitnih metoda jednak k , aimplicitnih metoda k  + 1.

    • Za implicitne forme, neophodno je riješiti jednačinu (po xn ): 

  • 8/17/2019 Lekcija i program

    16/21

     Adamsove metode

    • Ovo se može uraditi koristeći iterativnu proceduru, gdje je početna

    tačka generisana uz pomoć eksplicitne Adams-Bashforth metode.• Postavlja se pitanje razloga korištenja implicitnih metoda koje susloženije.•  Jedan od razloga je što implicitne metode obezbjeđuju znatno veće

    regije stabilnosti od eksplicitnih metoda sa istim redom tačnosti.•  Vrijedi istaći i da se povećavanjem reda tačnosti može suziti regijastabilnosti.

     

  • 8/17/2019 Lekcija i program

    17/21

     Varijabilni korak diskretizacije

    • Često nije preporučljivo koristiti konstantan korak diskretizacije

    prilikom rješavanja diferencijalnih jednačina. U pojedinim intervalimarješenje može imati brze promjene gdje se zahtijeva malen korak, dokintervali sa sporim promjenama dozvoljavaju veće korake. • Metode automatskog podešavanja koraka su uglavnom bazirane na

    estimaciji lokalne greške. Pretpostavimo da imamo algoritam kodkojeg je lokalna greška izražena u formi: 

    • Koeficijent C  zavisi od rješenja i u pravilu je nepoznat. Akoalgoritam prođe dva koraka dužine h, imamo:

    jer se greške u dva uzastopna koraka sabiraju (približno). 

  • 8/17/2019 Lekcija i program

    18/21

     Varijabilni korak diskretizacije

    • Označimo sa  vrijednost koju bi dao algoritam ukoliko bi se

    koristio korak dužine 2h od t n do t n+2. U tom slučaju bi imali: 

    • Oduzimajući (*) od (**), dobije se: 

    • Posljednja jednačina se može iskoristiti za eliminaciju varijable C  izjednačine (*), tako da imamo:

     

    • Ako je korak h dovoljno mali da bi se ostatak mogao

    zanemariti, tada desna strana posljednje jednačine sadrži poznate

     veličine što znači da imamo procjenu greške. 

  • 8/17/2019 Lekcija i program

    19/21

     Varijabilni korak diskretizacije

    • Estimacija greške se može iskoristiti na razne načine, ali generalno,

    princip je se korak diskretizacije mijenja s obzirom na grešku.• Ukoliko estimacija greške premaši neki unaprijed zadani nivotolerancije ( absolute tolerance , relative tolerance  ), koji se zadaje od strane

    korisnika, korak h se smanjuje. Obrnuto, ako je estimacija greške

    daleko ispod nivoa tolerancije, korak h se može povećati. • Ovo je princip nekih od najviše korištenih metoda za numeričkorješavanje diferencijalnih jednačina sa adaptivnim korakom, poputDormand-Prince * metode (ode45), Bogacki-Shampine  metode (ode23) itd.

    • Dormand-Prince metoda koristi dva rješenja sa stepenom tačnosti 4

    i 5. Razlika ova dva rješenja se koristi za procjenu greške, te dalje zaadaptaciju koraka integracije. 

    * Pogledati dodatni materijal.

  • 8/17/2019 Lekcija i program

    20/21

    Krute diferencijalne jednačine 

    • Krute ( stiff  ) diferencijalne jednačine su okarakterisane činjenicom da

    njihova rješenja sadrže i “brze” i “spore” komponente i da je razlikaodgovarajućih vremenskih konstanti značajna. • Za ovakve jednačine je moguće da mala perturbacija početnihuslova može prouzrokovati velike promjene u rješenju problema. •

     Posmatrajmo sistem dat jednačinom: 

    • Rješenje navedenog sistema jednačina je dato sa: 

  • 8/17/2019 Lekcija i program

    21/21

    Krute diferencijalne jednačine 

    • Ako bismo htjeli simulirati ovakav sistem, morali bismo početi sa

     vrlo malim korakom da bi se “upratio” brzopromjenljivi članpredstavljen sa . 

    • Međutim, djelovanje ovog člana brzo iščezava te je rješenjekarakterisano samo članom . Kako ovaj član opisuje mnogo

    sporiju promjenu, logično je povećati korak, ali moramo voditi računao uslovu stabilnosti.

    • Proizvod mora biti unutar regije stabilnosti, što opet zahtijeva manjikorak. Jedan način pristupa ovom problemu je korištenje metoda sa

    dovoljno velikom regijom stabilnosti tako da se može napravitikompromis između stabilnosti i tačnosti.• Ovo je jedan od razloga zašto se za rješenje stiff   problemauglavnom koriste implicitne metode (npr. Rosenbrock metoda).