Układ równań nieliniowych

Odpowiedz Nowy wątek
girribaldi
2008-09-04 00:46
girribaldi
0

Witam,
Czy ktoś zna metodę jaką można rozwiązać układ równań nieliniowych ??
Chodzi dokładnie o pobranie danych z klawiatury (całych dwóch równań) np.
y^2-1 =0
xy-x^3=0

Metoda oczywiście powinna być uniwersalna dla każdego wprowadzonego równania (zmiennych x i y, działań +,-,*,^).
Takie coś na pewno jest możliwe wystarczy zobaczyć analizę portretu fazowego :
http://www.math.psu.edu/melvin/phase/newphase.html (tam widać że wprowadzamy dowolne równanie i jakimś cudem (dla mnie) program je analizuje i rozwiązuje.

Pozostało 580 znaków

2008-09-04 01:24

Rejestracja: 11 lat temu

Ostatnio: 10 lat temu

0

Tu masz przed sobą trudny problem. Napewno przyda sie obliczanie wrtosci wyrażenia podanego z klawiatury.

Applet obliczający wartość wyrażenia:
http://www.bacom.pl/rachmistrz/rachmistrz.html

a tu kody źródłowe:
http://www.bacom.pl/rachmistrz/rachmistrz.zip

Wiem ze to malo ci daje. Ciekawy jestem czy poradzisz sobie z tym. Powodzenia


Pozostało 580 znaków

2008-09-04 16:10
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 rok temu

0

Grubo się mylisz. Napisanie programu, który rysuje portrety fazowe dla układów równań różniczkowych

  dx/dt = f(x,y)
  dy/dt = g(x,y)

to pikuś. Wystarczy interpreter wyrażeń. Wszystkie takie układy rozwiązuje się graficznie w ten sam sposób. Przy układach równań nieliniowych, każdy układ wymaga właściwego sposobu.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

girribaldi
2008-09-04 20:28
girribaldi
0

Super - tylko właśnie mam dla układu równań nieliniowych i tutaj jest problem jak to uogólnić.

Pozostało 580 znaków

2008-09-05 14:47
Moderator

Rejestracja: 15 lat temu

Ostatnio: 1 godzina temu

0

Możesz użyć metody Newtona Raphsona:

Czyli w skrócie dla układu równań:

f(x) = 0

wykonujesz:

x{0} = jakis wylosowany punkt startowy
x{n+1} = x{n} - f(x{n}) * F'(x{n}) ^ -1 dla n > 0

aż zbiegnie do rozwiązania.
Metoda nie jest w ogólności globalnie zbieżna, dlatego trzeba mieć trochę farta i zacząć w dobrym miejscu.
Jeśli nie zbiega, można wylosować inny punkt startowy i powtarzać aż do skutku.

Pozostało 580 znaków

2008-09-05 14:58
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 rok temu

0

@Krolik, a co jeśli równanie ma kilka rozwiązań (nie wiemy ile), a chcemy znaleźć wszystkie ?
BTW, po drugim poście autora wątku nie wiem czy jemu nie chodzi o układ równań różniczkowych.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

2008-09-05 21:44
Moderator

Rejestracja: 15 lat temu

Ostatnio: 1 godzina temu

0

Nie jestem tego w 100% pewien, ale jestem dosyć mocno przekonany, że dla ogólnej postaci funkcji nieliniowej nie istnieje metoda globalnie zbieżna podająca wszystkie rozwiązania. W NR po znalezieniu rozwiązania po prostu strzelasz w inny punkt startowy i liczysz na to, że złapiesz inne rozwiązanie.

Istnieje jeszcze metoda Broydena, o gorszej zbieżności lokalnej niż NR, ale za to niewymagająca obliczania macierzy pochodnych.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0