|
56 | 56 | "bar.plot()\n", |
57 | 57 | "foo.plot()\n", |
58 | 58 | "baz = foo + bar\n", |
59 | | - "baz.plot()" |
| 59 | + "baz.plot()\n", |
| 60 | + "\n", |
| 61 | + "numbers(11)\n" |
| 62 | + ] |
| 63 | + }, |
| 64 | + { |
| 65 | + "cell_type": "code", |
| 66 | + "execution_count": 11, |
| 67 | + "metadata": { |
| 68 | + "collapsed": false |
| 69 | + }, |
| 70 | + "outputs": [ |
| 71 | + { |
| 72 | + "data": { |
| 73 | + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGR1JREFUeJzt3XuMXGd5x/HvM5fdddZO4niXEGITJ2AiXAQl3ab0RiMF\nqBNBQu9JW5VLRFq1oVS9KRVVitL+Q1FbqVUKNQVxESUEWsBtTQOlVK2qhmYDSYgTAiZ1ajs3xzZe\nYu/s3J7+cc6ZnYxnds7unpmdd87vI1meOfPuzOuzsz8/+5x3zjF3R0RExkthoycgIiLZU7iLiIwh\nhbuIyBhSuIuIjCGFu4jIGFK4i4iMIYW7iMgYUriLiIwhhbuIyBgqbdQLz8zM+M6dOzfq5UVEgnTf\nffc96+6z/cZtWLjv3LmT+fn5jXp5EZEgmdnjacapLSMiMoYU7iIiY0jhLiIyhhTuIiJjSOEuIjKG\n+oa7mX3YzJ4xs4d6PG5m9pdmdtDMHjSzK7KfpoiIrEaayv0jwJ4VHr8G2BX/uRl4//qnJSIi69E3\n3N39P4ATKwy5HviYR+4Bzjezi7KaoMiwPXWqwpcefnqjpyGyLln03C8GDrfdPxJvO4uZ3Wxm82Y2\nf+zYsQxeWiR7H/3vQ/zqx+epNZobPRWRNRvqAVV33+vuc+4+Nzvb99OzIhvi2e8t0XQ4eaa60VMR\nWbMswv0osKPt/vZ4m0iQTpyuPu9vkRBlEe77gF+JV828Bjjl7k9m8LwiG+J4Eu7PKdwlXH1PHGZm\nnwSuAmbM7AjwR0AZwN0/AOwHrgUOAmeAtw1qsiLDkFTsx1W5S8D6hru739jncQd+I7MZiWwwtWVk\nHOgTqiJtluoNnluqAwp3CZvCXaTNydO11m2Fu4RM4S7S5vjppdZthbuETOEu0iYJ9FLBnhf0IqFR\nuIu0ScJ958y0KncJmsJdpM3xeG37S2c3K9wlaAp3kTYnz1QpGFw6O83JMzWaTd/oKYmsicJdpM3x\n01W2njPBtukJGk1noVLr/0UiI0jhLtLmxHNVLpieYNvmCUCfUpVwKdxF2pw4HYX7BdOTrfsiIVK4\ni7Q5fnopqtyn48pdJw+TQCncRdqcPFOLK/eJ+L7CXcKkcBeJNZrOyTNVtrWFu9oyEiqFu0jsdLWO\nO2yZKjNVLjJRKmi1jARL4S4SW6pF10ydKkc/FpOlQmubSGgU7iKxSq0BwGS5CMBUuchSvbGRUxJZ\n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\nEZEx9P9uRQxIU8yTVAAAAABJRU5ErkJggg==\n", |
| 74 | + "text/plain": [ |
| 75 | + "<matplotlib.figure.Figure at 0x7f7c9cf24c18>" |
| 76 | + ] |
| 77 | + }, |
| 78 | + "metadata": {}, |
| 79 | + "output_type": "display_data" |
| 80 | + } |
| 81 | + ], |
| 82 | + "source": [ |
| 83 | + "%matplotlib inline\n", |
| 84 | + "\n", |
| 85 | + "from fuzzy.classes import Domain, Set\n", |
| 86 | + "from fuzzy.functions import alpha, triangular, gauss\n", |
| 87 | + "from fuzzy.hedges import plus, minus, very\n", |
| 88 | + "\n", |
| 89 | + "numbers = Domain(\"numbers\", low=0, high=20, res=0.1)\n", |
| 90 | + "numbers.close_to_10 = Set(numbers, gauss(10, 10))\n", |
| 91 | + "\n", |
| 92 | + "numbers.close_to_10.plot()" |
60 | 93 | ] |
61 | 94 | }, |
62 | 95 | { |
63 | 96 | "cell_type": "markdown", |
64 | 97 | "metadata": {}, |
65 | 98 | "source": [ |
66 | 99 | "## Rules\n", |
67 | | - "\n", |
68 | 100 | "Rules aka *Fuzzy Inference* is done when domains and sets are defined to combine sets of different domains. For this to work, first we need to make sure we only get a single membership value if we query a domain with multiple sets. " |
69 | 101 | ] |
70 | 102 | }, |
71 | 103 | { |
72 | 104 | "cell_type": "code", |
73 | | - "execution_count": 4, |
| 105 | + "execution_count": null, |
74 | 106 | "metadata": { |
75 | 107 | "collapsed": false |
76 | 108 | }, |
77 | | - "outputs": [ |
78 | | - { |
79 | | - "ename": "NameError", |
80 | | - "evalue": "name 'fromiter' is not defined", |
81 | | - "output_type": "error", |
82 | | - "traceback": [ |
83 | | - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
84 | | - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", |
85 | | - "\u001b[0;32m<ipython-input-4-d8c7a3e2d7ad>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 19\u001b[0;31m \u001b[0mfromiter\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
86 | | - "\u001b[0;31mNameError\u001b[0m: name 'fromiter' is not defined" |
87 | | - ] |
88 | | - } |
89 | | - ], |
| 109 | + "outputs": [], |
90 | 110 | "source": [ |
91 | 111 | "from numpy import outer\n", |
92 | 112 | "\n", |
|
0 commit comments