Jesteś gotowy do rozmowy?

Wykorzystanie wbudowanej funkcji wartości własnych

Spis treści

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

Figure 1_Using the eigenvector function to obtain eigenvectors and associated eigenvalues_2

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łasnych1. W rzeczywistości ma się na myśli „kierunki własne” (eigen-directions) lub „stosunki własne” (eigen-ratios). Dowolna skalarna wielokrotność każdego wektora własnego jest również wektorem własnym – kluczowa jest zatem relacja pomiędzy jego składowymi!

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 2 dla szeregu różnych warunków początkowych. Wszystkie trajektorie zbiegają do jednego (1) wektora własnego (biegnącego od lewego górnego do prawego dolnego rogu) 1.3.1dla oraz do drugiego (2) wektora własnego (biegnącego od lewego dolnego do prawego górnego rogu) dla 1.3.2.

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.

Figure 2

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.

Figure 3

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 to3.

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)

Figure 4

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

Figure 5

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.

 

Figure 6

6.1

 

Przykłady zastosowań oraz znany, rozwiązany krok po kroku przykład znajdują się w towarzyszącym artykule


[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.

Chcesz porozmawiać z ekspertem?

Nasi inżynierowie są gotowi zapewnić dostosowane do potrzeb doradztwo i wsparcie, dysponując dogłębną wiedzą na temat pełnego portfolio Dassault Systèmes.

Chcesz otrzymywać więcej takich treści?

Zarejestruj się, aby otrzymywać cotygodniowe podsumowanie opinii ekspertów zaraz po ich opublikowaniu..

  • Powiązane wiadomości i artykuły prosto do Twojej skrzynki odbiorczej
  • Wskazówki, porady i porady
  • Artykuły o przywództwie myślowym