function y=sum4vms(x)
%SUM    Sum of the elements.
%       For vectors, SUM(X) is the sum of the elements of X.
%       For matrices, SUM(X) is a row vector with the sum over
%       each column. SUM(DIAG(X)) is the trace of X.
% 
%       See also PROD, CUMPROD, CUMSUM.

%	L. Ljung
%	Copyright (c) 1986-95 by the MathWorks, Inc.
%	$Revision: 1.2 $  $Date: 1995/01/24 00:54:03 $

if isempty(find(isnan(x)))
  %regular sum
  y=sum(x);
else
  [t1,t2]=size(x);
  if min(t1,t2) == 1
    y=NaN;
  else
    for i=1:t2
      if isempty(find(isnan(x(:,i))))
        y(i) = sum(x(:,i));
      else
        y(i) = NaN;
      end;
    end;
  end;
end;
