operaciones con matrices
Se define una matriz A
>> A=[1 2 3 4;4 5 6 7;7 8 9 10]
A =
1 2 3 4
4 5 6 7
7 8 9 10
>> B=rand(4,2)
La funciónrand(x,y) crea una matriz B de orden x,y con números aleatorios
B =
0.9575 0.9572
0.9649 0.4854
0.1576 0.8003
0.9706 0.1419
Luego realizamos la multiplicación taly como la conocemos
>> A*B
ans =
7.2425 4.8963
16.3943 12.0504
25.5461 19.2046
Se ejecutaran dos algoritmos que calculen la multiplicación de dos matrices dadas. Sinembargo, uno mostrara únicamente la diagonal con los números escritos con rojo y otro algoritmo que calcule los elementos de los números sombreados en amarillo, la cual llamaremos diagonal opuesta. Losdemás elementos serán escritos como ceros.
ALGORITMO DE MULTIPLICACION DE DIAGONALES PRINCIPALES
function [c]=mult(A,B)
%programa que multiplica matrices, mostrando los
%elementos de la diagonal[m1,n1]=size(A);
[m2,n2]=size(B);
if(n1==m2)
c=zeros(m1,n2);
for i=1:m1
for j=1:n2
for r=1:n1
if(i==j)
c(i,j)=c(i,j)+A(i,r)*B(r,j);else
c(i,j)=0;
end;
end;
end;
end;
else
disp('error en el orden matricial')
end
ALGORITMO DE MULTIPLICACIONDE DIAGONALES INVERSAS
function [c]=multdiag(A,B)
%programa para multiplicar matrices,
%mostrando solamente los elementos
%de la diagonal opuesta
[m1,n1]=size(A);
[m2,n2]=size(B);
if(n1==m2)c=zeros(m1,n2);
i=1;
j=n2;
while(i=1)
for r=1:n1
c(i,j)=c(i,j)+A(i,r)*B(r,j);
end;
i=i+1;
j=j-1;
end;
else
disp('error en el orden matricial')end
CORRIDAS DE MULTIPLICACIÓN
>> [c]=mult(A,B)
c =
7.2425 0
0 12.0504
0 0
>> [c]=multdiag(A,B)
c =
0 4.8963...
Regístrate para leer el documento completo.