How to operate block matrices?
13 次查看(过去 30 天)
显示 更早的评论
采纳的回答
Rik
2022-10-7
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 个评论
Image Analyst
2022-10-7
Can you explain exactly what was multiplied by what, and summed, to get the output matrixes?
更多回答(1 个)
Paul
2022-10-7
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!