Create Block Toeplitz Matrix

12 visualizzazioni (ultimi 30 giorni)
Marco Lago
Marco Lago il 3 Mag 2021
Modificato: Stephen23 il 20 Mag 2021
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)]);
  2 Commenti
Jan
Jan il 4 Mag 2021
Modificato: Jan il 4 Mag 2021
A and B are not scalars in your example and if they are some, the last line fails also.
Please show us, which output you want to get.
Marco Lago
Marco Lago il 20 Mag 2021
Sorry, my bad. With the scalar example I meant something like the example below. Which gives a squared toeplitz matrix like the folloqing but where A and B are, say, 3x3 matrices.
A B 0 ...0
B A B ...0
0 B A ...0
0 0 B ...0
: : : ....B
0 0 0 ...A
A =1;
B = 2;
T=100;
Omega = toeplitz([A;B;zeros(T,1)])

Accedi per commentare.

Risposte (2)

Stephen23
Stephen23 il 20 Mag 2021
Modificato: Stephen23 il 20 Mag 2021
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))
M = 15×15
5 5 9 4 9 7 0 0 0 0 0 0 0 0 0 8 2 3 4 9 7 0 0 0 0 0 0 0 0 0 9 2 3 2 1 9 0 0 0 0 0 0 0 0 0 4 9 7 5 5 9 4 9 7 0 0 0 0 0 0 4 9 7 8 2 3 4 9 7 0 0 0 0 0 0 2 1 9 9 2 3 2 1 9 0 0 0 0 0 0 0 0 0 4 9 7 5 5 9 4 9 7 0 0 0 0 0 0 4 9 7 8 2 3 4 9 7 0 0 0 0 0 0 2 1 9 9 2 3 2 1 9 0 0 0 0 0 0 0 0 0 4 9 7 5 5 9 4 9 7

Stephan
Stephan il 4 Mag 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 Commenti
Marco Lago
Marco Lago il 4 Mag 2021
but that will be a block diagonal matrix, not toeplitz
Stephan
Stephan il 4 Mag 2021
Modificato: Stephan il 4 Mag 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

Accedi per commentare.

Categorie

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

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by