Równania liniowe w C#

0

Witam,

Mam do napisania program, który oblicza równania liniowe (dla max 10 niewiadomych) metodą Jordana. Metoda jest trochę zagmatwana. Postaram się to szybko wytłumaczyć.

Dla 2 niewiadomych:

2x + 2y = 4
x + y = 2

Obliczamy to w ten sposób, najpierw 1 równanie dzielimy przez wartość 1 niewiadomej tego równania, czyli przez 2. Następnie równanie to mnożymy przez 1 niewiadomą 2 równania (czyli 1) i od 2 równania odejmujemy równanie które otrzymaliśmy.
Kolejno drugie równanie dzielimy przez drugą niewiadomą (y) tego równania, równanie które otrzymaliśmy mnożymy przez 2 niewiadomą pierwszego równania i odejmujemy od drugiego równania otrzymane równanie.
Trochę zagmatwane.

I zaczęłam to robić metodą łopatologiczną. Utworzyłam textBoxy, użytkownik wprowadza dane, wszystko jest ok, dla 3 niewiadomych również. Później niestety zdałam sobie sprawę, że moja łopatologiczna metoda nie jest dobra, bo dla 10 niewiadomych musiałabym stworzyć 100 textBoxów, pisanie kodu na to staje się już wtedy niemal niemożliwe.

Nie mam pomysłu jak zrobić to w tablicy. Znalazłam w internecie podobny program, jednak jest on dużo bardziej zaawansowany i nie potrafię sobie z tym poradzić.

W załączniku dołączam to co zrobiłam, proszę mnie nie wyśmiać ;)

0

Hm ja bym to zrobił tak, że masz jednego textboxa.
Tam użytkownik wprowadza macierz, np:
2 2 4
1 1 2

Program ogarnia czy może to policzyć (czy nie jest za dużo niewiadomych), obliczając przy okazji liczbę tych niewiadomych oraz zapisując wszystko do tablicy dwu-wymiarowej. Potem przechodzi ta macierz przez algorytm, i wypluwa wynik.

0

A jaki algorytm dla tej metody?

0

Algorytm rozwiązujący układy równań tą metodą. Btw. chodziło o metodę Gaussa-Jordana? Bo samej metody Jordana jakoś nie kojarzę.
Jeśli nie chce Ci się pisać tego algorytmu to poszukaj sobie w google, znajdziesz.

0

Właśnie nie Gaussa Jordana, samego Jordana. Dołączam PDF, metoda opisana od strony 65.

Nie ma o tym za dużo w internecie, nie znalazłam też żadnego programu, przykładu, nic.. A metoda jest lekko zagmatwana.

0

Ekspertem z algebry nie jestem, ale opis ten na 99% jest opisem metody Gaussa-Jordana. A metoda nie jest zagmatwana, musisz zrobić macierz schodkową i tylko odczytać wynik.
Prawie identyko opis: http://aragorn.pb.bialystok.pl/~mosdorf/WYK/mn/Metoda_Gaussa-Jordana.htm

1

Wracając do oryginalnego programu. To dodatkowe niewiadome nie są problemem najpierw użytkownikowi wyświetlasz kontrolkę z pytaniem o ilość niewiadomych a potem pętlą for w for tworzysz tyle textboxów ile ci trzeba (najwięcej zabawy będzie z ich rozmieszczeniem na ekranie). Od razu textboxy te wrzucasz do tablicy dwuwymiarowej (żebyś miała skąd potem odczytać wartości wpisane przez użytkownika) i voila.
Samego algorytmu redukcji teraz mi się nie chce rozgryzać

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