19-02-2013, 09:35 AM
Solving Fuzzy Logic Problems With MATLAB
Solving Fuzzy Logic.pdf (Size: 2.91 MB / Downloads: 599)
WHAT IS FUZZY LOGIC TOOLBOX? 2.1 FUZZY LOGIC TOOLBOX DESCRIPTION
Fuzzy Logic Toolbox is a collection of functions built on the MATLAB® numeric computing environment. It provides tools for you to create and edit fuzzy inference systems within the framework of MATLAB, or if you prefer, you can integrate your fuzzy systems into simula-tions with Simulink®. You can even build stand-alone C programs that call on fuzzy systems you build with MATLAB. This toolbox relies heavily on graphical user interface (GUI) tools to help you accomplish your work, although you can work entirely from the command line if you prefer. The toolbox provides three categories of tools:
• Command line functions
• Graphical interactive tools
• Simulink blocks and examples
The first category of tools is made up of functions that you can call from the command line or from your own applications. Many of these functions are MATLAB M-files, series of MAT-LAB statements that implement specialized fuzzy logic algorithms. You can view the MATLAB code for these functions using the statement
WHAT IS FUZZY LOGIC? 3.1 DESCRIPTION OF FUZZY LOGIC
In recent years, the number and variety of applications of fuzzy logic have increased signifi-cantly. The applications range from consumer products such as cameras, camcorders, wash-ing machines, and microwave ovens to industrial process control, medical instrumentation, decision-support systems, and portfolio selection. To understand why use of fuzzy logic has grown, you must first understand what is meant by fuzzy logic. Fuzzy logic has two different meanings. In a narrow sense, fuzzy logic is a logical system, which is an extension of multivalued logic. However, in a wider sense fuzzy logic (FL) is al-most synonymous with the theory of fuzzy sets, a theory which relates to classes of objects with unsharp boundaries in which membership is a matter of degree. In this perspective, fuzzy logic in its narrow sense is a branch of FL. Even in its more narrow definition, fuzzy log-ic differs both in concept and substance from traditional multivalued logical systems. In Fuzzy Logic Toolbox, fuzzy logic should be interpreted as FL, that is, fuzzy logic in its wide sense. The basic ideas underlying FL are explained very clearly and insightfully in the Intro-duction. What might be added is that the basic concept underlying FL is that of a linguistic variable, that is, a variable whose values are words rather than numbers. In effect, much of FL may be viewed as a methodology for computing with words rather than numbers. Al-though words are inherently less precise than numbers, their use is closer to human intui-tion. Furthermore, computing with words exploits the tolerance for imprecision and thereby lowers the cost of solution. Another basic concept in FL, which plays a central role in most of its applications, is that of a fuzzy if-then rule or, simply, fuzzy rule. Although rule-based systems have a long history of use in AI, what is missing in such systems is a mechanism for dealing with fuzzy consequents and fuzzy antecedents. In fuzzy logic, this mechanism is provided by the calculus of fuzzy rules. The calculus of fuzzy rules serves as a basis for what might be called the Fuzzy Depen-dency and Command Language (FDCL). Although FDCL is not used explicitly in Fuzzy Logic Toolbox, it is effectively one of its principal constituents. In most of the applications of fuzzy logic, a fuzzy logic solution is, in reality, a translation of a human solution into FDCL.
WHY USE FUZZY LOGIC?
Here is a list of general observations about fuzzy logic:
Fuzzy logic is conceptually easy to understand. The mathematical concepts behind fuzzy reasoning are very simple. Fuzzy logic is a more intuitive approach without the far-reaching complexity.
Fuzzy logic is flexible. With any given system, it is easy to layer on more functionality without starting again from scratch.
Fuzzy logic is tolerant of imprecise data. Everything is imprecise if you look closely enough, but more than that, most things are imprecise even on careful inspection. Fuzzy reasoning builds this understanding into the process rather than tacking it onto the end.
Fuzzy logic can model nonlinear functions of arbitrary complexity. You can create a fuzzy system to match any set of input-output data. This process is made particularly easy by adaptive techniques like Adaptive Neuro-Fuzzy Inference Systems (ANFIS), which are available in Fuzzy Logic Toolbox.
Fuzzy logic can be built on top of the experience of experts. In direct contrast to neural networks, which take training data and generate opaque, impenetrable mod-els, fuzzy logic lets you rely on the experience of people who already understand your system.
Fuzzy logic can be blended with conventional control techniques. Fuzzy systems don’t necessarily replace conventional control methods. In many cases fuzzy systems augment them and simplify their implementation.
Fuzzy logic is based on natural language. The basis for fuzzy logic is the basis for hu-man communication. This observation underpins many of the other statements about fuzzy logic.
WHAT CAN FUZZY LOGIC TOOLBOX DO?
Fuzzy Logic Toolbox allows you to do several things, but the most important thing it lets you do is create and edit fuzzy inference systems. You can create these systems using graphical tools or command-line functions, or you can generate them automatically using either clus-tering or adaptive neuro-fuzzy techniques. If you have access to Simulink, you can easily test your fuzzy system in a block diagram simu-lation environment. The toolbox also lets you run your own stand-alone C programs directly, without the need for Simulink. This is made possible by a stand-alone Fuzzy Inference Engine that reads the fuzzy systems saved from a MATLAB session. You can customize the stand-alone engine to build fuzzy inference into your own code. All provided code is ANSI compliant.
MEMBERSHIP FUNCTIONS IN FUZZY LOGIC TOOLBOX
The only condition a membership function must really satisfy is that it must vary between 0 and 1. The function itself can be an arbitrary curve whose shape we can define as a function that suits us from the point of view of simplicity, convenience, speed, and efficiency. A fuzzy set is an extension of a classical set. If X is the universe of discourse and its elements are denoted by x, then a fuzzy set A in X is defined as a set of ordered pairs. A = {x, μA(x) | x X} μA(x) is called the membership function (or MF) of x in A. The membership function maps each element of X to a membership value between 0 and 1. Fuzzy Logic Toolbox includes 11 built-in membership function types. These 11 functions are, in turn, built from several basic functions:
• piecewise linear functions
• the Gaussian distribution function
• the sigmoid curve
• quadratic and cubic polynomial curves
The simplest membership functions are formed using straight lines. Of these, the simplest is the triangular membership function, and it has the function name trimf. This function is nothing more than a collection of three points forming a triangle. The trapezoidal member-ship function, trapmf, has a flat top and really is just a truncated triangle curve. These straight line membership functions have the advantage of simplicity.