Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 05. 12. 2010 13:41

Crusad
Příspěvky: 74
Reputace:   
 

Java - inverzni matice

Zdravim,
mam problem s vypoctem inverzni matice. Snazim se to pocitat pres adjungovanou matici. Mam metodu pro determinant, takze potebuji jen algoritmus pro vynechani radku a sloupce, abych mohl spocitat prislusny determinant a dosadil jej do matice na urcene misto, ale nejak sna to nemuzu prijit. Diky predem za jakoukoliv radu :-)

Offline

  • (téma jako vyřešené označil(a) Crusad)

#2 05. 12. 2010 15:57

xxsawer
Příspěvky: 196
Reputace:   
 

Re: Java - inverzni matice

↑ Crusad:
Možností je spousta, třeba mít matici struktur (objektů), kde jedna položka tý struktury bude číslo tý matice a druhá bude boolovská proměnná, která ti řekne jestli s tím číslem máš počítat nebo ne...

Offline

 

#3 05. 12. 2010 16:51 — Editoval Crusad (05. 12. 2010 17:12)

Crusad
Příspěvky: 74
Reputace:   
 

Re: Java - inverzni matice

Podle toho co jsme tak priblizne delali a nedelali, by to melo bejt cyklem, rekurzi, polema...jednou z tech moznosti. Pokousim se to nejak pres cykly a zda se mi, ze tohle mam snad dobre, ale furt to nefunguje.
a je rozmer ctvercove matice

Code:

for (int i = 0; i < a; i++) {
            for (int j = 0; j < a; j++) {
               for (int u = 0; u < a; u++) {
                    for (int v = 0; v < a; v++) {
                        if (u == i) {
                            u++;
                        }
                        if (v == j) {
                            v++;
                        }
                        submatice[i][j] = maticeA[u][v];
                        vypocetdeterminant(submatice, a - 1);
                        maticeA[i][j] = det;
                    }
                }
            }
        }

Offline

 

#4 06. 12. 2010 13:06

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Java - inverzni matice

Zda se mi, ze v tom cyklu si prepisujes tu puvodni matici timto: "maticeA[i][j] = det;", to znamena, ze pak tady: "submatice[i][j] = maticeA[u][v];" beres nektere hodnoty z te inverzni matice misto z te puvodni.
Dale tam podle me mas trochu zamotane ty indexy, potrebujes nejdriv ziska celou tu submatici, a pak pocitat determinant (A to provest pro celou puvodni matici).
Napsal bych to spis takhle, ale netestoval jsem to:

Code:

    for (int i = 0; i < a; i++) {
            for (int j = 0; j < a; j++) {
                int m = 0;
                for (int u = 0; u < a - 1; u++, m++) {
                    int n = 0;
                    for (int v = 0; v < a - 1; v++, n++) {
                        if (m == i) {
                            m++;
                        }
                        if (n == j) {
                            n++;
                        }
                        submatice[u][v] = maticeA[m][n];
                    }
                }
                vypocetdeterminant(submatice, a - 1);
                maticeB[i][j] = det;
            }
        }
    }

Offline

 

#5 12. 12. 2010 20:48

medic911
Příspěvky: 79
Reputace:   
 

Re: Java - inverzni matice

↑ Lumikodlak:
Kcemu je tam to a? To neni v cyklu?

Offline

 

#6 12. 12. 2010 21:08

medic911
Příspěvky: 79
Reputace:   
 

Re: Java - inverzni matice

Taky delas maticovou kalkulacku jako semestralku? Nemohl by jsi mi poslat metodu na tu inverzni matici?

Offline

 

#7 16. 12. 2010 18:23

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Java - inverzni matice

↑ medic911:
To a by mela byt velikost matice.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson