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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
<!DOCTYPE html>
<html lang="en">
<head>
<title>Octave Fuzzy Logic Toolkit: addmf</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-U1DAWAznBHeqEIlVSCgzq+c9gqGAJn5c/t99JyeKa9xxaYpSvHU5awsuZVVFIhvj" crossorigin="anonymous"></script>
<script type="text/javascript" async
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_CHTML">
</script>
<style>
var {
font-style: italics;
font-weight: bold;
}
td {
vertical-align: top;
}
</style>
</head>
<body>
<div class="bg-dark">
<div class="container-xl">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href=index.html>
<img src="assets/fuzzy-logic-toolkit.png" alt="fuzzy-logic-toolkit" class="d-inline-block align-top" width="25" height="25">
Octave Fuzzy Logic Toolkit
</a>
<button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="index.html#Command-Line Creation and Modification of Fuzzy Inference Systems">
<i class="fas fa-list-alt"></i>
Command-Line Creation and Modification of Fuzzy Inference Systems
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://gnu-octave.github.io/packages/">
<img src="assets/octave-logo.svg" alt="GNU Octave logo" class="d-inline-block align-top" width="25" height="25">
Octave Packages
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://www.octave.org">
<i class="fas fa-home"></i>
GNU Octave website
</a>
</li>
</ul>
</div>
</div>
</nav>
</div>
</div>
<div class="container-xl my-4">
<div class="card rounded">
<div class="card-header card-header-mod">
<div class="row d-flex flex-wrap align-items-center">
<div class="col-sm-3 col-md-5 mb-2 mb-sm-0">
<h3 class="d-inline-block mr-2">
Function Reference: <b><code>addmf</code></b>
</h3>
</div>
</div>
</div>
<div class="card-body">
<dl>
<dt><u>Function File:</u> <var>fis</var> = <b>addmf</b><i> (<var>fis</var>, <var>in_or_out</var>, <var>var_index</var>, <var>mf_name</var>, <var>mf_type</var>, <var>mf_params</var>)</i></dt>
</dl>
<p> Add a membership function to an existing FIS
structure and return the updated FIS.
</p>
<div class="ms-5">
<p> The types/values of the arguments are expected to be:
</p>
<table>
<thead><tr><th width="35%">Argument</th><th width="65%">Expected Type or Value</th></tr></thead>
<tr><td width="35%"><var>fis</var></td><td width="65%">an FIS structure</td></tr>
<tr><td width="35%"><var>in_or_out</var></td><td width="65%">’input’ or ’output’ (case-insensitive)</td></tr>
<tr><td width="35%"><var>var_index</var></td><td width="65%">valid index of an FIS input/output variable</td></tr>
<tr><td width="35%"><var>mf_name</var></td><td width="65%">a string</td></tr>
<tr><td width="35%"><var>mf_type</var></td><td width="65%">a string</td></tr>
<tr><td width="35%"><var>mf_params</var></td><td width="65%">a vector</td></tr>
</table>
<br>
<p> If <var>mf_type</var> is one of the built-in membership functions, then the
number and values of the parameters must satisfy the membership function
requirements for the specified <var>mf_type</var>.
</p>
<p> Note that addmf will allow the user to add membership functions or
membership function names for a given input or output variable that
duplicate mfs or mf names already entered.
</p>
<p> Also, constant and linear membership functions are not restricted to FIS
structure outputs or to Sugeno-type FIS structures, and the result of using
them for FIS inputs or Mamdani-type FIS outputs has not yet been tested.
</p>
<p> To run the demonstration code, type "<tt>demo addmf</tt>" (without the quotation
marks) at the Octave prompt.
This demo creates two FIS input variables and associated membership functions
and then produces two figures showing the term sets for the two FIS inputs.
</p>
<p> <strong>See also: </strong>
<a href="rmmf.html">rmmf</a>,
<a href="setfis.html">setfis</a>
</p>
</div>
<div class="container-xl my-4">
<div class="card rounded">
<div class="card-header card-header-mod">
<div class="row d-flex flex-wrap align-items-center">
<div class="col-sm-3 col-md-5 mb-2 mb-sm-0">
<h3 class="d-inline-block mr-2">
Example: 1
</h3>
</div>
</div>
</div>
<div class="card-body">
<div class="container bg-light">
<div class="row">
<table><tbody><tr>
<td> </td>
<td><pre class="example">
## Create new FIS.
a = newfis ('Heart-Disease-Risk', 'sugeno', ...
'min', 'max', 'min', 'max', 'wtaver');
## Add two inputs and their membership functions.
a = addvar (a, 'input', 'LDL-Level', [0 300]);
a = addmf (a, 'input', 1, 'Low', 'trapmf', [-1 0 90 110]);
a = addmf (a, 'input', 1, 'Low-Borderline', 'trapmf', ...
[90 110 120 140]);
a = addmf (a, 'input', 1, 'Borderline', 'trapmf', ...
[120 140 150 170]);
a = addmf (a, 'input', 1, 'High-Borderline', 'trapmf', ...
[150 170 180 200]);
a = addmf (a, 'input', 1, 'High', 'trapmf', [180 200 300 301]);
a = addvar (a, 'input', 'HDL-Level', [0 100]);
a = addmf (a, 'input', 2, 'Low-HDL', 'trapmf', [-1 0 35 45]);
a = addmf (a, 'input', 2, 'Moderate-HDL', 'trapmf', [35 45 55 65]);
a = addmf (a, 'input', 2, 'High-HDL', 'trapmf', [55 65 100 101]);
## Plot the input membership functions.
plotmf (a, 'input', 1);
plotmf (a, 'input', 2);
</pre></td></tr></tbody>
</table>
<div class="text-center">
<img src="assets/addmf_102.png" class="rounded img-thumbnail" alt="plotted figure">
</div><p></p>
<div class="text-center">
<img src="assets/addmf_101.png" class="rounded img-thumbnail" alt="plotted figure">
</div><p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
|