630 likes | 886 Views
Modelowanie i symulacja. WYKŁAD 2. Kilka generalnych aspektów modelowania matematycznygo. Zjawiska/modele liniowe vs nieliniowe Reprezentacja ciągła/dyskretna (rozwiązanie symboliczne vs numeryczne) Zjawiska/modele statyczne vs dynamiczne. Liniowość - kryterium. Kryterium
E N D
Modelowanie i symulacja WYKŁAD 2
Kilka generalnych aspektów modelowania matematycznygo • Zjawiska/modele liniowe vs nieliniowe • Reprezentacja ciągła/dyskretna (rozwiązanie symboliczne vs numeryczne) • Zjawiska/modele statyczne vs dynamiczne
Liniowość - kryterium • Kryterium • Znane jako zasada superpozycji • W istocie: dwa warunki:
Kryterium rozstrzygające • Zjawisko, które nie spełnia kryterium liniowości jest nieliniowe
Przykład • W elektrotechnice obwody RLC są nazywane liniowymi • Rezystor R: tgα=1/R
Przykład • Co mówi kryterium?
Przykład: cewka • Cewka: • Prawo znane jako reguła Lenza – rozłączanie i załączanie obwodów indukcyjnych jest ryzykowne (przepięcia)
Przykład: cewka • Kryterium:
Ćwiczenie • Czy kondensator jest też elementem liniowym? • Kondensator:
R=1/D Przykład • To jest układ liniowy
Przykład • To też jest układ liniowy (zasada superpozycji)
Przykłady • Nie są liniowe np. zjawiska na giełdzie papierów wartościowych: „jeśli w ciągu miesiąca te akcje przyniosły 3 tys. zł, to w ciągu roku przyniosą 36 tys. zł. zysku (rzucam pracę!)” – niestety, nie.
Dlaczego tak ważne, żeby rozróżniać? • Nałożenie warunku na układ to stworzenie równania lub nierówności • Np.: „Przez ten rezystor (1kΩ) nie może płynąć prąd większy niż 100mA”: (czyli przypadek graniczny:)
Dlaczego tak ważne ...? • Rozwiązanie równania to wyznaczenie jakiegoś interesującego parametru: • Jeżeli mamy kilka zmiennych niezależnych, i nałożymy na nie kilka warunków ograniczających i wiążących je ze sobą, to powstanie zbiór (układ) równań
Dlaczego tak ważne ...? • Układ równań opisujących zjawiska liniowe będzie układem równań liniowych • Jeśli choć jeden fragment systemu ma charakter nieliniowy – powstanie układ równań nieliniowych • Na rozwiązywanie równań/układów równań liniowych jest dobra metoda, w przypadku równań/układów równań nieliniowych – jest dużo gorzej
Równania liniowe/nieliniowe • Bez problemu można rozwiązać liniowe równanie: • Niektóre równania nieliniowe można rozwiązać również dość łatwo:
Równania liniowe/nieliniowe • Większość jednak równań nieliniowych dostarcza nam dużo większych kłopotów:
Układy równań liniowych • Na rozwiązywanie układów równań liniowych są metody, których mają trzy ważne cechy: • Algorytm zawsze kończy pracę w obrębie ściśle określonego limitu liczby kroków obliczeniowych • Algorytm zawsze znajduje unikalne rozwiązanie lub potrafi stwierdzić, że takiego rozwiązania nie ma • Dokładność wyznaczenia rozwiązania jest związana z dokładnością obliczeń maszyny liczącej a nie jest cechą algorytmu (można więc w pewnym sensie powiedzieć, że algorytm wyznacza rozwiązanie dokładne)
Reprezentacja ciągła i dyskretna • „Świat jest ciągły” • (czy aby na pewno?) • atomy • kwanty
Paradox Zenobiusza • Czy Achilles dogoni ślimaka? • Nie: gdy Achilles znajdzie się w miejscu, gdzie chwilowo był ślimak, ślimak będzie już troszkę dalej...
ε ε δ Ciągłość • Definicja: funkcja f(x) jest ciągła w punkcie x0 δ?
Ciągłość • Liczby rzeczywiste – pomiędzy dowolnymi dwiema różnymi liczbami rzeczywistymi jest nieskończenie wiele innych liczb rzeczywistych • Ciągłość ma dla ludzi wielkie znaczenie – bez założenia ciągłości nie można podejmować żadnych decyzji
Dyskretyzacja • Ograniczenie nieskończonej ilości danych potrzebnych do opisania ciągłego obiektu • Opis ciągły – tylko symbolicznie, np.: • Jak to jest zapisane na płycie CD?
Dyskretyzacja Próbkowanie – mierzenie wartości sygnału w określonych, regularnych chwilach czasu (nie musi być czas, nie musi być regularnie)
Dyskretyzacja amplitudy - kwantyzacja • Amplituda też jest ciągła
Dyskretyzacja, kwantyzacja • To samo można oczywiście zrobić w innych dziedzinach niż tylko czas, np. w przestrzeni (obraz) • Dość oczywista utrata danych, która może się dość nieprzyjemnie zamanifestować
Dyskretyzacja, kwantyzacja Niejednoznaczność uzyskanej informacji (np. tzw. aliasing, albo tzw. szum kwantyzacji):
Dyskretyzacja, kwantyzacja • Utrata informacji o istotnych cechach sygnału (np. max. amplituda)
Dyskretyzacja, kwantyzacja • Tak więc zabieg kwantyzacji i dyskretyzacji jest konieczny ... • ... ale równie konieczne jest określenie związanych z tym błędów
Dyskretyzacja • Problemy z aliasingiem – odpowiednia częstotliwość próbkowania, zgodnie z kryterium Nyquista, max częstotliwość, która może być reprezentowana przy próbkowaniu z częstotliwością fs to fs /2
Dyskretyzacja • Problem utraty informacji o wartości ekstremalnej – odpowiedni układ próbkowania (np. tzw. track & hold)
Dyskretyzacja • W każdym razie zawsze po próbkowaniu mamy pewną nieoznaczoność w czasie: próbka to wartość, która w próbkowanej funkcji leży gdzieś wewnątrz przedziału próbkowania
Kwantyzacja • Typowa operacja kwantyzacyjna stosowana w praktyce symulacyjnej to reprezentacja liczb za pomocą arytmetyki komputerowej o skończonej dokładności: • jako liczb całkowitych o różnej długości reprezentacji (8-, 16-, 32-bitowe – char, short int, int) • jako liczb niecałkowitych o różnej długości reprezentacji – tzw. arytmetyka zmiennoprzecinkowa (32-bitowe – single oraz 64-bitowe – double)
Arytmetyka zmiennoprzecinkowa • Każda liczba rzeczywista da się wyrazić, jako: (zakładając, że s jest nieskończone) • Ciąg cyfr d (liczba mniejsza od 1) to tzw. mantysa, e to tzw. wykładnik (eksponent). Eksponent jest liczbą całkowitą ze znakiem. • Taka sama reprezentacja jest możliwa w innych bazach, nie tylko dziesiętna.
Arytmetyka zmiennoprzecinkowa • Reprezentacja o skończonej precyzji: • s jest skończone, • e ma ograniczony zakres: m < e < M
Arytmetyka zmiennoprzecinkowa • Taka reprezentacja ma pewną określoną dokładność – liczba wyrażona w ten sposób reprezentuje pewien zakres liczb rzeczywistych. • Oczywiście zbiór liczb w tej arytmetyce jest skończony. • Liczby w tej arytmetyce nie są równomiernie rozłożone.
Arytmetyka zmiennoprzecinkowa • Np. dla s=1, w bazie β=4 dla wykładnika w zakresie od m=-1 do M=1: ±0.9*4 –1, ±0.9* 4 0 , ± 0.9*4 1, ± 0.8*4 1,...
Arytmetyka zmiennoprzecinkowa • W komputerach PC często stosuje się standard IEEE768, w którym bazą reprezentacji jest baza dwójkowa, i zdefiniowane są dwie precyzje: • pojedyncza, łącznie 32 bity na liczbę: mantysa ma 24 bity (włączając bit znaku), wykładnik – 8 bitów (włączając bit znaku) • podwójna, 64 bity: mantysa 53 bity, wykładnik 11 bitów
Arytmetyka zmiennoprzecinkowa • Reprezentacja liczb w tej arytmetyce obarczona jest oczywistym błędem skończonej precyzji, tzw. błędem zaokrąglenia lub błędem obcięcia • Prawdziwym jednak problemem są błędy występujące przy rezlizacji procedury obliczeniowej: tzw. overflow (przepełnienie), underflow, błędy akumulacji i kasowania
Overflow, underflow • Występowanie błędu overflow jest związane z tym, że reprezentacja zmiennoprzecinkowa ma swoją maksymalną wartość: 0.9999(...)* βM • Jeśli cząstkowy wynik obliczeń przekroczy tę wartość, wystąpi błąd przepełnienia
Overflow Wcale nietrudno o wystąpienie takiej sytuacji, a co gorsza, zależy to od sekwencji obliczeń
Overflow Np. obliczanie wyznacznika macierzy obejmuje obliczenie iloczynu liczb, powiedzmy: Jeśli np.: a M=100, to iloczyn nie da się wyliczyć, a iloczyn: - da
Overflow • Dość typowa operacja, wyznaczenie normy (wielkości) jakiegoś wektora, np. normy Euklidesowej: (przypadek szczególny):
Underflow • Błąd typu underflow jest mniej „gwałtowny”, zawsze może być naprawiony poprzez założenie wyniku równego zero
Underflow • ale, np. test zmiany znaku dla procedury szukania miejsca zerowego:
β Obcinanie, zaokrąglenie • Obcinanie: • Zaokrąglanie: najpierw do liczby należy dodać , później dokonać obcinania
Błędy • Absolutny: prawdziwa wartość – przybliżona wartość • Względny: (prawdziwa wartość – przybliżona wartość) / przwdziwa wartość
Względne błędy obcięcia i przybliżenia • Błąd obcięcia • Błąd przybliżenia