El programa mostrado a continuación es una función en Matlab que realiza el producto de dos matrices.
Suponiendo dos matrices A y B, se tiene que cumplir con lo siguiente para realizar el producto:
- El numero de columnas de la matriz A tiene que coincidir con el numero de filas de la matriz B.
- La matriz resultante tendrán el numero de filas de la matriz A y el numero de columnas de la matriz B.
La forma de realizar la operacion es la siguiente, ejemplo: se toma la primera columna de la matriz A y la primera fila de la matriz B, se multiplica el primer elemento de la columna con el primer elemento de la fila y así sucesivamente se multiplica elemento por elemento para finalmente hacer una sumatoria o suma total de todo los productos.
Esa suma final se guardara en la posición correspondiente en la matriz resultante, la posición correspondiente seria así: si toma la columna 1 de la matriz A y la fila 1 de la matriz B la sumatoria se guardara en la posición (1,1) de la matriz resultante.
A continuación el función que hace el producto de dos matrices en Matlab:
function C = pro_ma(A,B)%%La funcion recibe dos matrices: A y B%%C es la matriz resultante del producto de la matrices A y B[fA, cA] = size(A);[fB, cB] = size(B);%% Con la funcion size() de Matlab se obtienen la cantidad de filas y %%columnas de cada matriz%% Se valida con el siguiente “if” que el numero de columnas de A (cA) sea igual al %%numero de filas de B (fB)if cA ==fBfor c=1:cB %% Este “for” recorre la columnas de la matriz Bfor r=1:fA % Este “for” recorre la filas de la matriz Asuma=0; % En suma se guarda la sumatoria de los elementosfor k=1:cAsuma=suma+A(r,k)*B(k,c);%% en la linea anterior se hace el producto de elemento por %%elemento de cada fila y columna y se le añade de una vez a la %%sumatoriaendC(r,c)=suma;%% La sumatoria final se guarda en la matriz resultanteendenddisp(‘el producto de las dos matrices’)disp (C)elsedisp(‘No se puede hacer el producto de las dos matrices’);end
Eso es todo, ya se tiene una funcion en Matlab que realiza el producto de dos matrices y retorna la matriz resultante.
No hay comentarios:
Publicar un comentario