block diagonal matrix in the opposite diagonal

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Paul
Paul il 18 Set 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 Commenti
Romio
Romio il 18 Set 2022
Thanks. I think it should be implemeted as built in function in matlab

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by