Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Układ równań
Forum PHP.pl > Forum > PHP
Unbreakable
Witam

Potrzebuję w php napisać skrypt który to rozwiąże układ równań,
jednak zaczynają się schody jako, że układ jest z 4 niewiadomymi (oraz równania) a nie 3 (wtedy z Sarussa by dało rade).

Układ równan wyglada tak (przykładowy):

Kod
1*x1 + 2*x2 + 3*x3 + 4*x4 = 0
2*x1 + 4*x2 + 6*x3 + 8*x4 = 0
3*x1 + 6*x2 + 9*x3 + 12*x4 = 0
4*x1 + 8*x2 + 12*x3 + 16*x4 = 0


Chodzi o wyliczenie x1, x2, x3, x4

Parametry 1,2,3,4 mogą być na stałe przypisane w pliku lub podawane z formularza.

Za każdy pomysł z góry dzięki winksmiley.jpg
wookieb
Metodą eliminacji Gaussa-Jordana?
bluesqad
przeciwne współczynniki?
Unbreakable
Można i wymieniać, twierdzenie Kroneckera Capelliego tylko jak się za to zabrać winksmiley.jpg
lashus
Może przedstawicie przy okazji te metody? Interesuje mnie Kroneckera Capelliego i eliminacji Gaussa-Jordana, z chęcią bym się czegoś nauczył przy okazji ^^
wookieb
Metodą eliminacji Gaussa-Jordana ja bym zrobił tak.
1) Wypisał w tablice wielowymiarową odpowiednie wartosci
2) w pierwszej kolumnie szukał najmniejszej wartości i za jej pomocą zerowałbym kolumnę.
(Uwaga. Przydałoby się w tej operacji zastosować ułamki zwykłe) czyli nie robimy np
5/4 tylko zapisujemy array(5,4) co dla ludzi bedzie oznaczac 5/4 a nie 1,25. A dlaczego? żeby nie powstały potem różne niedokładności wynikające wad konwersji na system dwójkowy.
3) Przechodze do nastepne kolumny i szukam w niej kolejnej mozliwosci zerowania i czynnosc powtarzamy do ostatniej kolumny.

Mała adnotacja do pkt.3 Czasem nie możemy przejść aż do ostatniej kolumny bo np mamy 3 rownania i 4 niewiadome a to oznacza ze uklad może być nieoznaczony. Niestety dokładnie całej teorii nie pamiętam ale to jest tylko moja propozycja.
Unbreakable
Ma ktoś może jakiś manual/przykład, sam raczej bez pomocy nie dam rady tego stworzyć ;/
(na podstawie Guassa - Jordana)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.