How to operate block matrices?
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Noemi ZM
el 7 de Oct. de 2022
Comentada: Noemi ZM
el 7 de Oct. de 2022
I'd like to operate matrix in which each element is composed by two numbers. For instance,
If I have a matrix B=[1,2; 3,4] for instance, I'd like to have
Someone have some idea?
Thank you!
0 comentarios
Respuesta aceptada
Rik
el 7 de Oct. de 2022
You will have to store your matrix as a 3-D matrix. Even if pagemtimes is not what you want, that will make it easier to write a loop to apply the operation you do want.
2 comentarios
Image Analyst
el 7 de Oct. de 2022
Can you explain exactly what was multiplied by what, and summed, to get the output matrixes?
Más respuestas (1)
Paul
el 7 de Oct. de 2022
One can always store block matrices in cell arrays and then roll code to implement the block matrix algebra. Maybe there is a submittal on the FEX for a block matrix class?
A = {[1 2] , [3 4]; [3 5] , [4 2]};
B = {1 , 2; 3, 4};
C = blockmtimes(B,A)
function C = blockmtimes(A,B)
[m,n] = size(A);
[n,s] = size(B);
for ii = 1:m
for jj = 1:n
C{ii,jj} = zeros(size(A{ii,jj},1),size(B{ii,jj},2));
for kk = 1:n
C{ii,jj} = C{ii,jj} + A{ii,kk}*B{kk,jj};
end
end
end
end
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!