mirror of
https://github.com/marcin-szczepanski/jFuzzyLogic.git
synced 2024-12-22 09:25:28 +01:00
146 lines
4.9 KiB
HTML
146 lines
4.9 KiB
HTML
<header>
|
|
<title> jFuzzyLogic: Open Source Fuzzy Logic (Java) </title>
|
|
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
|
|
|
|
<style type="text/css" media="all">
|
|
body { background: url(./images/bg_gradient.jpg) repeat-x; }
|
|
</style>
|
|
</header>
|
|
|
|
<div align="center">
|
|
<div id="wrap">
|
|
<div id="header">
|
|
<div class="logo">
|
|
<a href="http://jfuzzylogic.sourceforge.net/">jFuzzyLogic</a>
|
|
<p style="font-size: 12pt" align=right><b>Open Source Fuzzy Logic library and FCL language implementation</b></p>
|
|
</div>
|
|
</div>
|
|
<div id="menu">
|
|
<ul>
|
|
<li><a href="http://jfuzzylogic.sourceforge.net/">Home</a></li>
|
|
<li class="page_item"><a href="example_java.html" title="Documentation">Examples</a></li>
|
|
<li class="page_item"><a href="classes.html" title="Documentation">Documentation</a></li>
|
|
<li class="page_item"><a href="faq.html" title="FAQ">FAQ</a></li>
|
|
<li class="page_item"><a href="http://sourceforge.net/projects/jfuzzylogic/files/jfuzzylogic/jFuzzyLogic_v3.0.jar/download" title="Download">Download</a></li>
|
|
<li class="page_item"><a href="about.html" title="About">About</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<div id="content">
|
|
<div id="right">
|
|
<div class="ltop"></div>
|
|
<div class="lmid">
|
|
<b>
|
|
<center><h2>jFuzzyLogic</h2></center>
|
|
<a href="http://sourceforge.net/projects/jfuzzylogic">Download</a><br>
|
|
<a href="plugin.html">Eclipse plugin</a><br>
|
|
<center>Examples</center>
|
|
<a href=example_java.html>Java example</a><br>
|
|
<a href=java.html>Java detailed example</a><br>
|
|
<a href=example_fcl.html>FCL example</a><br>
|
|
<a href=fcl.html>FCL detailed example</a><br>
|
|
<a href=example_parametric_optimization.html>Optimization example</a><br>
|
|
<center> Documentation </center>
|
|
<a href=faq.html>Faq</a><br>
|
|
<a href=classes.html>Classes</a><br>
|
|
<a href=membership.html>Membership functions</a><br>
|
|
<a href="../doc/iec_1131_7_cd1.pdf">FCL (pdf)</a><br>
|
|
<a href="about.html">About</a><br>
|
|
</b>
|
|
</div>
|
|
<div class="lbot"></div>
|
|
|
|
</div>
|
|
|
|
<div class="entry">
|
|
|
|
|
|
<center><h3> Jave example explained </h3></center>
|
|
|
|
This is a simple java code used to load a fuzzy inference system (FIS), this code available at net.sourceforge.jFuzzyLogic.TestTipper.java<p>
|
|
|
|
<ul>
|
|
<li>First load an FCL file, using <code>FIS.load(fileName)</code> function.<br>
|
|
<table border=0 bgcolor=#ccfccc><tr><td>
|
|
<pre>String fileName = "fcl/tipper.fcl";
|
|
FIS fis = FIS.load(fileName,true);
|
|
</pre></td></tr></table><p>
|
|
|
|
<li> When an error is detected during <code>FIS.load()</code>, a <code>null</code> object is returned.
|
|
<table border=0 bgcolor=#ccfccc><tr><td>
|
|
<pre>if( fis == null ) { // Error while loading?
|
|
System.err.println("Can't load file: '" + fileName + "'");
|
|
return;
|
|
}
|
|
</pre></td></tr></table>
|
|
<p>
|
|
|
|
<li> Now we can plot the FIS. Actually, we plot each Variable in the FUNCTION_BLOCK (and each LinguisticTerm in each Variable). This might only be usefull when you are debugging your code.
|
|
<table border=0 bgcolor=#ccfccc><tr><td><pre> fis.chart(); </pre></td></tr></table>
|
|
<p>
|
|
And we get the following images:<p>
|
|
<center>
|
|
<img src=images/service.png><p>
|
|
<img src=images/food.png><p>
|
|
<img src=images/tip.png><p>
|
|
</center>
|
|
|
|
<li> Now we use the FIS. We start by setting FIS' inputs
|
|
<table border=0 bgcolor=#ccfccc><tr><td>
|
|
<pre>fis.setVariable("service", 3);
|
|
fis.setVariable("food", 7);
|
|
</pre></td></tr></table>
|
|
<p>
|
|
|
|
<li> And we run the system
|
|
<table border=0 bgcolor=#ccfccc><tr><td><pre>fis.evaluate();</pre></td></tr></table>
|
|
<p>
|
|
|
|
<li> If we want to know the system's output (in this case there's only one output variable 'tip')
|
|
<table border=0 bgcolor=#ccfccc><tr><td><pre>fis.getVariable("tip").getLatestDefuzzifiedValue();</pre></td></tr></table>
|
|
<p>
|
|
|
|
<li> We can also plot output's defuzzifier (probably only during debuging)
|
|
<table border=0 bgcolor=#ccfccc><tr><td><pre>fis.getVariable("tip").chartDefuzzifier(true);</pre></td></tr></table>
|
|
<p>
|
|
<center>
|
|
<img src=images/tip_out.png><p>
|
|
</center>
|
|
|
|
<li> And, of course, we can print the FIS
|
|
<table border=0 bgcolor=#ccfccc><tr><td><pre>System.out.println(fis);</pre></td></tr></table>
|
|
<p>
|
|
</ul>
|
|
|
|
|
|
|
|
<p style="font-size: 8pt" align=center><font color=#777777> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </font></p>
|
|
<center><b>Author: <a class="body" href="http://www.mcb.mcgill.ca/~pcingola/">Pablo Cingolani</a> (pcingola@users.sourceforge.net</a>)</b></center>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<center>
|
|
<font color=ffffff>
|
|
Key words (for search engines): <br>
|
|
Fuzzy logic <br>
|
|
Fuzzy logic software <br>
|
|
Fuzzy logic package <br>
|
|
Fuzzy logic library <br>
|
|
Fuzzy logic sourceforge sf.net <br>
|
|
Open source <br>
|
|
GNU <br>
|
|
GPL LGPL <br>
|
|
java <br>
|
|
Windows Linux OSX <br>
|
|
FCL <br>
|
|
IEC 1131 <br>
|
|
IEC 61131 <br>
|
|
IEC 61131 part 7 <br>
|
|
IEC 61131-7 <br>
|
|
<a href="http://en.wikipedia.org/wiki/Fuzzy_logic">Fuzzy logic Wikipedia</a> <br>
|
|
</font>
|
|
</center>
|