Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [Risolto] Problema con il prodotto tra due matrici quadrate.
Forum - C/C++ - [Risolto] Problema con il prodotto tra due matrici quadrate.

Avatar
tullio1995 (Normal User)
Rookie


Messaggi: 59
Iscritto: 20/03/2011

Segnala al moderatore
Postato alle 21:50
Giovedì, 18/10/2012
Codice sorgente - presumibilmente C/C++

  1. z=(pm[0]*sm[0])+(pm[1]*sm[2]);
  2.         x=(pm[0]*sm[1])+(pm[1]*sm[3]);
  3.         y=(pm[2]*sm[0])+(sm[3]*sm[2]);
  4.         j=(pm[2]*sm[1])+(pm[3]*sm[3]);
  5.         printf("%lf , %lf\n",z,x);
  6.         printf("%lf , %lf\n",y,j);
  7.         return 0;
  8. }


pm e sm sono le due matrici 2x2. il problema che trovo, è che la y, non da un risultato esatto con tutte le matrici. Ad esempio:
    
A=|3 -2|  B=|1 -3|   A*B=|3 -13|
    |5 -1|       |0  2|          |5 -17|
Ed è giusta, ma se eseguo quest'altra:

A=|2 -1|  B=|1   2|  
    |3  2|       |-6  1|          

Il risultato è questo:
A*B=|8   3|
        |-3  8|
Che è sbagliato perchè anzichè -3 dovrebbe uscire -9.



Ultima modifica effettuata da tullio1995 il 19/10/2012 alle 20:55
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 22:14
Giovedì, 18/10/2012
Nella linea del calcolo della y hai scritto

y=(pm[2]*sm[0])+(sm[3]*sm[2]);

ma deve essere

y=(pm[2]*sm[0])+(pm[3]*sm[2]);

P.S. Perché non usi vere matrici ma semplici vettori ... ?

Ultima modifica effettuata da il 18/10/2012 alle 22:29
PM Quote
Avatar
carlduke (Member)
Pro


Messaggi: 153
Iscritto: 29/01/2011

Segnala al moderatore
Postato alle 12:25
Venerdì, 19/10/2012
Testo quotato

Postato originariamente da nessuno:

Nella linea del calcolo della y hai scritto

y=(pm[2]*sm[0])+(sm[3]*sm[2]);

ma deve essere

y=(pm[2]*sm[0])+(pm[3]*sm[2]);

P.S. Perché non usi vere matrici ma semplici vettori ... ?



e' la stessa cosa che mi chiedo per le opengl.. :pat:

PM Quote
Avatar
tullio1995 (Normal User)
Rookie


Messaggi: 59
Iscritto: 20/03/2011

Segnala al moderatore
Postato alle 16:16
Venerdì, 19/10/2012
Nessuno, sono ancora alle prime armi con il C, me lo sto studiando da solo, perchè a scuola ci fanno studiare solo il VB. Si possono dichiarare matrici in C, o intendi un vettore bidimensionale??
PS: Grazie, mi ci sono scervellato per una giornata intera e alla fine era solo un errore di battitura... :blush:

Ultima modifica effettuata da tullio1995 il 19/10/2012 alle 16:19
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:56
Venerdì, 19/10/2012
Un vettore bidimensionale è una matrice ...

PM Quote