Ejercicio 2.7.4 – Producto de matrices


% Ejercicio Mat 2.7.4

disp ('Sean las siguientes tres matrices:')
A = [2,4,-5;4,7,1;-3,-7,3];
B = [4,3,8;8,-3,9;2,5,-1];
C = [2,-4,1;-6,8,-3;4,-9,5];

disp('a) ¿Qué condiciones se deben cumplir para realizar el producto entre dos matrices?')
disp('Para poder multiplicar dos matrices, el número de columnas de la primera debe ser igual al número de filas de la segunda.')

disp('b) Obtenga AB.')
[m,n1] = size(A);   % obtiene la dimensión de la matriz A.
[n2,p] = size(B);   % obtiene la dimensión de la matriz B

if (n1 ~= n2)       % determinan compatibilidad de dimensiones de las matrices.
    disp('La multiplicación A*B no puede realizarse: dimensiones inadecuadas.')
else 
    C1 = A*B;       % resultado de la multiplicación AB estándar en Matlab.
    for i = 1:m     % número de renglones
        for j = 1:p % número de columnas de B
            C2(i,j) = A(i,:) * B(:,j); % regla de multiplicación de matrices (2.6).
        end
    end
end

C2 % resultado de la multiplicación AB por el método iterativo.

disp('c) ¿Es posible realizar los siguientes productos AC y BC?')

disp('Producto AC')
[m,n1] = size(A);
[n2,p] = size(C);

if (n1 ~= n2)
    disp('La multiplicación A*C no puede realizarse: dimensiones inadecuadas.')
else 
    C4 = A*C; 
    for i = 1:m
        for j = 1:p
            C3(i,j) = A(i,:) * C(:,j);
        end
    end
end

disp('Producto BC')
[m,n1] = size(B);
[n2,p] = size(C);

if (n1 ~= n2)
    disp('La multiplicación B*C no puede realizarse: dimensiones inadecuadas.')
else 
    C5 = B*C; 
    for i = 1:m
        for j = 1:p
            C6(i,j) = B(i,:) * C(:,j);
        end
    end
end