home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l460 / 2.ddi / SPECMAT.DI$ / TOEPLITZ.M < prev    next >
Encoding:
Text File  |  1993-03-07  |  877 b   |  31 lines

  1. function t = toeplitz(c,r)
  2. %TOEPLITZ Toeplitz matrix.
  3. %    TOEPLITZ(C,R) is a non-symmetric Toeplitz matrix having C as its
  4. %    first column and R as its first row.   TOEPLITZ(C) is a symmetric
  5. %    (or Hermitian) Toeplitz matrix.
  6. %
  7. %    See also HANKEL.
  8.  
  9. %    Revised 10-8-92, LS - code from A.K. Booer.
  10. %    Copyright (c) 1984-93 by The MathWorks, Inc.
  11.  
  12. if nargin < 2,
  13.   c(1) = conj(c(1)); r = c; c = conj(c); % set up for Hermitian Toeplitz
  14. else
  15.   if r(1) ~= c(1)
  16.         disp(' ')
  17.         disp('Column wins diagonal conflict.')
  18.   end
  19. end
  20. %
  21. r = r(:);                               % force column structure
  22. p = length(r);
  23. m = length(c);
  24. x = [r(p:-1:2) ; c(:)];                 % build vector of user data
  25. %
  26. cidx = (0:m-1)';
  27. ridx = p:-1:1;
  28. t = cidx(:,ones(p,1)) + ridx(ones(m,1),:);    % Toeplitz subscripts
  29. t(:) = x(t);                            % actual data
  30.  
  31.