Este programa realiza la multiplicación de matrices cuadradas de la manera más sencilla posible (con tres loops for).
// *********************************************************************** // FUNCION: mult_mat( a:vector nxn, b:vector nxn ) // // Devuelve una matriz que es producto de las matrices cuadradas a y b // *********************************************************************** function ans = mult_matr(a, b) dimsA = size(a) // vector 1x2 de las dimensiones de A dimsB = size(b) // vector 1x2 de las dimensiones de B n = dimsA(1) // dimension de las matrices // ******************************************************************* // Las matrices deben ser cuadradas // ******************************************************************* if( dimsA(1)<>dimsA(2) | dimsB(1)<>dimsB(2) ) then error("!!!ERROR: Las matrices deben ser cuadradas, tarado!!!") end // ******************************************************************* // Las matrices cuadradas deben tener la misma dimension // ******************************************************************* if ( dimsA(1)<>dimsB(1) ) then error("!!!ERROR: Las matrices deben tener la misma dimension!!!"); end // ******************************************************************* // Inicia la multiplicacion de las matrices // ******************************************************************* ans = zeros(n,n) // inicializa la matriz a zeros for i=1:n for j=1:n for k=1:n ans(i,j) = ans(i,j) + a(i,k)*b(k,j) end end end endfunction
0 comentarios:
Publicar un comentario