view general/numerical/matrix/circulant.m @ 16:db7f4afd27c5

Rearranging numerical toolbox.
author samer
date Thu, 17 Jan 2013 13:20:44 +0000
parents general/numerical/circulant.m@e44f49929e56
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