View Full Version : Prodotto tra matrici.
Vandred88
07-04-2005, 16:20
ragazzi ho da fare il prodotto tra matrici. ma nn mi viene!! come devo fare??
cioè io ho svolto tutto l'es. di creare due matrici con:
la riga della prima mat deve essere uguale alla colonna della seconda matrice.
ma nn riesco a fare il prodotto tra loro e mettere il risultato in un'altra matrice.
es:
100 | 120
012 | 102
133 | 021
mat[0;0] * mat2[0;0] + mat[0;1] * mat2[1;0] + mat[0;2] * mat2[2;0]
questa forumla equivale al risultato della prima cella della matrice prodotto.
come fo???
aiuto!
Ziosilvio
07-04-2005, 17:33
Il prodotto di matrici è un esercizio classico per mettere alla prova la capacità di costruire strutture dati opportune.
Se tutte le matrici sono array statici, la soluzione è abbastanza semplice e si riconduce al prodotto scalare di due vettori, che sai sicuramente fare.
Se hai usato qualcosa di più complicato, devi darci più informazioni...
Fenomeno85
07-04-2005, 19:18
l'hai scritta osserva gli indici come si muovono è una cazzata sto esercizio ;)
~§~ Sempre E Solo Lei ~§~
Fenomeno85
07-04-2005, 19:20
cmq da algebra ricordati che le matrici possono esere moltiplicate solo se:
(m x n) * (n x p) = (m x p)
questo ti da la dimensione della matrice finale ;)
~§~ Sempre E Solo Lei ~§~
Vandred88
08-04-2005, 21:00
si ma in pratica io ho fatto cosi
mat3[i][j]=+mat[i][j]*mat[j][i]
xò nn fa
Fenomeno85
09-04-2005, 10:47
te il codice in c per il prodotto di matrici:
void calc (int mat1[R1][R],int mat2[R][C2],int mat3[R1][C2]){
for (int i=0;i<R1;i++)
for (int j=0;j<R;j++)
for (int k=0;k<C2;k++)
mat3[i][k] += mat1 [i][j]*mat2[j][k];
}
dove R1 = numero righe della matrice 1, R è il valore comune di colonne C2 = è il numero di colonne delle matrice 2.
~§~ Sempre E Solo Lei ~§~
Vandred88
09-04-2005, 14:30
grazie mille! adesso funge benissimo.
avevo fatto un piccolo errore sugli indici, come avevo scritto prima.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.