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!

 採用された回答

Rik
Rik 2022 年 10 月 7 日

1 投票

Perhaps a function like pagemtimes does what you need.
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 件のコメント

Noemi ZM
Noemi ZM 2022 年 10 月 7 日
Thank you!!
Image Analyst
Image Analyst 2022 年 10 月 7 日
Can you explain exactly what was multiplied by what, and summed, to get the output matrixes?

サインインしてコメントする。

その他の回答 (1 件)

Paul
Paul 2022 年 10 月 7 日

1 投票

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)
C = 2×2 cell array
{[ 7 12]} {[ 11 8]} {[15 26]} {[25 20]}
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

1 件のコメント

Noemi ZM
Noemi ZM 2022 年 10 月 7 日
Great idea, thank you!

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品

リリース

R2021b

質問済み:

2022 年 10 月 7 日

コメント済み:

2022 年 10 月 7 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by