Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

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