# HG changeset patch # User jwe # Date 1147899953 0 # Node ID 11e4ae44984f666830694f8ae01fea8cd725f1b9 # Parent 27c966e4b2dce8fb6f182152f39115b58a450ad1 [project @ 2006-05-17 21:05:53 by jwe] diff -r 27c966e4b2dc -r 11e4ae44984f scripts/ChangeLog --- a/scripts/ChangeLog Wed May 17 21:00:54 2006 +0000 +++ b/scripts/ChangeLog Wed May 17 21:05:53 2006 +0000 @@ -1,3 +1,8 @@ +2006-05-17 John W. Eaton + + * set/intersection.m: Delete + * deprecated/intersection.m: New file. + 2006-05-17 David Bateman * general/cplxpair.m, general/trapz.m, general/cumtrapz.m, diff -r 27c966e4b2dc -r 11e4ae44984f scripts/deprecated/intersection.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/deprecated/intersection.m Wed May 17 21:05:53 2006 +0000 @@ -0,0 +1,31 @@ +## Copyright (C) 1996, 1997 John W. Eaton +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, write to the Free +## Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +## 02110-1301, USA. + +## -*- texinfo -*- +## @deftypefn {Function File} {} intersection (@var{x}, @var{y}) +## This function has been deprecated. Use intersect instead. +## @end deftypefn + +## Author: jwe + +function y = intersection (varargin) + + y = intersect (varargin{:}); + +endfunction diff -r 27c966e4b2dc -r 11e4ae44984f scripts/set/intersect.m --- a/scripts/set/intersect.m Wed May 17 21:00:54 2006 +0000 +++ b/scripts/set/intersect.m Wed May 17 21:05:53 2006 +0000 @@ -43,17 +43,17 @@ [a, ja] = unique (a); [b, jb] = unique (b); - c = [ a(:); b(:) ]; - [c, ic] = sort( c ); ## [a(:);b(:)](ic) == c + c = [a(:); b(:)]; + [c, ic] = sort (c); ## [a(:);b(:)](ic) == c ii = find( c(1:end-1) == c(2:end) ); c = c(ii); ## The answer ia = ja(ic(ii)); ## a(ia) == c - ib = jb(ic(ii+1) - length(a)); ## b(ib) == c + ib = jb(ic(ii+1) - length (a)); ## b(ib) == c - if ( size (b, 1) == 1 || size (a, 1) == 1 ) + if (size (b, 1) == 1 || size (a, 1) == 1) c = c.'; endif endif diff -r 27c966e4b2dc -r 11e4ae44984f scripts/set/intersection.m --- a/scripts/set/intersection.m Wed May 17 21:00:54 2006 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -## Copyright (C) 1996, 1997 John W. Eaton -## -## This file is part of Octave. -## -## Octave is free software; you can redistribute it and/or modify it -## under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2, or (at your option) -## any later version. -## -## Octave is distributed in the hope that it will be useful, but -## WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -## General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with Octave; see the file COPYING. If not, write to the Free -## Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -## 02110-1301, USA. - -## -*- texinfo -*- -## @deftypefn {Function File} {} intersection (@var{x}, @var{y}) -## Return the set of elements that are in both sets @var{x} and @var{y}. -## For example, -## -## @example -## @group -## intersection ([ 1, 2, 3 ], [ 2, 3, 5 ]) -## @result{} [ 2, 3 ] -## @end group -## @end example -## @seealso{create_set, union, complement} -## @end deftypefn - -## Author: jwe - -function y = intersection(a,b) - - if (nargin != 2) - usage ("intersection(a,b)"); - endif - - if(isempty(a) || isempty(b)) - y = []; - return; - endif - - a = create_set(a); - b = create_set(b); - - if(length(a) < length(b)) - yindex = 1; - y = zeros(1,length(a)); - for index = 1:length(a) - if(any(b == a(index))) - y(yindex++) = a(index); - endif - endfor - else - yindex = 1; - y = zeros(1,length(b)); - for index = 1:length(b) - if(any(a == b(index))) - y(yindex++) = b(index); - endif - endfor - endif - - y = y(1:(yindex-1)); - -endfunction