Ten artykuł przedstawia wykorzystanie funkcji programu Dymola do obliczania wartości własnych (eigenvalues), wraz z jej składnią, danymi wejściowymi oraz interpretacją wyników. Posiada on również na celu zaprezentowanie wybranych wykresów/diagramów wygenerowanych w oprogramowaniu, które pozwalają lepiej zrozumieć układy liniowe, a także zwięzłe wyjaśnienie, czym są wektory własne (eigenvectors) oraz ich wartości własne.
Osobny artykuł zawiera praktyczny przykład, dobrany tak, aby był jak najprostszy, który wskazuje wybrane obszary inżynierii, gdzie omawiane pojęcia mają zastosowanie. Dołączono tam również przykładowy kod, przy czym warto pamiętać, że wygenerowane diagramy są wynikiem skryptowania wielokrotnych przebiegów tego kodu!
Modelica.Math.Matrices.eigenValues
Rysunek 1. Użycie funkcji wyznaczającej wektory własne w celu uzyskania wektorów własnych i powiązanych z nimi wartości własnych.
Powszechnie mówi się na przykład, że z daną macierzą związana jest określona liczba wektorów własnych
Zgodnie z konwencją wektory własne podaje się albo jako wektory jednostkowe, albo z największą składową ustawioną na jedność. W programie Dymola stosuje się to pierwsze podejście. Przydatne, rozwiązane przykłady, które podkreślają i ilustrują to zagadnienie, można znaleźć w pracy (Boyce & DiPrima, 2001) lub w dowolnym podobnym podręczniku omawiającym liniowe układy równań różniczkowych.
Portrety fazowe
Dymola umożliwia modelowanie różnorodnych trajektorii, takich jak w poniższym przykładzie.
Poniższy diagram jest wynikiem całkowania układu liniowego z wykorzystaniem macierzy
Każda linia odpowiada całkowaniu po czasie układu liniowego dwóch sprzężonych równań różniczkowych (Boyce & DiPrima, 2001) w oparciu o różne warunki początkowe, tj. wartości startowe. Na tym diagramie seria linii rozpoczyna się w prawym dolnym oraz lewym górnym rogu diagramu, natomiast druga seria bierze swój początek na okręgu wokół środka.
(3) Linie, których warunki początkowe plasują je (prawie) dokładnie na kierunku wektora własnego z dodatnią rzeczywistą wartością własną, poruszają się po prostu na zewnątrz wzdłuż tego kierunku wektora własnego, po linii prostej.
Rysunek 2. Portret fazowy – z wyraźnie widocznymi rzeczywistymi wektorami własnymi (czarne strzałki, oznaczone jako 1 i 2, oraz odpowiadające im wektory w przeciwnych kierunkach). Widoczne są trajektorie (wskazane przez czerwone przerywane strzałki oraz „3”) pokazujące ścieżkę, która już znajduje się na wektorze własnym skierowanym „na zewnątrz” (tzn. o dodatniej rzeczywistej wartości własnej) i dlatego po prostu kontynuuje ruch wzdłuż niego po linii niemal prostej.
Rysunek 3. W przypadku zespolonych wartości/wektorów własnych zmienne zmieniają się sinusoidalnie zgodnie z wzorem De Moivre’a.
Macierz współczynników użyta dla powyższego układu to
Spiralny portret fazowy jest trudniejszy pod względem matematycznym, ale reprezentuje szeroką klasę rzeczywistych układów. Zlinearyzowane wahadło (w tym przypadku wiszące w dół) z tłumieniem tworzy spiralę zbiegającą do wewnątrz. Oznacza to, że dowolne warunki początkowe skutkują oscylacjami prędkości i przemieszczenia, przesuniętymi w fazie o 90 stopni.
Eliptyczny kształt diagramu potwierdza sinusoidalny przebieg zmiennych w czasie, w przeciwieństwie do przebiegu wykładniczego, w którym wartości własne są czysto rzeczywiste, czego spodziewalibyśmy się po równaniu różniczkowym drugiego rzędu w tym przykładzie.
Przykładowy kod
Wymóg dotyczący wymiarowania tablicy wyników
Istnieją aspekty programu Dymola, które nie są dostępne za pośrednictwem tej funkcji ze względu na sposób, w jaki zewnętrzna procedura przekazuje wynik z powrotem do programu. (Sprawdź w PDF)
Rysunek 4. Kod, który nie określa jawnie rozmiarów macierzy wyników, kończy się niepowodzeniem podczas użycia funkcji eigenValues.
Pełny model przykładowy (dla układu liniowego 2×2)
To jest kompletny przykład kodu Modelica demonstrujący użycie wbudowanej w programie Dymola funkcji do obliczania wartości własnych. Funkcja ta jest stosowana do macierzy liniowej A o wymiarach 2×2. W tym przykładzie wektory własne oraz wartości własne macierzy są zapisywane do pliku tekstowego; wartości te przedstawiono na końcu Rysunku 5. Spróbuj skopiować ten kod do programu Dymola, aby samodzielnie przetestować funkcję wyznaczania wartości własnych.
Kliknij htutaj, aby wyświetlić pełny model przykładowy
Rysunek 5. Kod służący do uzyskiwania wektorów własnych i zapisu do pliku.
Interpretacja wyników i zastosowania
Pojęcie wektorów własnych i powiązanych z nimi wartości własnych stanowi kluczową koncepcję w algebrze liniowej, dlatego przygotowano dalsze rozwinięcie tematu wraz z interesującą literaturą dla studentów i specjalistów, którzy chcą się zorientować w temacie lub przypomnieć sobie istotne kwestie. Dla celów ilustracyjnych przedstawiono obszary inżynierii, w których pojęcia te się pojawiają i w których można wykorzystać omawiane (provided ) funkcje programu Dymola.
Pojęcie wektorów własnych
Wektor własny („eigen” – oznaczający własny) danej macierzy w wyniku pomnożenia przez tę macierz daje swoją skalarną wielokrotność.
Na przykład, jeśli Mv = 5v, wówczas v jest wektorem własnym macierzy M (ponieważ v oraz 5v mają ten sam kierunek / stosunek pomiędzy składowymi). Powiązana wartość własna [1] wynosi wtedy 5. Macierz M zawsze przeskaluje wektor v o współczynnik 5.
W ogólnym przypadku elementy wektorów własnych oraz współczynniki skalujące (czyli wartości własne) będą liczbami zespolonymi. Wektor dwuwymiarowy (2D), w którym każdy element ma część rzeczywistą i urojoną, jest trudny do zwizualizowania, a skalowanie przez współczynnik zespolony jest również trudne do wyobrażenia.
[1] Wartości własne są jednak bardzo często liczbami zespolonymi.
Bibliografia
Adhikari, S. & Srikantha, P. A., 2008. Rayleigh Quotient and Dissipative Systems. Journal of Applied Mechanics, p. 6.
Boyce, W. E. & DiPrima, R. C., 2001. Elementary Differential Equations & Boundary Value Problems. 7th ed. Troy, NY: John Wiley & Sons Inc..
Inman, D. J., 2001. Engineering Vibration, Second Edition. Upper Saddle River: Prentice Hall.
Inman, D. J. & Lallement, G., 1995. A Tutorial On Complex Eigenvalues. Orlando FL, Society for Experimental Mechanics.
Lay, D. C., 1997. Linear Algebra & It’s Applications, Second Edition. Boston MA: Addison Wesley.
Ruijgrok, P. i. d. G. J. J., 1990. Elements of Airplane Performance. Delft: Delft University Press.
Various, 2015. http://www.netlib.org/lapack/. [Online] Available at: http://www.netlib.org/lapack/[Accessed 22 December 2015].
Wakker, p. i. K., 2001. Astrodynamics Lecture Notes – AE4874 I. Delft: Delft University Press.