function x = idst1 (y, n) // Description // This function computes the inverse type I discrete sine transform of X If N is given, // then X is padded or trimmed to length N before computing the transform. // If X is a matrix, compute the transform along the columns of the the matrix. // Calling Sequence // Y = idst1(X) // Y = idst1(X, N) // Parameters // X: Matrix or integer // N: If N is given, then X is padded or trimmed to length N before computing the transform. // Examples // idst1([1,3,6]) // ans = // 3.97487 -2.50000 0.97487 nargin=argn(2) if (nargin < 1 || nargin > 2) error("invalid input arguments") end if nargin == 1, n = size(y,1); if n==1, n = size(y,2); end end x = dst1(y, n) * 2/(n+1); endfunction