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.
Równanie różniczkowe - metoda Rungego Kutty 2 rzędu
-
morderczepantalony
- Użytkownik

- Posty: 2
- Rejestracja: 10 lut 2014, o 00:13
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- steal
- 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
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}\)
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

- 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
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ę?
\(\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

- 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
Czy ktoś potwierdzi to że Kolega wyżej, dobrze wykonał 1 krok?
-
SlotaWoj
- 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
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:
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}}\)
- \(\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

- 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
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}}\)
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}}\)