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