Edupanda » Metody numeryczne » Metoda różnic skończonych (MRS
Metoda różnic skończonych (MRS)
Metoda polegająca na przybliżeniu pochodnej funkcji przez odpowiednie wzory różnicowe. W poniższych opracowaniu skupimy się na dwóch prostych zastosowaniach metody różnic skończonych:
- Rozwiązywanie równań różniczkowych
- Rozwiązywanie belek zginanych
Poszczególne pochodne zamieniamy na wzory różnicowe korzystając z poniższych wzorów
Centralne wzory różnicowe dla zagadnienia jednowymiarowego

\begin{aligned} &f^I=\frac{1}{2 h}\left(-v_{i-1}+v_{i+1}\right) \\ &f^{I I}=\frac{1}{h^2}\left(v_{i-1}-2 v_i+v_{i+1}\right) \\ &f^{I I I}=\frac{1}{2 h^3}\left(-v_{i-2}+2 v_{i-1}-2 v_{i+1}+v_{i+2}\right) \\ &f^{I V}=\frac{1}{h^4}\left(v_{i-2}-4 v_{i-1}+6 v_i-4 v_{i+1}+v_{i+2}\right) \end{aligned}
gdzie \( h \) - długość elementu.
Rozwiązywanie równań różniczkowych przy pomocy metody różnic skończonych
Ogólny tok postępowania w tym przypadku
- Podział badanego przedziału na n elementów o długości h
- Zastąpienie pochodnych w równaniu odpowiednimi wzorami różnicowymi
- Rozpisanie równań różnicowych dla poszczególnych punktów
- Uwzględnienie warunków brzegowych
- Rozwiązanie układu równań w postaci macierzowej

Przykład 1
Treść
Rozwiązać problem brzegowy z danymi jak poniżej
\begin{aligned} &y^{\prime \prime}(x)=2 x \quad x \in[a . b] \\ &a=3 \quad b=7 \\ &y(a)=4 \\ &y^{\prime}(b)=2 \\ \end{aligned}Dzieląc przedział na \( n=4 \) elementy
Rozwiązanie
Długość pojedynczego elementu:
\begin{aligned} h=\frac{b-a}{n}=1 \end{aligned}Położenie poszczególnych węzłów
\begin{aligned} x_i=x_0+i\cdot h \end{aligned}Zamieniamy równanie \(y''(x)=2x\) korzystając ze wzorów różnicowych:
\begin{aligned} &\frac{1}{h^2}\left(i_{- 1}-2 \cdot i+i_{p 1}\right)=2 x \\ &i_{- 1}-2 \cdot i+i_{p 1}=h^2 \cdot 2 x \end{aligned}Dla każdego węzła \(i=1,2,3,4\) zapisujemy równanie różnicowe zgodnie z powyższym wzorem, pomocniczo zapisujemy wartośći x dla poszczególnych węzłów:
\begin{array}{lll} i=1 & i_0-2 \cdot i_1+i_2=h^2 \cdot 2 x_1 & x_1=x_0+h=4 \\ i=2 & i_1-2 \cdot i_2+i_3=h^2 \cdot 2 x_2 & x_2=x_0+2 h=5 \\ i=3 & i_2-2 \cdot i_3+i_4=h^2 \cdot 2 x_3 & x_3=x_0+3 h=6 \\ i=4 & i_3-2 \cdot i_4+i_5=h^2 \cdot 2 x_4 & x_4=x_0+4 h=7 \end{array}Uwzględniamy warunki brzegowe, również zamieniając je na wzory różnicowe
\begin{array}{lll} y(a)=4 & y_0=4 & \\ y^{\prime}(b)=2 & \frac{1}{2 h}\left(-i_3+i_5\right)=2 & -i_3+i_5=4 h \end{array}Zapisujemy powyższe równania w postaci macierzowej \(A\cdot y = B\)
\( \left[\begin{array}{cccccc} 1 & -2 & 1 & 0 & 0 & 0 \\ 0 & 1 & -2 & 1 & 0 & 0 \\ 0 & 0 & 1 & -2 & 1 & 0 \\ 0 & 0 & 0 & 1 & -2 & 1 \\ 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -1 & 0 & 1 \end{array}\right] \cdot\left[\begin{array}{l} y_0 \\ y_1 \\ y_2 \\ y_3 \\ y_4 \\ y_5 \end{array}\right]=\left[\begin{array}{c} h^2 \cdot 2 \cdot x_1 \\ h^2 \cdot 2 \cdot x_2 \\ h^2 \cdot 2 \cdot x_3 \\ h^2 \cdot 2 \cdot x_4 \\ 4 \\ 4 \cdot h \end{array}\right]=\left[\begin{array}{c} 8 \\ 10 \\ 12 \\ 14 \\ 4 \\ 4 \end{array}\right] \)I ostatecznie rozwiązanie (w tym przypadku uzyskane w programie Mathcad):
\( y=A^{-1} B=\left[\begin{array}{r} 4 \\ -31 \\ -58 \\ -75 \\ -80 \\ -71 \end{array}\right] \)W praktyce interesuje nas jedynie pierwsze 5 wyników, ponieważ ostatni znajduje się de facto poza przedziałem badanym \(i=5 -> x=8\)
Rozwiązanie analitycznego tego równania uzyskane klasycznymi metodami rozwiązywania równań różniczkowych:
\( y_{a n}(x)=\frac{x^3}{3}-47 x+136 \)
W tabeli zestawiono wartości wraz z błędami dla poszczególnych punktów
\( \begin{array}{|r|r|r|r|r|r|} \hline \mathrm{i} & x & y & y_a & \text { Bład bezwzgledny } & \text { Bład wzgledny } \\ \hline 0 & 3 & 4 & 4 & 0 & 0,00 \% \\ \hline 1 & 4 & -31 & -30,667 & 0,333 & 1,09 \% \\ \hline 2 & 5 & -58 & -57,333 & 0,667 & 1,16 \% \\ \hline 3 & 6 & -75 & -74 & 1 & 1,35 \% \\ \hline 4 & 7 & -80 & -78,667 & 1,333 & 1,69 \% \\ \hline \end{array} \)Ddybyśmy podzielili przedział na więcej elementów dokładność była by oczywiście większa, natomiast w takim przypadku konieczne byłoby użycie programów obliczeniowych typu Matlab