view general/numerical/matrix/circulant.m @ 54:9bcf5e133bf0

Added from old stats library.
author samer
date Mon, 23 Feb 2015 16:08:09 +0000
parents db7f4afd27c5
children
line wrap: on
line source
function t=circulant(c)
% circulant - Construct circulant matrix from first column
%
% circulant :: [[N]] -> [[N,N]].

m = length(c);
c=c(:); 

x = [c(2:m) ; c(:)];                 % build vector of user data
cidx = (0:m-1)';
ridx = m:-1:1;
t = cidx(:,ones(m,1)) + ridx(ones(m,1),:);  % Toeplitz subscripts
t(:) = x(t);                                   % actual data