Wyznacznik dla macierzy 7x7
Ostatnio zmodyfikowano 2018-04-13 15:55
| Wolfff Temat założony przez niniejszego użytkownika | Wyznacznik dla macierzy 7x7 » 2018-04-11 20:30:35 Cześć, napisałem program liczący macierze 3x3 ale teraz muszę go zmodyfikować na 7x7. Czy istnieje jakaś prosta modyfikacja tego? double Macierz::ObliczWyznacznik() const{
 Macierz M = * this;
 double a, wyznacznik;
 a = M( 1, 0 ) / M( 0, 0 );
 M[ 1 ] = M[ 1 ] - M[ 0 ] * a;
 a = M( 2, 0 ) / M( 0, 0 );
 M[ 2 ] = M[ 2 ] - M[ 0 ] * a;
 a = M( 2, 1 ) / M( 1, 1 );
 M[ 2 ] = M[ 2 ] - M[ 1 ] * a;
 wyznacznik = M( 2, 2 ) * M( 1, 1 ) * M( 0, 0 );
 return wyznacznik;
 }
 
 | 
|  | 
| darko202 | » 2018-04-12 07:53:29 | 
|  | 
| Wolfff Temat założony przez niniejszego użytkownika | » 2018-04-12 14:43:19 Przeczytałem te artykuły i nie potrafię na podstawie nich zmodyfikować tego kodu dla 3x3. | 
|  | 
| pekfos | » 2018-04-12 18:26:47 | 
|  | 
| Wolfff Temat założony przez niniejszego użytkownika | » 2018-04-13 14:56:56 No nic, nie sądze że dam radę to napisać. | 
|  | 
| darko202 | » 2018-04-13 15:16:42 1.z czym masz problem C++ ?
 jest tu kurs który wszystko ładnie omawia
 
 
 2.
 przecież w linkach masz gotowy kod, tylko przeczytać, zrozumieć i zastosować.
 są komentarze
 
 np.
 http://eduinf.waw.pl/inf/alg/001_search/0082.php
 kod dla CodeBloks - Edytor C++
 
 inne strony i gotowe rozwiązania związane z wyznacznikiem
 
 
 
 
 
 | 
|  | 
| pekfos | » 2018-04-13 15:55:47 Jeśli tylko rozumiesz matematykę która za tym stoi, to implementacja to ~30 linii kodu. Metoda rozwinięcia Laplace'a jest chyba najprostsza - do kolumny macierzy możesz dodać inną pomnożoną przez skalar bez zmiany wartości wyznacznika. Doprowadzasz macierz do formy w której będzie mniej obliczeń i redukujesz rozmiar macierzy z 7x7 do 6x6. I tak dalej aż będziesz mieć 3x3, gdzie możesz użyć swojego aktualnego algorytmu. Wszystkie potrzebne informacje masz w linku z wikipedii. | 
|  | 
| « 1 » |