Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Układ równań
Forum PHP.pl > Forum > Przedszkole
Madka
Witam.
Mam mały problem i nie bardo wiem jak go roziązać. Otóż Chodzi o skrypt który po podaniu danych w formularzu będzie rozwiązywał układ równań. Czy możecie mi pomóc?

Dziękuję z góry i pozdrawiam
dr_bonzo
1. Napisz formularz do wprowadzania danych
2. Odczytaj dane wprowadzone z formularza (to sa zupelne podstawy php --> manual)
3. Zastosuj wzor z wyznacznikami, oblicz i wypisz wynik
nospor
ja proponuje bys wrocila do nas jak sie zastanowisz oco ci chodzi...
jaki uklad równan? z dwiema nie wiadomymi? z trzema? z milionem?
co w formularzu podajemy? a, b, c,d?

a moze ty nie wiesz jak sie rozwiązuje wogole takie uklady? jesli tak to nie to forum. poszukal o metodzie np. Gaussa
jesli masz problem z kodem, to pokaz co zrobilas, a moze ci pomozemy
Madka
Oczywiście chodzi o układ róznań z dwoma niewiadomymi a nie z milionem.


PS. Nospor bardzo "miłym" człowiekiem jestes
nospor
Cytat
Nospor bardzo "miłym" człowiekiem jestes
dziękuję smile.gif choć domyslam się ze uzylas tego w "niemilym" znaczeniu. Otoz muszę cię rozczarować... jestem milym czlowiekem. Zadalem ci tu kilka pytan, zeby uzyskac wiecej danych odnosnie problemu, który masz, bo ty tych danycj nam niedostarczylas.
Nie sądzisz chyba że będę pisal: "kochana Madko, czy moglabys nam laskawie powiedziec (o ile to nie stanowi dla ciebie wielkiego problemu i nie zmęczysz paluszków) z iloma niewiadomymi ten uklad rownan jest?" winksmiley.jpg

ps: rozumiem ze odpowiedź dr_bonzo jest dla ciebie wystarczająca?
dr_bonzo
Tak sie sklada ze mialem kiedys napisany skrypt (dla siostry smile.gif
http://northslope.lap.pl/dev/ukladyLiniowe/

ale jak chcesz miec zrodla -- to musisz je sobie sama napisac (tez jestem "mily" tongue.gif)
Guest
np.

í
îax+by=c
ìcx+dy=e


Gdzie: a, b, c,d,e - liczby podawane do formularza. Jak zrobic formularz to wiem a,e za bardzo nie wiem jak napsac odpowiedni skrypt php.
Madka
Dr_Bonzo
O taki wlaśnie skrypt mi chodzi. Wiem, że sama sobie musze napisać
Pozdrawiam
TomASS
Ja - podobnie jak nospor, nie rozumiem Twojego pytania. Nie umiesz mnożyć? Nie umiesz policzyć wyznacznika, nie umiesz policzyć pierwiastka (z liczby ujemnej)?

To tak:
masz równanie w postaci ax^2+bx+c = 0
i a!=0 !
liczysz delte:
  1. <?php
  2. $delta = $b*$b- 4*$a*$c;
  3. ?>


jeśli jest dodatnia i różna od zera to liczysz z niej pierwiastek
jeśli jest ujemna to liczysz rozwiązania zespolone
jeśli jest zerem to liczysz jedno podwójne rozwiązanie
Madka
Cytat(TomASS @ 2006-02-21 13:18:07)
To tak:
masz równanie w postaci ax^2+bx+c = 0
i a!=0 !
liczysz delte:
  1. <?php
  2. $delta = $b*$b- 4*$a*$c;
  3. ?>


jeśli jest dodatnia i różna od zera to liczysz z niej pierwiastek
jeśli jest ujemna to liczysz rozwiązania zespolone
jeśli jest zerem to liczysz jedno podwójne rozwiązanie

Taki skrypt akuratnie udało mi się napisać. Ale dzięki za chęć pomocy.
w00t
a właśnie przy okazji, jak sie liczy pierwiastek w php ;]
Denver
Cytat(TomASS @ 2006-02-21 15:18:07)
nie umiesz policzyć pierwiastka (z liczby ujemnej)?

A to ci heca - jak można tego nie umieć, prawda?
w00t
Cytat(Denver @ 2006-02-21 14:24:30)
Cytat(TomASS @ 2006-02-21 15:18:07)
nie umiesz policzyć pierwiastka (z liczby ujemnej)?

