Równania nieliniowe to równania, w których co najmniej jedna z funkcji jest nieliniowa, co oznacza, że zawiera co najmniej jedną zmienną podniesioną do potęgi różnej od 1, a także może zawierać iloczyny, ilorazy, funkcje trygonometryczne, wykładnicze, logarytmiczne itp. Ogólna postać równania nieliniowego wygląda tak:
$$f(x)=0$$gdzie $f$ to nieliniowa funkcja, a $x$ to zmienna, której wartość chcemy znaleźć.
Przykład równania nieliniowego
$$x^2 - \sin(x)^2 = 0$$Metody Rozwiązywania Równań Nieliniowych
• Metoda Bisekcji
• Metoda Newtona-Raphsona
• Metoda Siecznych
• Metoda Regula Falsi
• Metoda Steffensena
• Metoda Halleya
• Metoda Dekompozycji
Wybór metody zależy od różnych czynników, takich jak postać funkcji, istnienie pochodnych, liczba i lokalizacja pierwiastków, a także wymagania dotyczące dokładności.
Metoda bisekcji, znana również jako metoda połowienia przedziału, jest prostą i skuteczną numeryczną metodą znajdowania przybliżonego miejsca zerowego funkcji ciągłej. Podstawową ideą tej metody jest iteracyjne zawężanie przedziału, na którym znajduje się miejsce zerowe funkcji, przez podział go na połowę.
Algorytm metody bisekcji
1. Wybór przedziału początkowego: Wybierz taki przedział $[a, b]$ gdzie funkcja zmienia znak, czyli $f(a)⋅f(b)<0)$, co oznacza, że zero funkcji znajduje się w tym przedziale.
2. Obliczenie środka przedziału:
$$c = \cfrac{a+b}{2}$$3. Sprawdzenie warunku stopu: Jeśli $∣f(c)∣$ jest dostatecznie małe (na przykład mniejsze niż z góry ustalona tolerancja) lub liczba iteracji jest mniejsza niż określona liczba naturalna, to $c$ jest przybliżeniem miejsca zerowego, i algorytm kończy się.
4. Zmiana przedziału: Jeśli
$$f(a)⋅f(c)<0,$$to zero znajduje się w przedziale $[a,c]$, w przeciwnym razie w $[c,b]$. Następnie wracamy do kroku 2.
5. Powtarzaj kroki 2-4 do momentu osiągnięcia satysfakcjonującego przybliżenia.
• Zapisz instrukcję realizującą metodę bisekcji. Znajdź rozwiązania równania nieliniowego danego wzorem
$$x + \cos(2x) = 0.1$$Wykorzystując metodę bisekcji znajdź jeden pierwiastek równania kwadratowego postaci
$$c_1x^2 + c_2x + c_3 = 0$$Przyjmij współczynniki $c_1$, $c_2$ i $c_3$ tak, aby równanie posiadało dwa rzeczywiste pierwiastki. Otrzymany wynik z metody bisekcji porównaj z rozwiązaniem analitycznym.
Układ równań nieliniowych to zbiór równań, w którym co najmniej jedno z równań jest nieliniowe, czyli zawiera co najmniej jedną nieliniową funkcję. Ogólna postać układu równań nieliniowych wygląda następująco
$$\begin{array}{l} f_1(x_1, x_2, \ldots, x_n) = 0 \\ f_2(x_1, x_2, \ldots, x_n) = 0 \\ \vdots \\ f_n(x_1, x_2, \ldots, x_n) = 0 \\ \end{array}$$gdzie $f_1, f_2, \ldots, f_n$ to nieliniowe funkcje zależne od zmiennych $x_1, x_2, \ldots, x_n$, a celem jest znalezienie wartości zmiennych , dla których wszystkie równania są spełnione. Rozwiązywanie układów równań nieliniowych jest powszechnym zadaniem w matematyce i naukach inżynieryjnych
Przykład układu równań nieliniowych o dwóch niewiadomych
$$\begin{array}{l} x^2 + y^2 = 1 \\ x-y = 0 \\ \end{array}$$W Scilab, do rozwiązywania układów równań nieliniowych można użyć różnych funkcji. Jedną z popularnych funkcji jest fsolve
, która jest częścią modułu do rozwiązywania równań nieliniowych.
Rozwiąż poniższy układ równań:
$$\begin{array}{l} x^2 + y^2 = 1 \\ x-y = 0 \\ \end{array}$$Układ ten reprezentuje okrą o promieniu równym jeden i środku w początku układu współrzędnych oraz prostą o równaniu $y=x$. Rozwiązaniem układu są punkty przecięcia się obu wykresów.
// Definiowanie funkcji
function f = fun(x)
f(1) = x(1)^2 + x(2)^2 - 1; // x^2 + y^2 = 1 (okrąg)
f(2) = x(1) - x(2); // x = y (prosta)
endfunction
// Początkowe przybliżenie
ig = [0.5; 0.5];
// Rozwiązanie układu równań nieliniowych
r = fsolve(ig, fun);
disp(r);
W powyższym przykładzie definiowana jest funkcja my_equations, która opisuje układ dwóch równań nieliniowych. Następnie używamy funkcji fsolve
, podając jej początkowe przybliżenie wartość przypisaną do zmiennej ig
oraz funkcję opisującą układ równań fun
. Wynik zawiera rozwiązania układu równań nieliniowych.
Rozwiąż następujący układ równań
$$\begin{array}{l} x^2 - y + x = 3 \\ 5 \cdot \sin\left( \cfrac{1}{10}x^2 \right) = y \\ \end{array}$$