Create Block Toeplitz Matrix
Afficher commentaires plus anciens
How can I create a block toeplitz matrix with all zero elements apart from the main diagonal band?
If A and B are scalars the example below works
rng(123)
A = rand(3);
B = rand(3);
T=100;
Omega = toeplitz([A,B,zeros(T,3)]);
Réponses (2)
C = {zeros(3),randi(9,3),randi(9,3)}; % {0,B,A}
N = 5;
X = toeplitz([3,2,ones(1,N-2)]);
M = cell2mat(C(X))
Stephan
le 4 Mai 2021
Try:
rng(123)
A = eye(3);
B = randi(10,3);
Omega = kron(A,B)
gives:
Omega =
7 6 10 0 0 0 0 0 0
3 8 7 0 0 0 0 0 0
3 5 5 0 0 0 0 0 0
0 0 0 7 6 10 0 0 0
0 0 0 3 8 7 0 0 0
0 0 0 3 5 5 0 0 0
0 0 0 0 0 0 7 6 10
0 0 0 0 0 0 3 8 7
0 0 0 0 0 0 3 5 5
2 commentaires
Marco Lago
le 4 Mai 2021
What is your desired output? Do you mean:
rng(123)
A = randi(10,1,4)
T=3;
Omega = toeplitz([A,zeros(1,T)]
Omega =
7 3 3 6 0 0 0
3 7 3 3 6 0 0
3 3 7 3 3 6 0
6 3 3 7 3 3 6
0 6 3 3 7 3 3
0 0 6 3 3 7 3
0 0 0 6 3 3 7
Catégories
En savoir plus sur Operating on Diagonal Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!