Column Circulant Matrix

Hello,
How to create the following coulumn circulant matrix in matlab:
X=
[
x_0 x_{p-1} .... x_{P-L}
x_1 x_0 .... x_{P-L+1}
.
.
.
x_{p-1} x_{p-2} ... x_{P-L-1}
]
where p>L and both are positive integers.
Thanks

Respuestas (1)

Honglei Chen
Honglei Chen el 8 de Mzo. de 2012

0 votos

gallery('circul',[1 2 3])'
You can then take the first L columns

4 comentarios

S. David
S. David el 8 de Mzo. de 2012
May be I was not clear. I have the first column, but I need to create the whole matrix using it. The question is how? Thanks
Honglei Chen
Honglei Chen el 8 de Mzo. de 2012
Just pass your first column in the place of [1 2 3] in the above code and see what the output is. The last transpose should restore your circulant matrix on columns.
S. David
S. David el 15 de Mzo. de 2012
Ok, good. Now how can I control the number of column's circular shifts? I mean, I do not want the circulant matrix to be square. For example, say I want something like:
X=[
1 5 4
2 1 5
3 2 1
4 3 2
5 4 3
]
Thanks.
S. David
S. David el 15 de Mzo. de 2012
Very simple
x=[1 2 3 4 5];
P=gallery('circul',x)';
G=P(:,1:3);

Iniciar sesión para comentar.

Categorías

Preguntada:

el 8 de Mzo. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by