Distribute\fanalys\fanalys\B NEUKEV.FOR

From COSSAN Wiki
Jump to: navigation, search

The documention (after being translated to english via google translate)

Calculate the coordinates of the next node in the
fuzzy input range and control of the position of the node
concerning the range limits of the specified search area


  • integer:
    1. wosohi
      • wosohi can only have 1 values within this subroutine, 0 or 1. The subroutine comment says that if wosohi is 0, then "nodes inthe entire input range for current alpha - cut". And that if wosohi is 1, "nodes in a fixed area around the current node." Therefore wosohi appears to be a control variable, and does not appear to store the 'number' of nodes.

Variables declared

  • Integer:
    1. i
      • i in this subroutine can either stand for 'increment' or 'index'. It is utilised within the do loops to control the start and stopping point (it stops at fuzmax in both cases). The first label after the do statement is the label number, scanning the code down, there should be a number followed by "CONTINUE".This indicates the end of the do scope.
  • REAL
    1. zufall (translates to random)
      • This isnt assigned a value initially, but is a pointer input later on, and is assigned a random number between 0 and 1. Note that REAL is a single precision floating point variable.

Global variables used

  • Double precision:
    1. Alpint
      • This is a 3 dimensional variable, declared in fanalys.inc
      • Its first dimension is alpmax (which in fanalys.inc is 21)
        • Alpmax is described as "The number of α levels, multiplied by 2 with range [4-21]"
      • Its second dimension is maxfuz (which in fanalys.inc is 20)
        • maxfuz is the maximum number of fuzzy input variables.
      • Its third dimension is 2, presumably refering to the input intended to return a maxima, and the input intended to return a minima.
      • Alpint is described as(translated into English):
      • interval limits for for all fuzzy input variables any alpha -cut ( = range limits )



modules used


source files included

Functions/subroutines Called



  • DABS
    • Prototype: double DABS(Double m);
    • This is a built in function which returns the absolute (always positive) value of its double precision input.
    • further information: the notation for writing a constant double is nD p, where the value is approximatly equal to the n to the power of p, or nEp.
  • random
    • Prototype: void random (REAL)
    • This subroutine takes a real (floating input) pointer input, and gives the location it is pointing to a random number between 0 and 1,