A to ci heca - jak można tego nie umieć, prawda?

A jednak są takie stwory które nie umieją tego zrobić tongue.gif...
TomASS
Polecam...

Pierwiastkowanie robi się tak jak potęgowanie, funkcją pow:

  1. <?php
  2.  
  3. echo pow(9,2);       //81
  4. echo pow(9,(1/2));  //3
  5.  
  6. ?>


Cytat
Cytat

nie umiesz policzyć pierwiastka (z liczby ujemnej)? 


A to ci heca - jak można tego nie umieć, prawda?

Nierozumiem...

Jeśli chodzi o to, że nie ma pierwiastków z liczb ujemnych to proszę poczytać o liczbach zespolonych.
Neojawor
Madka, jeśli jeszcze tego nie zrobiłaś, to kolejna podpowiedź:
zrób warunek na wartość delty (na switch lub if) i:
jeśli delta > 0 to daj x1=... x2=...
jeśli delta = 0, to x=....
jeśli delta < 0 to licz na zespolonych.
Na końcu każdej grupy (w każdym if-ie) na końcu wyechoj ixy i po sprawie

@TomASS - nie każdy chodził do liceum mat-fiz i nie każdy studiuje na politechnice. 3/4 społeczeństwa zakończyło edukację matematyczną na mnożeniu i nie wiedzą co to pierwiastek (bo pieniędzy się przecież nie pierwiastkuje) a co dopiero liczby zespolone - zakładając, że trafi się tu jakiś nieszczęsny humanista, to wiedzieć o liczbie "i" nie będzie
TomASS
Cytat(Neojawor @ 2006-02-21 18:23:23)
@TomASS - nie każdy chodził do liceum mat-fiz i nie każdy studiuje na politechnice. 3/4 społeczeństwa zakończyło edukację matematyczną na mnożeniu i nie wiedzą co to pierwiastek (bo pieniędzy się przecież nie pierwiastkuje) a co dopiero liczby zespolone - zakładając, że trafi się tu jakiś nieszczęsny humanista, to wiedzieć o liczbie "i" nie będzie

Masz racje, że są ludzie, którzy mogą nie wiedzieć. Ale to jest forum do pomocy ludziom w php a nie w matematyce na poziomie ostatniej klasy liceum. Chwila szukania w google (wystarczy wpisać pierwiastek z liczby ujemnej) rozwiązuje wątpliwośći.
Madka
Cytat(Neojawor @ 2006-02-21 16:23:23)
Madka, jeśli jeszcze tego nie zrobiłaś, to kolejna podpowiedź:
zrób warunek na wartość delty (na switch lub if) i:
jeśli delta > 0 to daj x1=... x2=...
jeśli delta = 0, to x=....
jeśli delta < 0 to licz na zespolonych.
Na końcu każdej grupy (w każdym if-ie) na końcu wyechoj ixy i po sprawie

@TomASS - nie każdy chodził do liceum mat-fiz i nie każdy studiuje na politechnice. 3/4 społeczeństwa zakończyło edukację matematyczną na mnożeniu i nie wiedzą co to pierwiastek (bo pieniędzy się przecież nie pierwiastkuje) a co dopiero liczby zespolone - zakładając, że trafi się tu jakiś nieszczęsny humanista, to wiedzieć o liczbie "i" nie będzie

Mnie chodzi o rozwiazanie takiego układu równań, a nie równania kwadratowego, bo to już sobie zrobiłam.
í
îax+by=c
ìcx+dy=e


Gdzie: a, b, c,d,e - liczby podawane do formularza. Jak zrobic formularz to wiem ale za bardzo nie wiem jak napsac odpowiedni skrypt php do powyższego układu równań. Chodzi o metode wyznaczników albo przeciwnych współczynników.


PS. Widzę, ze sporo tutaj "matematyków";). Jednen mądrzejszy od drugiego.
mike
~Madka lekko przeginasz.
Wzory na wyznaczniki to nic innego jak proste działania dodawania i mnożenia.
Nie mam pojęcia z czym Ty sobie nie radzisz? Dodawać nie umiesz? Czy wzorów nie znasz?

Jak już policzysz wyznaczniki to wystarczy Ci kilka instrukcji warunkowych żeby zinterpretować wyniki i stwierdzić jaki jest układ (oznaczony, nieoznaczony, ..).

