Výsledky 1 až 17 z 17

Téma: Algoritmus na 4-bodovou kalibraci 2D mapy?

Threaded View

Předcházející příspěvek Předcházející příspěvek   Další příspěvek Další příspěvek
  1. #3

    Standardní Re: Algoritmus na 4-bodovou kalibraci 2D mapy?

    Pokud si dobře vzpomínám na algebru, tak inverzní matice existuje jen ke čtvercové , protože matici a inverzní matice musejí být navzájem vynásobitelné, což je u čtvercových zaručeno.
    Jeden postup je:
    napsat si vedle matice jednotkovou
    původní matici Gaussovou eliminační metodou upravit na jednotkovou a stejné operace provádět s tou druhou. Výsledkem je, že z původně jednotkové matice se stane inverzní.
    Tady jsem vygooglil popis
    http://www.kolej.mff.cuni.cz/~lmotm2...ml/node55.html
    Je tady uvedený i druhý způsob přes determinanty, ale počítat determinanty matice rozměru +-9 je IMHO blbost, složité a dlouhé. Šel bych první cestou.

    Kdyby byl zájem můžu se mrknout, jestli ještě najdu skripta, pak bych je naskenoval.

    Kód:
    for (radek = 0; radek < n; radek ++) { /* projit vsechny radky */
       pivot = matice[radek][radek];
       for (i = 0; i < n; i++)
          matice[radek][i] /= -1 * pivot;    /*vyrobit jednicku na miste na hlavni diagonale */
       
       for (i = radek; i < n - 1; i++) {       /* projdu vsechny nizsi radky mimo posledniho */
          pivot = matice[i + 1][i] / matice[i][i] * -1;  /* cislo, kterym musim vynasobit radek a pricist k nizsimu radku */
          for (j = 0; j < n; j++) {  /* tady nasobim ten radek a pricitam ke spodnimu */
             matice[i + 1][j] += matice[i][j] * pivot
          }
       }
    }
    
    /* opakovat cele obracene, to jest odspoda nahoru a vytvaret nuly nad hlavni diagonalou. Ty same operace provadet s tou druhou matici */
    Je to jenom takovy lehoučký nástřel pro inspiraci, kdoví jestli by někde nějaký index nepřetekl apod. Možná je tam i logická chyba. Kdo ví . Ale zhruba takhle se to dělá.
    Naposledy upravil Warran; 19.03.2008 v 21:52. Důvod: Opravena chyba

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •