You have three regular matrices (a1, a2, and a3), and two matrices (allR and allC), which combine the three regular matrices.
% codea1 = [1 2 ; 3 4];a2 = [5 6 ; 7 8];a3 = [9 10; 11 12];allR = [a1 a2 a3];allC = [a1 ; a2; a3];
I need matrix transformations "from allR to allC" and "from allC to allR" in my simulation. Unfortunately, the number of regular matrices a* (a1, a2, ….., an) is not previously determined.
Is there a sophisticated way of transformations "from allR to allC" and "from allC to allR" quickly? (transpose(allR) and transpose(allC) are not appropriate solutions to my problem.) My (ugly) solution is below.
[My (ugly) solution (from allR to allC, and vice versa)]
Transformation from allR to allC:
% codeclear allCallR = [a1 a2 a3][m, n] = size(allR);maxItr = n/m;tmpMat = allR.';% From allR to allCfor i = 1:maxItrtmpMat( (m*(i-1)+1):(m*i) , :) = allR(:, (m*(i-1)+1):(m*i));endallC = repmat(tmpMat,1)