Generating a N x N block Toeplitz Matrix out of N vectors
5 views (last 30 days)
Show older comments
Hello all,
I have a 2D-convolution problem, where i need to create a matrix, that is a block toeplitz matrix.
First of all I have N vectors with N entries, where i create those "blocks" with. (For example in a matrix: T1=toeplitz(k(1,1:N)), T2=toeplitz(k(2,1:N)) .....)
Secondly I'm going to arrange them, as if they're entries in a symmetric toeplitz matrix: T_final=[T1 T2 ... TN-1 TN; T2 T1 ... TN-1; ....; TN TN-1 ... T2 T1]
Is there any efficient and easy way without for-loops, that can create such matrix?
Here is an imagesc, how the matrix could look like for N=6.

Greeting Tiliam
2 Comments
Sindar
on 8 Apr 2020
Edited: Sindar
on 8 Apr 2020
I think a similar question was asked recently. I can't find it just now, but I believe a solution involves converting between cells and arrays. Algorithm roughly:
- generate matrices to go into blocks
- wrap each matrix in a cell
- tile cells into correct locations
- expand cells and concatenate elements
Answers (0)
See Also
Categories
Find more on Multidimensional Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!