Cytat
PS. Widzę, ze sporo tutaj "matematyków";). Jednen mądrzejszy od drugiego.
A ja widzę że ludzie nie myślą sami i oczekują, że ktoś pomyśli za nich tongue.gif

Układ równań liniowych :: Układ kwadratowy

---update---
Może nie powinienem ale co tam. Masz gotowca.
Bo po co wątek ma urosnąć do 100 postów tongue.gif


  1. <?php
  2.  
  3. // Dane przychodzące z POSTa
  4. // 1. Nadpisanie zmiennych tylko dla celów czytelności, nie powinno się tak robić
  5. // 2. Dane dla testów, usuń podstawiania wartości
  6. $intA = $_POST[ 'A' ] = 2;
  7. $intB = $_POST[ 'B' ] = 3;
  8. $intC = $_POST[ 'C' ] = 4;
  9. $intD = $_POST[ 'D' ] = 1;
  10. $intE = $_POST[ 'E' ] = -6;
  11. $intF = $_POST[ 'F' ] = 7;
  12.  
  13. /*
  14. Dla układu
  15. { ax + by = c
  16. { dx + ey = f
  17. */
  18.  
  19. $intDet = $intA * $intE - $intB * $intD;
  20. $intDetX = $intC * $intE - $intB * $intF;
  21. $intDetY = $intA * $intF - $intC * $intD;
  22.  
  23. if( $intDet != 0 )
  24. {
  25. echo 'Układ posiada dokładnie jedno rozwiązanie: ' . "\n<br />";
  26. echo 'x = ' . ( $intDetX / $intDet ) . "\n<br />";
  27. echo 'y = ' . ( $intDetY / $intDet ) . "\n<br />";
  28. }
  29. else
  30. {
  31. if( ( $intDetX == 0 ) && ( $intDetY == 0 ) )
  32. {
  33. echo 'Układ posiada nieskończenie wiele rozwiązań';
  34. }
  35. else
  36. {
  37. echo 'Układ nie posiada rozwiązań';
  38. }
  39. }
  40.  
  41. ?>

I co w tym takiego trudnego, czego nie rozumiałaś?
TomASS
Cytat
else
    {
        echo 'Układ nie posiada rozwiązań';
    }


Tak dla ścisłości wielomian zawsze posiada tyle rozwiązań którego jest stopnia - w tym przypadku zawsze posiada dwa rozwiązania.

Jeszcze raz zapodam link. I zacytuje:

Cytat
Każdy wielomian ma tyle pierwiastków, jaki jest jego stopień.


Ale fajnie micke że dałeś gotowca - teraz resztę Madaka może sobie dorobić smile.gif
mike
Cytat(TomASS @ 2006-02-22 22:22:50)
Tak dla ścisłości wielomian zawsze posiada tyle rozwiązań którego jest stopnia

Hehehe, nie musisz mi mowić. Wiem o tym doskonale. (5 lat studiów matematyki daje mi tą wiedzę tongue.gif)
Zawęziłem myślenie do liczb rzeczywistych, bo patrząc na otoczenie, nie ma co bawić się z liczby zespolone.

Ale niech będzie: "errata"
  1. <?php
  2.  
  3. // ...
  4. else
  5. {
  6. echo 'Układ nie posiada rozwiązań w zbiorze liczb rzeczywistych';
  7. }
  8. // ...
  9.  
  10. ?>
TomASS
Wiem mike - to ja wiem, że wiesz smile.gif
Napisałem to dla tych, którzy nie wiedzą, a wiedzieć by chcieli. Takie liczenie tylko w zbiorze liczb rzeczywistych wydało mi się mało ambitne tongue.gif więc fajnie by było dołożyć rozwiązania zespolone.

A o to co znalazłem jeszcze o równaniach kwadratowcyh i może się przydać:
primo
sescundo
Madka
Cytat(mike_mech @ 2006-02-22 08:05:27)
Może nie powinienem ale co tam. Masz gotowca.
Bo po co wątek ma urosnąć do 100 postów tongue.gif[/color]

Bardzo dziękuję za rozwiązanie tego problemu. Jestem Ci bardzo wdzięczna. Spróbuję do tego zrobić wykresik, żeby funkcję rysowało tongue.gif

Pozdrawiam i dziękuję
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.