Metoda Eulera dla równania różniczkowego

Równania różniczkowe i całkowe. Równania różnicowe. Transformata Laplace'a i Fouriera oraz ich zastosowanie w równaniach różniczkowych.
LukeSky
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 11 sty 2018, o 16:38
Płeć: Mężczyzna
Lokalizacja: Gdańsk

Metoda Eulera dla równania różniczkowego

Post autor: LukeSky »

Initial value problem:

\(\displaystyle{ y''+8y=6 \\
x\in [a, b] \\
y(a) = y_{a} \\
y'(a) = y'_{a} \\
h = \frac{(b-a)}{n}}\)


Rozwiązać metodą Eulera.
Ostatnio zmieniony 11 sty 2018, o 17:45 przez SlotaWoj, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
janusz47
Użytkownik
Użytkownik
Posty: 7917
Rejestracja: 18 mar 2009, o 16:24
Płeć: Mężczyzna
Podziękował: 30 razy
Pomógł: 1671 razy

Re: Metoda Eulera dla równania różniczkowego

Post autor: janusz47 »

\(\displaystyle{ y^{''} + 8y = 6, \ \ y(a)=y_{a}, \ \ y'(a) =y'_{a}}\) (1)

Metoda Eulera opiera się na rozwinięciu funkcji w szereg Taylora:

\(\displaystyle{ y(x_{n}+h) = y(x_{n}) + h f(x_{n},y(x_{n}) ) + O(h^2)}\)

Po zastąpieniu \(\displaystyle{ y(x_{n}), y(x_{n}+h)}\) odpowiednio ich numerycznymi przybliżeniami \(\displaystyle{ y_{n}, y_{n+1}}\) i opuszczeniu składnika \(\displaystyle{ O(h^2)}\) , otrzymujemy metodę Eulera.

Ogólnie jedno-krokowy schemat Eulera "wprzód" może być zapisany w postaci:

\(\displaystyle{ y_{n+1} = y_{n} +h\Phi(x_{n},y_{n};h), \ \ n = 0,1,2,..., N-1, \ \ y(x_{0}) = y_{0}}\)

Zagadnienie początkowe (Cauchy) zawiera pochodną II rzędu, więc zapisujemy je w postaci układu dwóch równań różniczkowych rzędu I :

\(\displaystyle{ \left{\begin{cases}y^{'}= u\\ u' = -8y +6 \end{cases} \right.}\)

\(\displaystyle{ \left [\begin{matrix} y'\\ u' \end{matrix}\right] = \left [\begin{matrix}0&1\\ -8&0 \end{matrix}\right]\cdot \left [\begin{matrix} y\\ u \end{matrix}\right ]+\left [\begin{matrix}0 \\ 6 \end{matrix}\right ],\ \ y_{a}=y_{a}, \ \ u(a)= u_{a}}\)

Stosujemy do każdego równania układu jedno-krokowy schemat Eulera "wprzód":

\(\displaystyle{ \left [\begin{matrix} y_{n+1}\\ u_{n+1} \end{matrix}\right] = \left [\begin{matrix}0&1\\ -8&0 \end{matrix}\right]\cdot \left [\begin{matrix} y_{n}\\ u_{n} \end{matrix}\right ]+\left [\begin{matrix}0 \\ 6 \end{matrix}\right ], \ \ y_(a)=y_{a}, \ \ u(a)= u_{a}}\)

Proszę napisać skrypt np. w Octave o nazwie np. Euler('f', [a,b], ya,ua,h), realizujący powyższy schemat.
ODPOWIEDZ