dsigmf.m

Package [view]: fuzzy.rar
Upload User: hnchenxi
Upload Date: 2008-11-02
Package Size: 1083k
Code Size: 1k
Category: AI-NN-PR
Development Platform: Matlab
  1. function y = dsigmf(x, params)
  2. %DSIGMF Membership function composed of the difference between two sigmoidal
  3. %   membership functions.
  4. %   Synopsis
  5. %   y = dsigmf(x,[a1 c1 a2 c2])
  6. %   Description
  7. %   The sigmoidal membership function used here depends on the two parameters a
  8. %   and c and is given by f(x;a,c) = 1/(1 + exp(-a(x-c))).
  9. %   The membership function dsigmf depends on four parameters, a1, c1, a2, and
  10. %   c2, and is the difference between two of these sigmoidal functions:
  11. %   f1(x; a1, c1) - f2(x; a2, c2)
  12. %   The parameters are listed in the order: [a1 c1 a2 c2].
  13. %   Example
  14. %   x=0:0.1:10;
  15. %   y=dsigmf(x,[5 2 5 7]);
  16. %   plot(x,y)
  17. %   xlabel('dsigmf, P=[5 2 5 7]')
  18. %
  19. %   See also EVALMF, GAUSS2MF, GAUSSMF, GBELLMF, MF2MF, PIMF, PSIGMF, SIGMF,
  20. %   SMF, TRAPMF, TRIMF, ZMF.
  21. %       Roger Jang, 10-5-93.
  22. %   Copyright 1994-2002 The MathWorks, Inc. 
  23. %   $Revision: 1.20 $  $Date: 2002/04/02 21:25:23 $
  24. if nargin ~= 2
  25.     error('Two arguments are required by diff. sigmoidal MF.');
  26. elseif length(params) < 4
  27.     error('The diff. sigmoidal MF needs at least four parameters.');
  28. end
  29. y = abs(sigmf(x, params(1:2)) - sigmf(x, params(3:4)));