Matlab Fuzzy Logic Toolbox
Here you can find all about Matlab Fuzzy Logic Toolbox like tutorial and other informations. For example: download, pdf.
Matlab Fuzzy Logic Toolbox manual (user guide) is ready to download for free.
On the bottom of page users can write a review. If you own a Matlab Fuzzy Logic Toolbox please write about it to help other people.
[ Report abuse or wrong photo | Share your Matlab Fuzzy Logic Toolbox photo ]
Matlab Fuzzy Inference System Sistema de Infer ncia Fuzzy
User reviews and opinions
|kb3lms||10:32pm on Friday, September 17th, 2010|
|Very satisfied with my purchase This rice cooker meets all of my needs. Especially like the automatic timer, the removable inside cover(for washing),... exellent product I had a bigger size of this rice cooker before and always happy whenever I used it. Especially when you tried to make porridge.|
|Barry M||9:19am on Saturday, July 24th, 2010|
|This device cooks rice flawlessly The Japanese have turned the rice cooker into a status symbol with prices of the highest end units over $500.|
|bobert_oo||1:07am on Friday, July 9th, 2010|
|100% Awesome Rice Cooker If all you ever want to cook in your rice cooker is plain old white rice.|
Comments posted on www.ps2netdrivers.net are solely the views and opinions of the people posting them and do not necessarily reflect the views or opinions of us.
You can change the way any toolbox function works by copying and renaming the M-file, then modifying your copy. You can also extend the toolbox by adding your own M-files. Secondly, the toolbox provides a number of interactive tools that let you access many of the functions through a GUI. Together, the GUI- based tools provide an environment for fuzzy inference system design, analysis, and implementation. The third category of tools is a set of blocks for use with the Simulink simulation software. These are specifically designed for high speed fuzzy logic inference in the Simulink environment.
To install this toolbox on a workstation, large machine,or a PC, see the installation documentation for that platform. To determine if the Fuzzy Logic Toolbox is already installed on your system, check for a subdirectory named fuzzy within the main toolbox directory or folder.
Using This Guide
If you are new to fuzzy logic, begin with Introduction. This introduces the motivation behind fuzzy logic and leads you smoothly into the tutorial. If you are an experienced fuzzy logic user, you may want to start at the beginning of Tutorial, to make sure you are comfortable with the fuzzy logic terminology in the Fuzzy Logic Toolbox. If you just want an overview of each graphical tool and examples of specific fuzzy system tasks, turn directly to the section in entitled, Building Systems with the Fuzzy Logic Toolbox. This section does not include information on the adaptive data modeling application covered by the toolbox function ANFIS. The basic functionality of this tool can be found in the section entitled The ANFIS Editor GUI on page 2-82. If you just want to start as soon as possible and experiment, you can open an example system right away by typing
This displays the Fuzzy Inference System (FIS) editor for an example decision making problem that has to do with how to tip in a restaurant. All toolbox users should use Function Reference section for information on specific tools or functions. Reference descriptions include a synopsis of the functions syntax, as well as a complete explanation of options and operation. Many reference descriptions also include helpful examples, a description of the functions algorithm, and references to additional reading material. For GUI-based tools, the descriptions include options for invoking the tool.
Days of the week
We call this set a classical set because its been around for such a long time. It was Aristotle who first formulated the Law of the Excluded Middle, which says X must either be in set A or in set not-A. Another version runs like this. Of any subject, one thing must be either asserted or denied. Here is a restatement of the law with annotations: Of any subject (say Monday), one thing (being a day of the week) must be either asserted or denied (I assert that Monday is a day of the week). This law demands that opposites, the two categories A and not-A, should between them contain the entire universe. Everything falls into either one group or the other. There is no thing that is both a day of the week and not a day of the week.
Now consider the set of days comprising a weekend. The diagram below is one attempt at classifying the weekend days.
Shoe Polish Saturday Monday Butter
Days of the weekend
Liberty Friday Thursday Dorsal Fins
Most would agree that Saturday and Sunday belong, but what about Friday? It feels like a part of the weekend, but somehow it seems like it should be technically excluded. So in the diagram above Friday tries its best to sit on the fence. Classical or normal sets wouldnt tolerate this kind of thing. Either youre in or youre out. Human experience suggests something different, though: fence sitting is a part of life. Of course were on tricky ground here, because were starting to take individual perceptions and cultural background into account when we define what constitutes the weekend. But this is exactly the point. Even the dictionary is imprecise, defining the weekend as the period from Friday night or Saturday to Monday morning. Were entering the realm where sharp edged yes-no logic stops being helpful. Fuzzy reasoning becomes valuable exactly when were talking about how people really perceive the concept weekend as opposed to a simple-minded classification useful for accounting purposes only. More than anything else, the following statement lays the foundations for fuzzy logic. In fuzzy logic, the truth of any statement becomes a matter of degree. Any statement can be fuzzy. The tool that fuzzy reasoning gives is the ability to reply to a yes-no question with a not-quite-yes-or-no answer. This is the kind of thing that humans do all the time (think how rarely you get a straight answer to a seemingly simple question) but its a rather new trick for computers. How does it work? Reasoning in fuzzy logic is just a matter of generalizing the familiar yes-no (Boolean) logic. If we give true the numerical value of 1 and
1 0.75 0.5 0.sigmf, P = [2 4] 8 10
1 0.75 0.5 0.dsigmf, P = [5 7] 8 10
1 0.75 0.5 0.psigmf, P = [5 8] 8 10
Polynomial based curves account for several of the membership functions in the toolbox. Three related membership functions are the Z, S, and Pi curves, all
named because of their shape. The function zmf is the asymmetrical polynomial curve open to the left, smf is the mirror-image function that opens to the right, and pimf is zero on both extremes with a rise in the middle.
1 0.75 0.5 0.zmf, P = [3 7] 1 0.75 0.5 0.pimf, P = [5 10] 1 0.75 0.5 0.smf, P = [1 8] 8 10
Theres a very wide selection to choose from when youre selecting your favorite membership function. And the Fuzzy Logic Toolbox also allows you to create your own membership functions if you find this list too restrictive. On the other hand, if this list seems bewildering, just remember that you could probably get along very well with just one or two types of membership functions, for example the triangle and trapezoid functions. The selection is wide for those who want to explore the possibilities, but exotic membership functions are by no means required for perfectly good fuzzy inference systems. Finally, remember that more details are available on all these functions in the reference section, which makes up the second half of this manual.
Summary of Membership Functions
Fuzzy sets describe vague concepts (fast runner, hot weather, weekend days). A fuzzy set admits the possibility of partial membership in it. (Friday is sort of a weekend day, the weather is rather hot). The degree an object belongs to a fuzzy set is denoted by a membership value between 0 and 1. (Friday is a weekend day to the degree 0.8). A membership function associated with a given fuzzy set maps an input value to its appropriate membership value.
We now know whats fuzzy about fuzzy logic, but what about the logic?
The most important thing to realize about fuzzy logical reasoning is the fact that it is a superset of standard Boolean logic. In other words, if we keep the fuzzy values at their extremes of 1 (completely true), and 0 (completely false), standard logical operations will hold. As an example, consider the standard truth tables below.
3. Apply Implication operator (min).
tip = generous
result of implication
Step 4. Aggregate All Outputs
Since decisions are based on the testing of all of the rules in an FIS, the rules must be combined in some manner in order to make a decision. Aggregation is the process by which the fuzzy sets that represent the outputs of each rule are
combined into a single fuzzy set. Aggregation only occurs once for each output variable, just prior to the fifth and final step, defuzzification. The input of the aggregation process is the list of truncated output functions returned by the implication process for each rule. The output of the aggregation process is one fuzzy set for each output variable. Notice that as long as the aggregation method is commutative (which it always should be), then the order in which the rules are executed is unimportant. Three built-in methods are supported: max (maximum), probor (probabilistic OR), and sum (simply the sum of each rules output set). In the diagram below, all three rules have been placed together to show how the output of each rule is combined, or aggregated, into a single fuzzy set whose membership function assigns a weighting for every output (tip) value.
2. Apply fuzzy operation (OR = max).
3. Apply implication method (min).
25% 0 25%
service is poor
food is rancid
tip = cheap
good If service is good
rule 2 has no dependency on input 2
25% tip = average
25% tip = generous 0 25% 4. Apply aggregation method (max).
Result of aggregation
Step 5. Defuzzify
The input for the defuzzification process is a fuzzy set (the aggregate output fuzzy set) and the output is a single number. As much as fuzziness helps the rule evaluation during the intermediate steps, the final desired output for each variable is generally a single number. However, the aggregate of a fuzzy set encompasses a range of output values, and so must be defuzzified in order to resolve a single output value from the set. Perhaps the most popular defuzzification method is the centroid calculation, which returns the center of area under the curve. There are five built-in methods supported: centroid, bisector, middle of maximum (the average of the maximum value of the output set), largest of maximum, and smallest of maximum.
1 Select the input variable, service, by double-clicking on it. Set both the
Range and the Display Range to the vector [0 10].
2 Select Add MFs. from the Edit menu. The window below pops open.
3 Use the pull-down tab to choose gaussmf for MF Type and 3 for Number of
MFs. This adds three Gaussian curves to the input variable service.
4 Click once on the curve with the leftmost hump. Change the name of the
curve to poor. To adjust the shape of the membership function, either use the mouse, as described above, or type in a desired parameter change, and then click on the membership function. The default parameter listing for this curve is [1.5 0].
5 Name the curve with the middle hump, good, and the curve with the
rightmost hump, excellent. Reset the associated parameters if desired.
6 Select the input variable, food, by clicking on it. Set both the Range and the
Display Range to the vector [0 10].
7 Select Add MFs. from the Edit menu and add two trapmf curves to the
input variable food.
8 Click once directly on the curve with the leftmost trapezoid. Change the
name of the curve to rancid. To adjust the shape of the membership function, either use the mouse, as described above, or type in a desired parameter change, and then click on the membership function. The default parameter listing for this curve is [1 3].
9 Name the curve with the rightmost trapezoid, delicious, and reset the
associated parameters if desired.
Next you need to create the membership functions for the output variable, tip. To create the output variable membership functions, use the Variable Palette on the left, selecting the output variable, tip. The inputs ranged from 0 to 10, but the output scale is going to be a tip between 5 and 25 percent. Use triangular membership function types for the output. First, set the Range (and the Display Range) to [0 30], to cover the output range. Initially, the cheap membership function will have the parameters , the average membership function will be , and the generous membership function will be . Your system should look something like this.
Now that the variables have been named, and the membership functions have appropriate shapes and names, youre ready to write down the rules. To call up the Rule Editor, go to the View menu and select Edit Rules., or type ruleedit at the command line.
Input or output selection menus. The menu items allow you to save, open, or edit a fuzzy system using any of the five basic GUI tools.
The rules are entered automatically using the GUI tools.
Link input statements in rules.
This status line describes the most recent operation. Negate input or output statements in rules. Create or edit rules with the GUI buttons and choices from the input or output selection menus.
The Help button gives some information about how the Rule Editor works, and the Close button closes the window.
Importing and Exporting from the GUI Tools
When you save a fuzzy system to disk, youre saving an ASCII text FIS file representation of that system with the file suffix.fis. This text file can be edited and modified and is simple to understand. When you save your fuzzy system to the MATLAB workspace, youre creating a variable (whose name you choose) that will act as a MATLAB structure for the FIS system. FIS files and FIS structures represent the same system.
Note If you do not save your FIS to your disk, but only save it to the MATLAB workspace, you will not be able to recover it for use in a new MATLAB session.
Customizing Your Fuzzy System
If you want to include customized functions as part of your use of the Fuzzy Logic Toolbox, you must follow a few guidelines. You may substitute customized functions for the AND, OR, aggregation, and defuzzification methods, provided your customized functions work in a similar way to max, min, or prod in MATLAB. That is, they must be able to operate down the columns of a matrix. In MATLAB, for a matrix x, min(x) returns a row vector containing the minimum element from each column. For N-D arrays, min(x) operates along the first non-singleton dimension. The function min(x,y), on the other hand, returns an array the same size as x and y populated with the smallest elements from x or y. Either one can be a scalar. Functions such as max, prod, and mean operate in a similar manner. In the Fuzzy Logic Toolbox, the implication method performs an element by element matrix operation, similar to the min(x,y) function in MATLAB, as in
a=[1 2; 3 b=[2 2; 2 min(a,b) ans = 4]; 2];
After you have defined your custom function using the procedure described in the next section, use the FIS Editor to substitute your custom function for a standard function. To do this,
1 Open the FIS Editor by typing fuzzy at the command line prompt. 2 In the lower left panel, locate the method you want to replace. 3 In the drop-down menu, click Custom. A dialog box appears. 4 Enter the name of your custom function and click OK.
Your custom function then replaces the standard function in all subsequent operations.
Custom Membership Functions
You can create your own membership functions using an M-file. The values these functions can take must be between 0 and 1. There is a limitation on
customized membership functions in that they cannot use more than 16 parameters. To define a custom membership function named custmf
1 Create an M-file for a function, custmf.m, that takes values between 0 and
1, and depends on 16 parameters at most.
2 Choose the Add Custom MF item in the Edit menu on the Membership
Function Editor GUI.
3 Enter your custom membership function M-file name, custmf, in the M-file
function name text box.
4 Enter the vector of parameters you want to use to parameterize your
customized membership function in the text box next to Parameter list.
5 Give the custom membership function a name different from any other
membership function name you will use in your FIS.
6 Click OK.
Here is some sample code for a custom membership function, testmf1, that depends on eight parameters between 0 and 10.
function out = testmf1(x, params) for i=1:length(x) if x(i)<params(1) y(i)=params(1); elseif x(i)<params(2) y(i)=params(2); elseif x(i)<params(3) y(i)=params(3); elseif x(i)<params(4) y(i)=params(4); elseif x(i)<params(5) y(i)=params(5); elseif x(i)<params(6) y(i)=params(6); elseif x(i)<params(7) y(i)=params(7);
elseif x(i)<params(8) y(i)=params(8); else y(i)=0; end end out=.1*y';
You can try naming this file testmf1.m and loading it into the Membership Function Editor using the parameters of your choice.
Working from the Command Line
The tipping system is one of many examples of fuzzy inference systems provided with the Fuzzy Logic Toolbox. The FIS is always cast as a MATLAB structure. To load this system (rather than bothering with creating it from scratch), type
a = readfis('tipper.fis')
MATLAB will respond with
a = name: type: andMethod: orMethod: defuzzMethod: impMethod: aggMethod: input: output: rule: 'tipper' 'mamdani' 'min' 'max' 'centroid' 'min' 'max' [1x2 struct] [1x1 struct] [1x3 struct]
The labels on the left of this listing represent the various components of the MATLAB structure associated with tipper.fis. You can access the various components of this structure by typing the component name after typing a. At the MATLAB command line, type
for example. MATLAB will respond with
ans = mamdani
returns almost the same structure information that typing a, alone does.
getfis(a) returns Name = tipper Type = mamdani
NumInputs = 2 InLabels = service food NumOutputs = 1 OutLabels = tip NumRules = 3 AndMethod = min OrMethod = max ImpMethod = min AggMethod = max DefuzzMethod = centroid
Notice that some of these fields are not part of the structure, a. Thus, you cannot get information by typing a.Inlabels, but you can get it by typing
The Fuzzy Logic Toolbox is designed to work seamlessly with Simulink, the simulation software available from The MathWorks. Once youve created your fuzzy system using the GUI tools or some other method, youre ready to embed your system directly into a simulation.
An Example: Water Level Control
Picture a tank with a pipe flowing in and a pipe flowing out. You can change the valve controlling the water that flows in, but the outflow rate depends on the diameter of the outflow pipe (which is constant) and the pressure in the tank (which varies with the water level). The system has some very nonlinear characteristics.
A controller for the water level in the tank needs to know the current water level and it needs to be able to set the valve. Our controllers input will be the water level error (desired water level minus actual water level) and its output will be the rate at which the valve is opening or closing. A first pass at writing a fuzzy controller for this system might be the following. 1. If (level is okay) then (valve is no_change) (1) 2. If (level is low) then (valve is open_fast) (1) 3. If (level is high) then (valve is close_fast) (1) One of the great advantages of the Fuzzy Logic Toolbox is the ability to take fuzzy systems directly into Simulink and test them out in a simulation environment. A Simulink block diagram for this system is shown below. It
contains a Simulink block called the Fuzzy Logic Controller block. The Simulink block diagram for this system is sltank. Typing
at the command line, causes the system to appear.At the same time, the file tank.fis is loaded into the FIS structure tank.
Some experimentation shows that three rules are not sufficient, since the water level tends to oscillate around the desired level. This is seen from the following plot.
2 1.8 1.6 1.4 1.0.8 0.6 0.4 0.0
60 Time (second)
We need to add another input, the water levels rate of change, to slow down the valve movement when we get close to the right level. 4. If (level is good) and (rate is negative), then (valve is close_slow) (1) 5. If (level is good) and (rate is positive), then (valve is open_slow) (1) The demo, sltank is built with these five rules. With all five rules in operations,you can examine the step response by simulating this system. This is done by clicking Start from the pull-down menu under Simulate, and clicking the Comparison block. The result looks like this.
2 Click on the Generate FIS button. This displays a menu from which you can
choose the number of membership functions, MFs, and the type of input and output membership functions. Notice there are only two choices for the
output membership function: constant and linear. This limitation of output membership function choices is because anfis only operates on Sugeno-type systems.
3 Fill in the entries as weve done below, and click OK.
You can also implement this FIS generation from the command line using the command genfis1 (for grid partitioning) or genfis2 (for subtractive clustering). A command line language example illustrating the use of genfis1 and anfis is provided later.
Specifying Your Own Membership Functions for ANFIS
Although we dont expect you to do this for this example, you can choose your own preferred membership functions with specific parameters to be used by anfis as an initial FIS for training. To define your own FIS structure and parameters:
1 Open the Edit membership functions menu item from the View menu. 2 Add your desired membership functions (the custom membership option will
be disabled for anfis). The output membership functions must either be all constant or all linear. For carrying out this and the following step, see The FIS Editor and The Membership Function Editor.
3 Select the Edit rules menu item in the View menu. Use the Rule Editor to
generate the rules (seeThe Rule Editor).
4 Select the Edit FIS Properties menu item from the View menu. Name your
FIS, and save it to either the workspace or the disk.
5 Use the View menu to return to the ANFIS Editor GUI to train the FIS.
To load an existing FIS for ANFIS initialization, in the Generate FIS portion of the GUI, click Load from worksp. or Load from disk. You will load your FIS from the disk if you have saved an FIS previously that you would like to use. Otherwise you will be loading your FIS from the workspace. Either of these radio buttons toggle the Generate FIS button to Load. Load your FIS by clicking this button.
Viewing Your FIS Structure
After you generate the FIS, you can view the model structure by clicking the Structure button in the middle of the right side of the GUI. A new GUI appears, as follows.
Return to other open GUIs using the Window menu. Color coding of branches characterizes the rules.
Node labels - for example, leftmost node is the input node.
Node representing a normalization factor for the rules.
The branches in this nodal graph are color coded to indicate whether or not and, not, or or, are used in the rules. Clicking on the nodes indicates information about the structure. You can view the membership functions or the rules by opening either the Membership Function Editor, or the Rule Editor from the View menu.
The two anfis parameter optimization method options available for FIS training are hybrid (the default, mixed least squares and backpropagation) and backpropa (backpropagation). The Error Tolerance is used to create a training stopping criterion, which is related to the error size. The training will stop after the training data error remains within this tolerance. This is best left set to 0 if you dont know how your training error is going to behave. To start the training Leave the optimization method at hybrid. Set the number of training epochs to 40, under the Epochs listing on the GUI (the default value is 3). Select Train Now. The following should appear on your screen.
*** Training error
. Checking error
Notice how the checking error decreases up to a certain point in the training and then it increases. This increase represents the point of model overfitting. anfis chooses the model parameters associated with the minimum checking
error (just prior to this jump point). This is an example for which the checking data option of anfis is useful.
Testing Your Data Against the Trained FIS
To test your FIS against the checking data, click Checking data in the Test FIS portion of the GUI, and click Test Now. Now when you test the checking data against the FIS it looks pretty good.
Note If you are ever loading data into anfis after clearing previously loaded data, you must make sure that the newly loaded data sets have the same number of inputs as the previously loaded ones did. Otherwise,, you will have to start a new anfisedit session from the command line.
Note If you dont want to use the checking data option of anfis, dont load any checking data before you train the FIS. If you decide to retrain your FIS with no checking data, you can unload the checking data in one of two ways. One method is to click the Checking radio button in the Load data portion of the GUI and then click Clear Data to unload the checking data. The other method you can use is to close the GUI and go to the command line and retype anfisedit. In this case you will have to reload the training data. After clearing the data, you will need to regenerate your FIS. Once the FIS is generated, you can use your first training experience to decide on the number of training epochs you want for the second round of training.
ANFIS Editor GUI Example 2: Checking Data Doesnt Validate Model
More on ANFIS and the ANFIS Editor GUI
The command anfis takes at least two and at most six input arguments. The general format is
[fismat1,trnError,ss,fismat2,chkError] =. anfis(trnData,fismat,trnOpt,dispOpt,chkData,method);
where trnOpt (training options), dispOpt (display options), chkData (checking data), and method (training method), are optional. All of the output arguments are also optional. In this section we discuss the arguments and range components of the command line function anfis, as well as the analogous functionality of the ANFIS Editor GUI. When the ANFIS Editor GUI is invoked using anfisedit, only the training data set must exist prior to implementing anfis.In addition, the step-size will be fixed when the adaptive neuro-fuzzy system is trained using this GUI tool.
The training data, trnData, is a required argument to anfis, as well as to the ANFIS Editor GUI. Each row of trnData is a desired input/output pair of the target system to be modeled. Each row starts with an input vector and is followed by an output value. Therefore, the number of rows of trnData is equal to the number of training data pairs, and, since there is only one output, the number of columns of trnData is equal to the number of inputs plus one.
Input FIS Structure
The input FIS structure, fismat, can be obtained either from any of the fuzzy editors: the FIS Editor, the Membership Function Editor, and the Rule Editor from the ANFIS Editor GUI, (which allows an FIS structure to be loaded from the disk or the workspace), or from the command line function, genfis1 (for which you only need to give numbers and types of membership functions). The FIS structure contains both the model structure, (which specifies such items as the number of rules in the FIS, the number of membership functions for each input, etc.), and the parameters, (which specify the shapes of membership functions). There are two methods that anfis learning employs for updating membership function parameters: backpropagation for all parameters (a steepest descent method), and a hybrid method consisting of backpropagation for the parameters associated with the input membership functions, and least squares estimation for the parameters associated with the output membership functions. As a result, the training error decreases, at least locally, throughout the learning process. Therefore, the more the initial membership functions resemble the optimal ones, the easier it will be for the model parameter training to converge. Human expertise about the target system to be modeled may aid in setting up these initial membership function parameters in the FIS structure. Note that genfis1 produces an FIS structure based on a fixed number of membership functions. This invokes the so-called curse of dimensionality, and causes an explosion of the number of rules when the number of inputs is moderately large, that is, more than four or five. The Fuzzy Logic Toolbox offers a method that will provide for some dimension reduction in the fuzzy inference system: you can generate an FIS structure using the clustering algorithm discussed in Subtractive Clustering. From the ANFIS Editor GUI, this algorithm is selected with a radio button before the FIS is generated. This subtractive clustering method partitions the data into groups called clusters, and generates an FIS with the minimum number rules required to distinguish the fuzzy qualities associated with each of the clusters.
FIS Data Structure Management
addmf addrule addvar defuzz evalfis evalmf gensurf getfis mf2mf newfis parsrule plotfis plotmf readfis rmmf rmvar setfis showfis showrule writefis
Add membership function to FIS. Add rule to FIS. Add variable to FIS. Defuzzify membership function. Perform fuzzy inference calculation. Generic membership function evaluation. Generate FIS output surface. Get fuzzy system properties. Translate parameters between functions. Create new FIS. Parse fuzzy rules. Display FIS input-output structure. Plot all of the membership functions associated with a given variable. Load FIS from disk. Remove membership function from FIS. Remove variable from FIS. Set fuzzy system properties. Display annotated FIS. Display FIS rules. Save FIS to disk.
anfis fcm genfis1
Training routine for a Sugeno-type FIS (MEX only). Find clusters with FCM clustering. Generate FIS matrix using grid method.
Generate FIS matrix using subtractive clustering. Find cluster centers with subtractive clustering.
defuzzdm fcmdemo fuzdemos gasdemo juggler invkine irisfcm noisedm slbb slcp sltank sltankrule sltbu
Defuzzification methods. FCM clustering demo (2-D). GUI for Fuzzy Logic Toolbox demos. ANFIS demo for fuel efficiency using subclustering. Ball-juggler with Rule Viewer. Inverse kinematics of a robot arm. FCM clustering demo (4-D). Adaptive noise cancellation. Ball and beam control (Simulink ). Inverted pendulum control (Simulink ). Water level control (Simulink). Water level control with Rule Viewer (Simulink). Truck backer-upper (Simulink only).
Simulink fuzzy logic library. Fuzzy inference S-function for Simulink.
Functions Alphabetical List
addmf. 3-8 addrule. 3-10 addvar. 3-11 anfis. 3-12 anfisedit. 3-16 convertfis. 3-18 defuzz. 3-19 dsigmf. 3-20 evalfis. 3-21 evalmf. 3-23 fcm. 3-24 findcluster. 3-26 fuzarith. 3-28 fuzblock. 3-29 fuzdemos. 3-30 fuzzy. 3-31 gauss2mf. 3-34 gaussmf. 3-36 gbellmf. 3-37 genfis1. 3-38 genfis2. 3-40 gensurf. 3-42 getfis. 3-44 mam2sug. 3-48 mf2mf. 3-49 mfedit. 3-50 newfis. 3-52 parsrule. 3-53 pimf. 3-54 plotfis. 3-55 plotmf. 3-56 probor. 3-57 psigmf. 3-58 readfis. 3-59 rmmf. 3-60
rmvar. 3-61 ruleedit. 3-63 ruleview. 3-65 setfis. 3-67 sffis. 3-69 showfis. 3-70 showrule. 3-72 sigmf. 3-74 smf. 3-75 subclust. 3-76 surfview. 3-79 trapmf. 3-81 trimf. 3-83 writefis. 3-85 zmf. 3-86 Fuzzy Logic Controller. 4-3 Fuzzy Logic Controller with Rule Viewer. 4-4
matrix or not provided, then xBounds defaults to the minimum and maximum data values found in each data dimension. options is an optional vector for specifying algorithm parameters to override the default values. These parameters are explained in the help text for subclust on page 3-76. Default values are in place when this argument is not specified.
fismat = genfis2(Xin,Xout,0.5)
This is the minimum number of arguments needed to use this function. Here a range of influence of 0.5 is specified for all data dimensions.
fismat = genfis2(Xin,Xout,[0.5 0.25 0.3])
This assumes the combined data dimension is 3. Suppose Xin has two columns and Xout has one column, then 0.5 and 0.25 are the ranges of influence for each of the Xin data dimensions, and 0.3 is the range of influence for the Xout data dimension.
fismat = genfis2(Xin,Xout,0.5,[-10 -5 0; 20])
This specifies how to normalize the data in Xin and Xout into values in the range [0 1] for processing. Suppose Xin has two columns and Xout has one column, then the data in the first column of Xin are scaled from [-10 +10], the data in the second column of Xin are scaled from [-5 +5], and the data in Xout are scaled from [0 20].
Generate an FIS output surface.
gensurf(fis) gensurf(fis,inputs,output) gensurf(fis,inputs,output,grids) gensurf(fis,inputs,output,grids,refinput) [x,y,z]=gensurf(.)
gensurf(fis) generates a plot of the output surface of a given fuzzy inference system (fis) using the first two inputs and the first output. gensurf(fis,inputs,output) generates a plot using the inputs (one or two) and output (only one is allowed) given, respectively, by the vector, inputs, and the scalar, output. gensurf(fis,inputs,output,grids) allows you to specify the number of grids in the X (first, horizontal) and Y (second, vertical) directions. If grids is a two
element vector, the grids in the X and Y directions can be set independently.
gensurf(fis,inputs,output,grids,refinput) can be used if there are more than two outputs. The length of the vector refinput is the same as the number
of inputs: Enter NaNs for the entries of refinput corresponding to the inputs whose surface is being displayed. Enter real double scalars to fix the values of other inputs.
[x,y,z]=gensurf(.) returns the variables that define the output surface and suppresses automatic plotting.
a = readfis('tipper'); gensurf(a)
a = gensurf(Temp,[1 2],1,[20 20],[nan nan 0.2]);
generates the surface of a three-input FIS named Temp from its first two inputs to its first output, while fixing a reference value for the third input at.2.
WM3431HW RZ1717 KDL-40XBR3 VN-900 MX2442A GPS 500 Yamaha B-5 WD-1250ERD NV-FJ620EU DVP-SR101p B 40 D Touch C651 100 Mkii DSP-A2 College 2D Mini Dock NX-200 LE46C530f1W - E Yamaha C-2A Pdf Keyboard MS-7358 VPH7090- Driver Mf201 CD951 00S DVR-330-S CB 380 AM-599 RDR-HX820 F1245AV SU-X840 SDX-500V SM-5000 35 DS TX-28PS1F MX4gvrgn Wtxl2101 Cavalier KX-TCD535 Officejet 4255 Cypelec BO6030 Argos 66 AF Uk R05 Madden 2005 Moto Z9 Premacy Weboffice FR732 TSS308GE-a NZ FW390C Drive Download EX-H10 FWM139 CA-D-pi 030 Zoom-nikkor Color TV TXP37C10Y SGH-A707 XR-F5100EE HR7764 X3 2004 HDC-TM55 Of WAR AVR 247 Incredible PS-42P3S Nakamichi 550 8800F PSR-6000 SC150 SCH-R451 C MY213X VR456-78B HDR-SR12 KEH-P1013R P2470HN VP-D300 LBP-1120 YP-S2ZU MX-J950R Polaroid I835 KOR-816TOA Blackberry 850 VN-6500PC KRC-378R XL700-1999 Turf-power-700TP LW-A0510CL WD-D84S TX-36PL35D XSU-00770B PRO100 FCV-620 NWZ-E353 Panasonic VS3 Single Series
manuel d'instructions, Guide de l'utilisateur | Manual de instrucciones, Instrucciones de uso | Bedienungsanleitung, Bedienungsanleitung | Manual de Instruções, guia do usuário | инструкция | návod na použitie, Užívateľská príručka, návod k použití | bruksanvisningen | instrukcja, podręcznik użytkownika | kullanım kılavuzu, Kullanım | kézikönyv, használati útmutató | manuale di istruzioni, istruzioni d'uso | handleiding, gebruikershandleiding
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101