Układy równań różniczkowych
Benny: Czy ktoś mógłby podrzucić jakiś skrypt lub pokazać jak rozwiązuje się układy równań
różniczkowych liniowych?
18 gru 17:18
18 gru 17:20
Benny: Widziałem to, opisany jest jakiś szczególny przypadek. Co jeśli mamy wartości własne
wielokrotne lub zespolone?
18 gru 17:22
Metis: Jest taki skrypt z AGHu

Mam go w domu.
18 gru 22:49
Benny: Znaczy ja mam też skrypt tylko nie jestem pewny czy wszystkie przypadki są brane pod uwagę.
Chciałem się upewnić czy dobrze liczę
18 gru 22:56
jc:
Czy masz jakiś konkretny przykład układu równań?
18 gru 22:59
Benny: Znaczy się chodzi mi o metodę rozwiązywania. Mam pewne twierdzenie w skrypcie i nie wiem jak
powinienem rozwiązywać.
Weźmy np. układ
x'=x−y+z, y'=x+y−z, z'=2x−y
Tworzę macierz 3x3, szukam wartości własnych, następnie wektory własne i tworzę układ
fundamentalny.
Mam też podane twierdzenie.
Niech λ1, λ2, ..., λn będą wartościami własnymi. Wówczas macierz fundamentalna ma postać
X(t)=n−1∑j=0uj+1(t)Pj,
gdzie
Pj= j∏k=1(A−λkI) dla j=1,2,...,n−1, P0=I
Nie wiem czy te sposoby się jakoś różnią. Wydaje mi się że to twierdzenie jest przydatne dla
większych układów równań.
18 gru 23:07
jc: Tu akurat masz 3 różne wartości własne: −1,1, 2.
Jeśli wartości własne k
1,k
2, k
3 są różne, to
exp(tM) = a(t) I + b(t) M + c(t) M
2.
Funkcje a,b,c są kombinacjami liniowymi e
k1t, e
k2t, e
k3t.
| k2k3 ek1t | |
a= |
| |
| (k1−k2)(k1−k3) | |
| k1k3 ek2t | |
+ |
| |
| (k2−k1)(k2−k3) | |
| k1k2 ek3t | |
+ |
| |
| (k3−k1)(k3−k2) | |
Podobnie wyglądają b i c. Podstawiasz i masz wynik.
18 gru 23:26
jc: W b masz k2+k3 zamiast k2k3 itd, a w c po prostu jedynki
(spojrzałem na jakieś stare notatki).
18 gru 23:34
Benny: Chyba jednak zostanę przy swoim. Możesz stwierdzić czy tak jak robię jest ok i odnieść się do
tego twierdzenia?
18 gru 23:34
jc:
X(t) = exp(tA)?
Pj to rzuty.
A czym są uj+1(t)?
18 gru 23:40
Benny: u1'(t)=λ1u1(t), u1(0)=1
uj'(t)=λjuj(t)+uj−1(t), uj(0)=0, j=2,...,n
18 gru 23:45
Mariusz:
http://winntbg.bg.agh.edu.pl/skrypty2/0065/niedoba.pdf
W skryptach masz takie możliwości
1. Metoda całek pierwszych
(zapisujesz układ w postaci symetrycznej i znajdujesz niezależne całki pierwsze tego układu)
2. Metoda eliminacji
(Sprowadzasz układ równań do równania liniowego wyższego rzędu)
3. Metoda Eulera
(Obliczasz exponentę macierzy z wykorzystaniem wartości własnych i
uogólnionych wektorów własnych)
4. Metoda operatorowa
(Korzystasz z przekształcenia Laplace)
18 gru 23:49
jc:
Dla Twojej macierzy mamy:
exp(tM) = [1/3 e−t + et − 1/3 e2t]
+ [1/2 e−t −1/2 et ] M + [1/6 e−t − 1/2 et + 1/3 e2t] M2
Nie jest tak strasznie ...
18 gru 23:52
jc: Ja akurat potrzebowałem konkretnego wzoru. Jak widzisz w przypadku Twojej macierzy
wystarczyło podstawić za ki wartości −1,1,2.
Moje wzory nie obejmują wielokrotnych wartości własnych (choć odpowiednie wzory
nie trudno uzyskać).
18 gru 23:56
bezendu:
jc kojarzysz może metodę simplex ?
18 gru 23:58
Mariusz:
Dla stałych współczynników rozwiązanie układu jest postaci
x=eAtx0
więc mając uogólnione wektory własne nie trzeba liczyć sumy wszystkich wyrazów szeregu aby
dostać rozwiązanie
Eksponentę macierzy można policzyć korzystając z macierzy fundamentalnej układu
18 gru 23:58
Mariusz:
Benny
x'=x−y+z, y'=x+y−z, z'=2x−y
Zapisujesz układ w postaci
dx | | dy | | dz | | dt | |
| = |
| = |
| = |
| |
x−y+z | | x+y−z | | 2x−y | | 1 | |
i teraz znajdź trzy niezależne całki pierwsze tego układu
19 gru 00:02
jc: Metoda sympleks. Każdy informatyk i ekonomista ćwiczy na studiach (programowanie liniowe)
Na pewno w wielu miejscach dobrze opisane. Kiedyś nawet zamierzałem się tego nauczyć.
19 gru 00:03
bezendu:
No własnie dwufazowy simplex sprawia mi problem
19 gru 00:07
jc: Mariusz, a teraz nas naucz, jak się takie równanie rozwiązuje
19 gru 00:09
Benny: Też chciałbym to wiedzieć
19 gru 00:14
Mariusz:
No właśnie to jest najtrudniejsze ale metoda wygląda na najbardziej ogólną z tych
czterech które podałem
Jeżeli uda nam się znaleźć takie funkcje aby
f1(x)(x−y+z)+f2(y)(x+y−z)+f3(z)(2x−y)=0
to możemy znaleźć całkę pierwszą i wyrugować jedną ze zmiennych
W równaniach jest co najmniej jedna zmienna która przeszkadza w tym aby rozwiązać
te równania osobno
19 gru 00:34
Mariusz:
Benny miałeś równania wyższych rzędów ?
Jeśli tak to może jednak zacznij od metody eliminacji
Działa podobnie jak metoda podstawiania w układach równań liniowych z algebry
Metoda całek pierwszych pozwoli ci więcej układów rozwiązać co więcej
będzie przydatna przy rozwiązywaniu równań różniczkowych cząstkowych pierwszego rzędu
ale trudniej znaleźć te niezależne całki pierwsze
19 gru 00:41
Benny: Miałem metodę eliminacji, wiem jak działa.
Nadal nie wiem czy metodą o którą pytałem na początku działa w każdym przypadku.
19 gru 00:50
Mariusz:
Metoda z wartościami i wektorami własnymi działa dla układów równań liniowych jednorodnych
o stałych współczynnikach
Dla układów niejednorodnych też jest uzmiennianie stałych
19 gru 00:55
Mariusz:
Benny pamiętasz jak pytałem cię o diagonalizację i rozkład Jordana macierzy
Teraz jest ten moment gdzie i tobie może się to przydać
Ja w skryptach mam inne podejście − bez rozkładu macierzy
19 gru 01:03
Benny: Jednak czy zmienia się coś gdy mamy wartości wielokrotne?
19 gru 01:03
Benny: Mam to pewnie gdzieś w notatkach z algebry. Nie mam jednak teraz do tego dostępu.
19 gru 01:04
jc: Może się coś zmienić.
A=
[1 0]
[0 1]
exp(ta)=
[et 0]
[0 et]
Nic nowego.
A=
[1 1]
[0 1]
exp(ta)=
[1 t] [et 0]
[0 1] [0 et] =
[et tet]
[0 et ]
Pojawił się wyraz t et.
19 gru 01:14
Mariusz:
Wtedy zamiast diagonalizacji używasz rozkładu Jordana macierzy
Ja w skryptach mam takie podejście
x=e
Atx
0
Niech (A−λI)
kx
0=0
gdzie k to krotność wartości własnej
e
At=e
λIt+(A−λI)t=e
λte
(A−λI)t
Ponieważ liczymy x=e
Atx
0
oraz (A−λI)
kx
0=0 to gdy będziemy liczyli e
(A−λI)t
z sumy szeregu to po k. wyrazie składniki nam się wyzerują
| t2 | | t3 | |
e(A−λI)tx0=(I+(A−λI)t+(A−λI)2 |
| +(A−λI)3 |
| +...+ |
| 2 | | 6 | |
Eksponentę macierzy możesz policzyć korzystając z macierzy fundamentalnej układu
e
At=Φ(t)Φ
−1(0)
19 gru 01:18
Benny: jc mógłbyś to jakoś wytłumaczyć?
19 gru 01:25
Mariusz:
To jest pewnie związane z rozkładem Jordana
No ciekawe jak ci wytłumaczy skoro mi nie chciał pokazać rozkładu Jordana
Jak masz go w notatkach z algebry to je wygrzeb a na pewno coś znajdziesz
19 gru 01:35
Benny: Udało mi się to rozwiązać sposobem ze skryptu który podrzuciłeś.
19 gru 01:38
jc: Benny, czy Twój wynik różni się od mojego z godziny 23:53?
19 gru 11:42
jc: 23:52
19 gru 11:43
Benny: Nie, wyszło to samo.
19 gru 12:02
Benny: Och, miałem na myśli przykład z 01:14
19 gru 12:23
jc: A jak z pierwszym przykładem?
Inny sposób. Różniczkujesz dwa razy i eliminujesz y, z. Ale to pewnie znasz.
19 gru 12:37
Benny: Chyba tego nie znam. Wiem, że można sobie wyrugować jedną zmienną, zróżniczkować i podstawiać.
19 gru 12:41
Benny: Tym sposobem drugim, który podałem też działa.
19 gru 13:44
Mariusz:
Benny twierdziłeś że to znasz
Przykład
x'=x−y+z, y'=x+y−z, z'=2x−y
z=x'−x+y
y'=x+y−(x'−x+y)
x''−x'+y'=2x−y
z=x'−x+y
y'=2x−x'
−x''+x'+2x−y'=y
−x'''+x''+2x−y''=y'
−x'''+x''+2x−(2x'−x'')=2x−x'
−x'''+x''+2x'−2x'+x''−2x+x'=0
x'''−2x''−x'+2x=0
z=x'−x+y
y=−x''+2x'
x'''−2x''−x'+2x=0
19 gru 14:44
Benny: Tak, ale rozwiązywałem tak tylko przypadki dla dwóch równań.
19 gru 14:47
Benny: Tak samo pójdzie takie równanie?
x'=−2x+y+z+1
y'=2y
z'=3z+t
x(0)=1, y(0)=1, z(0)=1
19 gru 15:02
Benny: Z drugiego wyznaczam y, z trzeciego wyznaczam z i podstawiam do pierwszego, aby wyliczyć x i to
już koniec?
19 gru 15:15
Mariusz:
Benny rozpatrz najpierw jednorodne
x'=−2x+y+z
y'=2y
z'=3z
z=x'+2x−y
y'=2y
x''+2x'−y'=3(x'+2x−y)
z=x'+2x−y
y'=2y
x''+2x'−y'=3x'+6x−3y
z=x'+2x−y
y'=2y
x''+2x'−2y−3x'−6x+3y=0
−x''+x'+6x=y
z=x'+2x−y
y=−x''+x'+6x
−x'''+x''+6x'=2(−x''+x'+6x)
z=x'+2x−y
y=−x''+x'+6x
−x'''+x''+6x'=−2x''+2x'+12x
x'''−3x''−4x'+12x=0
z=x'+2x−y
y=−x''+x'+6x
λ3−3λ2−4λ+12=0
λ2(λ−3)−4(λ−3)=0
(λ2−4)(λ−3)=0
(λ+2)(λ−2)(λ−3)=0
x=C1e−2t+C2e2t+C3e3t
x'=−2C1e−2t+2C2e2t+3C3e3t
x''=4C1e−2t+4C2e2t+9C3e3t
y=−4C1e−2t−4C2e2t−9C3e3t−2C1e−2t+2C2e2t+3C3e3t
+6C1e−2t+6C2e2t+6C3e3t
y=4C2e2t
z=x'+2x−y
z=−2C1e−2t+2C2e2t+3C3e3t+2C1e−2t+2C2e2t+2C3e3t
−4C2e2t
z=5C3e3t
x=C1e−2t+C2e2t+C3e3t
y=4C2e2t
z=5C3e3t
Teraz rozwiązujesz układ równań
e−2tC1'(t)+e2tC2'(t)+e3tC3'(t)=1
4e2tC2'(t) =0
5e3tC3'(t)=t
ys=C1(t)e−2t+C2(t)e2t+C3(t)e3t
19 gru 22:54
Benny: Całka szczególna? Czemu nie ogólna?
19 gru 23:03
Mariusz:
Całkę ogólną będziesz miał jeśli dodasz całkę szczególną równania niejednorodnego
do całki ogólnej równania jednorodnego
19 gru 23:17