view general/numerical/matrix/circulant.m @ 42:ae596261e75f

Various fixes and development to audio handling
author samer
date Tue, 02 Dec 2014 14:51:13 +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