An open API service indexing awesome lists of open source software.

https://github.com/holgern/sciflt

sciFLT is a Fuzzy Logic Toolbox for scilab
https://github.com/holgern/sciflt

Last synced: 2 months ago
JSON representation

sciFLT is a Fuzzy Logic Toolbox for scilab

Awesome Lists containing this project

README

        

# sciFLT TOOLBOX

sciFLT is a Fuzzy Logic Toolbox for scilab

## Getting Started

### Prerequisites

1. This version has been using the f2c version of engine by previous author(s), so you just need C compiler.
2. MacOS version does not support GUI.
3. To compile this module in MacOS, you would need to install f2c

### Installing

The module could be easily install from the Scilab atoms portal by using command:

--> atomsInstall('sciFLT');

or the offline version by replacing the input argument to the zip file name.

If you prefer to build then module, download the source and unzip it, just type in scilab:

```
--> exec("sciFLT_Path/builder.sce")
```

If the module is place in the "contrib" folder, it could be loaded from the "Toolboxes" menu. Otherwise, just type in scilab:

```
--> exec("sciFLT_path/loader.sce");
```

sciFLT_Path is where this file is.

### EXAMPLES and DEMOS
To see some examples type in scilab:

--> sciFLTdemo();

## Features
Types of Fuzzy Logic systems: At this stage, sciFLT can deal with Takagi-Sugeno Fuzzy and Mamdani fuzzy systems.

XCOS support: Member functions, S-Norm, T-Norm, Complement and Fuzzy Logic System (fls) are supported. Also include a palette.

S-Norm Class supported: Dubois-Prade, Yager, Drastic sum, Einstein sum, Algebraic sum, Maximum.

T-Norm Class supported: Dubois-Prade, Yager, Drastic product, Einstein product, Algebraic product, Minimum.

Complement Class supported: One, Yager, Dubois.

Member Function: Triangular, Trapezoidal, Gaussian, Extended Gaussian, Sigmoidal, Product of two Sigmoidal, Difference of two sigmoidal, S-Shaped, Z-Shaped, Pi-Shaped.

Clustering: C-Means, Substractive clustering.

FLS Optimization: optfls01.

## Revisions

### REVISION NOTES 0.5
1. Using engines in C which have been covnerted from fortran with f2c
2. Modified the gateway to support Scilab 6
3. Reorganize the structures of the folders

### REVISION NOTES 0.4x
1. Add some clustering routines: fcmeans, subclus.
2. Minor code change using new TK/TCL calling sequence.
3. The tk/tcl editor is still in the develop stage, so you can find a lot of bugs.
4. Try to Vectorize code
5. Start to add optimization routines

Copyright (c) @YEARS@ Jaime Urzua Grez
2011 Holger Nahrstaedt
2019 Tan Chin Luh (Scilab 6 Support)

## To-Do
1. To convert the C files generated by f2c to be fully C, without the needs of f2c header
2. To convert the gateway to Scilab 6 new gateway
3. To convert the tcl/tk GUI to Java base for all platform support.

## Version

This is the Revision 0.5 of sciFLT toolbox for Scilab 6.0.x

## Authors

This is the Revision 0.5 of sciFLT toolbox for Scilab 6.0.x
Modified By Tan Chin Luh

Original Works By Jaime Urzua Grez and Holger Nahrstaedt
mailto:[email protected]

## License

This program 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 of the License, or (at your option) any later version.

This program 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 this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

## Acknowledgments

1. Jaime Urzua Grez
2. Holger Nahrstaedt