Prodotto di due matrici

Ryuzaki1
Salve devo scrivere uno script per matlab che mi consenta il calcolo del prodotto di due matrici. Lo script da me formulato è il seguente:
[m,n]=size(A);
[j,k]=size(B);
if n~=j
error('Matrici di dimensioni inadeguate')
else
P=zeros(m,k);
for m=1:size(A);
for k=1:size(B);
for n=1:size(B);
P(m,k)=P(m,k)+A(m,n)*B(n,k);
end
end
end
end
ma l'ultima colonna non è calcolata correttamente. Dove sbaglio?

Risposte
4mrkv
Sei sicuro che

for k=1:size(B);
for n=1:size(B);

Ti dia quello che cerchi?

Ryuzaki1
non devo mettere size perchè matlab non capisce che deve fare riferimento alle righe o colonne giusto?

4mrkv
Non so cosa faccia MATLAB, ma io al posto suo sarei confuso. Tu prova a cambiare quel pezzo. Visto che m,n,j.k sono già assegnati usa magari m1,n1,j1,k1 come indici nei cicli e vedi cosa succede.

vict85
Quelle righe non hanno senso. Tra l'altro hai già visto che size ritorna una array bidimensionale e hai già memorizzato il loro valore in variabili che poi riscrivi. Detto questo in matlab dovresti evitare di usare for (anche se il metodo giusto consisterebbe nel moltiplicare le matrici tra di loro quindi sarebbe un po' come barare).

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.