# block diagonal matrix in the opposite diagonal

3 views (last 30 days)
Romio on 18 Sep 2022
Commented: Romio on 18 Sep 2022
Is there any function/way to construct a matrix with block matrcies in the opposite diagonal. I know of blkdiag( ) but it gives a matrix with blocks in the main diagonal

Paul on 18 Sep 2022
Here's one option
a = rand(2);
b = rand(2,3);
A = blkdiag(a,b)
A = 4×5
0.0976 0.7033 0 0 0 0.6779 0.8610 0 0 0 0 0 0.4852 0.7807 0.6937 0 0 0.5431 0.4091 0.2433
D = oppblkdiag(a,b)
D = 4×5
0 0 0 0.0976 0.7033 0 0 0 0.6779 0.8610 0.4852 0.7807 0.6937 0 0 0.5431 0.4091 0.2433 0 0
function D = oppblkdiag(varargin)
c = cellfun(@(x) fliplr(x),varargin,'UniformOutput',false);
D = fliplr(blkdiag(c{:}));
end
##### 2 CommentsShowHide 1 older comment
Romio on 18 Sep 2022
Thanks. I think it should be implemeted as built in function in matlab

### Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by