Równanie różniczkowe - metoda Rungego Kutty 2 rzędu

Równania różniczkowe i całkowe. Równania różnicowe. Transformata Laplace'a i Fouriera oraz ich zastosowanie w równaniach różniczkowych.
morderczepantalony
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 10 lut 2014, o 00:13
Płeć: Mężczyzna
Lokalizacja: Kraków

Równanie różniczkowe - metoda Rungego Kutty 2 rzędu

Post autor: morderczepantalony »

Moim zadaniem jest rozwiązanie równanie różniczkowego metodą Rungego Kutty 2 rzędu:
\(\displaystyle{ x''-2x'+5x=10t ^{2}}\)
z krokiem: \(\displaystyle{ h=0,5}\)
warunki początkowe:
\(\displaystyle{ x'(0)=0}\)
\(\displaystyle{ x(0)=0}\)
Rozwiązanie:
zakładam, że:\(\displaystyle{ x=z _{1}}\) i \(\displaystyle{ x'=z _{2}}\)
Tworzę układ równań:
\(\displaystyle{ \begin{cases} z' _{1}=z _{2} \\z' _{2}=2z' _{2}-5z _{1} +10t ^{2} \end{cases}}\)
Następnie równanie macierzowe:
\(\displaystyle{ \begin{bmatrix} z' _{1} \\z' _{2} \end{bmatrix}=\begin{bmatrix} 0&1\\-5&2\end{bmatrix}*\begin{bmatrix} z _{1} \\z _{2} \end{bmatrix}+\begin{bmatrix} 0\\10t ^{2} \end{bmatrix}}\)
Do wzoru rungego kutty:
\(\displaystyle{ y _{i+1}=y _{i} + \frac{1}{2}(k _{1}+k _{2} )}\) gdzie: \(\displaystyle{ k _{1}=hf(x _{i},y _{i})}\), \(\displaystyle{ k _{2}=hf(x _{i}+h,y _{i}+k _{1} )}\)
Obliczam \(\displaystyle{ k _{1}}\):
\(\displaystyle{ k _{1}=0,5*(\begin{bmatrix} 0&1\\-5&2\end{bmatrix}*\begin{bmatrix} 0 \\0\end{bmatrix}+\begin{bmatrix} 0\\10*0 ^{2} \end{bmatrix})=\begin{bmatrix} 0 \\0\end{bmatrix}}\)
Mam problem jednak z wyliczeniem \(\displaystyle{ k _{2}}\) , nie do końca rozumiem czym mam zastąpić wyrażenie:
\(\displaystyle{ f(x _{i}+h,y _{i}+k _{1} )}\)
W którym miejscu muszę dodać wartość h i \(\displaystyle{ k _{1}}\)? Ciekaw też jestem czy chociaż do tego momentu postępuje poprawnie.
Awatar użytkownika
steal
Użytkownik
Użytkownik
Posty: 1040
Rejestracja: 7 lut 2007, o 18:35
Płeć: Mężczyzna
Lokalizacja: Białystok|Warszawa
Podziękował: 6 razy
Pomógł: 160 razy

Równanie różniczkowe - metoda Rungego Kutty 2 rzędu

Post autor: steal »

A zastanowiłeś się jak wygląda wzór RK-2 dla Twoich zmiennych? To nie będzie \(\displaystyle{ x,y}\).

Przykładowo dla zmiennej pomocniczej \(\displaystyle{ z_2}\):

\(\displaystyle{ z_2^{i+1} = z_2^i +\frac{1}{2}(k_1+k_2)}\)

gdzie \(\displaystyle{ k_1 = hf(t^i,z_2^i) \quad k_2 = hf(t^i+h, z_2^i + k_1)}\)

Rozpatrujemy równanie postaci \(\displaystyle{ z_2' = f(t,z_2)}\) gdzie \(\displaystyle{ f(t,z_2)=2z _{2}-5z _{1} +10t ^{2}}\) To jest funkcja \(\displaystyle{ f(t,z_2)}\) którą obliczasz dla kroku \(\displaystyle{ t^i+h}\)
morderczepantalony
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 10 lut 2014, o 00:13
Płeć: Mężczyzna
Lokalizacja: Kraków

Równanie różniczkowe - metoda Rungego Kutty 2 rzędu

Post autor: morderczepantalony »

Racja, zamieszałem się w oznaczeniach. Czyli idąc dalej:
\(\displaystyle{ k _{1}=0,5*(\begin{bmatrix} 0&1\\-5&2\end{bmatrix}*\begin{bmatrix} 0 \\0\end{bmatrix}+\begin{bmatrix} 0\\10*0 ^{2} \end{bmatrix})=\begin{bmatrix} 0 \\0\end{bmatrix}}\)

\(\displaystyle{ k _{2}=0,5*(\begin{bmatrix} 0&1\\-5&2\end{bmatrix}(\begin{bmatrix} 0 \\0\end{bmatrix}+\begin{bmatrix} 0 \\0\end{bmatrix})+\begin{bmatrix} 0\\10*(0+0,5) ^{2} \end{bmatrix})=\begin{bmatrix} 0 \\1,25\end{bmatrix}}\)

\(\displaystyle{ z ^{1} _{2}=z _{2}^{0} + \frac{1}{2}*(\begin{bmatrix} 0 \\0\end{bmatrix}+\begin{bmatrix} 0 \\1,25\end{bmatrix})=\begin{bmatrix} 0 \\0,625\end{bmatrix}}\)

Zgadza się?
arcyk13
Użytkownik
Użytkownik
Posty: 37
Rejestracja: 27 gru 2012, o 10:41
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 9 razy

Równanie różniczkowe - metoda Rungego Kutty 2 rzędu

Post autor: arcyk13 »

Czy ktoś potwierdzi to że Kolega wyżej, dobrze wykonał 1 krok?
SlotaWoj
Użytkownik
Użytkownik
Posty: 4207
Rejestracja: 25 maja 2012, o 21:33
Płeć: Mężczyzna
Lokalizacja: Kraków PL
Podziękował: 2 razy
Pomógł: 758 razy

Równanie różniczkowe - metoda Rungego Kutty 2 rzędu

Post autor: SlotaWoj »

Przecież te dwie części, które zacytowałeś z wątku 358362.htm, to to samo.

W ww. wątku jest dobrze, ale zapis jest beznadziejny. Ja bym napisał tak:
  • \(\displaystyle{ \begin{bmatrix}z_1 \\ z_2\end{bmatrix}_1=\begin{bmatrix}0 \\ 0\end{bmatrix}+\frac{1}{2}\cdot\left(\begin{bmatrix}0 \\ 0\end{bmatrix}+\begin{bmatrix}0 \\ 1,25\end{bmatrix}\right)=\begin{bmatrix}0 \\ 0,625\end{bmatrix}}\)
gdzie:
  • \(\displaystyle{ \begin{bmatrix}0 \\ 0\end{bmatrix}=\begin{bmatrix}z_1 \\ z_2\end{bmatrix}_0 \quad
    k_1=\begin{bmatrix}0 \\ 0\end{bmatrix} \quad
    k_2=\begin{bmatrix}0 \\ 1,25\end{bmatrix}}\)
arcyk13
Użytkownik
Użytkownik
Posty: 37
Rejestracja: 27 gru 2012, o 10:41
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 9 razy

Równanie różniczkowe - metoda Rungego Kutty 2 rzędu

Post autor: arcyk13 »

SlotaWoj, Dziękuję za cierpliwość.
Jeszcze mam pytanie czy istnieje możliwość rozwiązania równania różniczkowego 2 rzędu metodą Eulera niejawną?
Mam takie rónanie i starałem się rozwiązać to w ten sposób:
\(\displaystyle{ x''=2x'-5x+10t^{2} //}\)
\(\displaystyle{ x(0)=0 \\
x'(0)=0 \\
t \in <0,1> \\
h=0,5}\)

Rozdzieliłem na 2 równania 1 rzędu:

\(\displaystyle{ \begin{cases} x'=z\\ z'=2z-5x+10t^{2}\end{cases}}\)
\(\displaystyle{ \begin{cases} x_{1}=x_{0}+0,5z_{1} \Rightarrow x_{1}=0,5z_{1}\\ z_{1}=z_{0}+0,5(2z_{1}-5x_{1}+10*0,5^{2}) \end{cases}}\)

Następnie x1 z pierwszego równania podstawiłem do drguiego róznania, tworząc równianie liniowe:

\(\displaystyle{ 2z_{1}=2z_{1}-2,5z_{1}+10*0,5^{2}}\)
ODPOWIEDZ