Rev 4422 Rev 4423
Line 1... Line 1...
1 { 1 {
2 "metadata": { 2 "metadata": {
3 "name": "", 3 "name": "",
4 "signature": "sha256:2b27dc30afc5801b549b86c718ac60f04cf5f54a281bec76ad61772eab7fb3e7" 4 "signature": "sha256:2b685229d679e1d41a25fddbfc5abcd92050271aa14c1131a12e709bfacddba1"
5 }, 5 },
6 "nbformat": 3, 6 "nbformat": 3,
7 "nbformat_minor": 0, 7 "nbformat_minor": 0,
8 "worksheets": [ 8 "worksheets": [
9 { 9 {
Line 17... Line 17...
17 "import matplotlib.pyplot as plt" 17 "import matplotlib.pyplot as plt"
18 ], 18 ],
19 "language": "python", 19 "language": "python",
20 "metadata": {}, 20 "metadata": {},
21 "outputs": [], 21 "outputs": [],
22 "prompt_number": 2 22 "prompt_number": 1
23 }, 23 },
24 { 24 {
25 "cell_type": "code", 25 "cell_type": "code",
26 "collapsed": false, 26 "collapsed": false,
27 "input": [ 27 "input": [
Line 29... Line 29...
29 "dataset = file['RPS01']" 29 "dataset = file['RPS01']"
30 ], 30 ],
31 "language": "python", 31 "language": "python",
32 "metadata": {}, 32 "metadata": {},
33 "outputs": [], 33 "outputs": [],
34 "prompt_number": 3 34 "prompt_number": 2
35 }, 35 },
36 { 36 {
37 "cell_type": "code", 37 "cell_type": "code",
38 "collapsed": false, 38 "collapsed": false,
39 "input": [ 39 "input": [
Line 48... Line 48...
48 "text": [ 48 "text": [
49 "36.7822\n" 49 "36.7822\n"
50 ] 50 ]
51 } 51 }
52 ], 52 ],
53 "prompt_number": 4 53 "prompt_number": 3
54 }, 54 },
55 { 55 {
56 "cell_type": "code", 56 "cell_type": "code",
57 "collapsed": false, 57 "collapsed": false,
58 "input": [ 58 "input": [
Line 61... Line 61...
61 "plt.show()" 61 "plt.show()"
62 ], 62 ],
63 "language": "python", 63 "language": "python",
64 "metadata": {}, 64 "metadata": {},
65 "outputs": [], 65 "outputs": [],
66 "prompt_number": 5 66 "prompt_number": 4
67 }, 67 },
68 { 68 {
69 "cell_type": "code", 69 "cell_type": "code",
70 "collapsed": false, 70 "collapsed": false,
71 "input": [ 71 "input": [
72 "prev_val= dataset.value[0,2]\n", 72 "prev_val= dataset.value[0,2]\n",
73 "n = 0\n", 73 "n = 0\n",
74 "angle = np.zeros((dataset.shape[0]))\n", 74 "angle = np.zeros((dataset.shape[0]))\n",
75 "for i in range(dataset.value.shape[0]):\n", 75 "for i in range(dataset.value.shape[0]):\n",
76 " if abs(dataset.value[i,2] - prev_val) > 300:\n", 76 " if (dataset.value[i,2] - prev_val) > 300:\n",
77 " n -= 1\n", 77 " n -= 1\n",
78 " angle[i] = dataset.value[i,2] + n*360\n", 78 " angle[i] = dataset.value[i,2] + n*360\n",
79 " prev_val = dataset.value[i,2]\n", 79 " prev_val = dataset.value[i,2]\n",
80 "# elif (dataset.value[i,2] - prev_val) < -300:\n", 80 " elif -(dataset.value[i,2] - prev_val) > 300: # compute angular speed in backward direction.\n",
81 "# n -= 1\n", 81 " n += 1\n",
82 "# angle[i] = dataset.value[i,2] + n*360\n", 82 " angle[i] = dataset.value[i,2] - n*360\n",
83 "# prev_val = dataset.value[i,2]\n", 83 " prev_val = dataset.value[i,2]\n",
84 " else:\n", 84 " else:\n",
85 " angle[i] = dataset.value[i,2] + n*360\n", 85 " angle[i] = dataset.value[i,2] + n*360\n",
86 " prev_val = dataset.value[i,2]" 86 " prev_val = dataset.value[i,2]\n",
-   87 " "
87 ], 88 ],
88 "language": "python", 89 "language": "python",
89 "metadata": {}, 90 "metadata": {},
90 "outputs": [], 91 "outputs": [],
91 "prompt_number": 55 92 "prompt_number": 57
-   93 },
-   94 {
-   95 "cell_type": "markdown",
-   96 "metadata": {},
-   97 "source": [
-   98 "Five point difference numerical calculation. Source: http://mathfun528.blogspot.cz/2011/07/numerical-differentiation.html"
-   99 ]
92 }, 100 },
93 { 101 {
94 "cell_type": "code", 102 "cell_type": "code",
95 "collapsed": false, 103 "collapsed": false,
96 "input": [ 104 "input": [
97 "fig, ax1 = plt.subplots()\n", 105 "angle_speed = np.zeros_like(angle)\n",
98 "\n", 106 "\n",
99 " ax2 = ax1.twinx()\n", 107 "for i in range(2,angle.shape[0]-2):\n",
-   108 " angle_speed[i] = (-angle[i + 2] + 8*angle[i + 1] - 8*angle[i - 1] + angle[i - 2])/12"
-   109 ],
100 " ax1.plot(x, y1, 'g-')\n", 110 "language": "python",
-   111 "metadata": {},
-   112 "outputs": [],
-   113 "prompt_number": 58
-   114 },
-   115 {
-   116 "cell_type": "code",
-   117 "collapsed": false,
-   118 "input": [
101 " ax2.plot(x, y2, 'b-')\n", 119 "fig, ax1 = plt.subplots()\n",
102 "\n", 120 "\n",
-   121 "ax2 = ax1.twinx()\n",
103 " ax1.set_xlabel('X data')\n", 122 "ax1.set_xlabel('Sample #')\n",
104 " ax1.set_ylabel('Y1 data', color='g')\n", 123 "ax1.set_ylabel('Angle')\n",
105 " ax2.set_ylabel('Y2 data', color='b')\n", 124 "ax2.set_ylabel('Angular speed')\n",
106 "\n", 125 "\n",
107 " ax1.plot(dataset.value[:,0], angle,'b',dataset.value[:,0], dataset.value[:,2],'r')\n", 126 "ax1.plot(dataset.value[:,0], angle,'b',dataset.value[:,0], dataset.value[:,2],'r')\n",
108 " ax2.plot(dataset.value[1:,0], np.diff(angle, n=1, axis=0),'g')\n", 127 "ax2.plot(dataset.value[:,0], angle_speed,'g')\n",
109 "\n", 128 "\n",
110 "plt.show()" 129 "plt.show()"
111 ], 130 ],
112 "language": "python", 131 "language": "python",
113 "metadata": {}, 132 "metadata": {},
114 "outputs": [ 133 "outputs": [],
115 { -  
116 "ename": "IndentationError", -  
117 "evalue": "unexpected indent (<ipython-input-68-85470c16d7f6>, line 3)", -  
118 "output_type": "pyerr", -  
119 "traceback": [ -  
120 "\u001b[0;36m File \u001b[0;32m\"<ipython-input-68-85470c16d7f6>\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m ax2 = ax1.twinx()\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mIndentationError\u001b[0m\u001b[0;31m:\u001b[0m unexpected indent\n" -  
121 ] -  
122 } -  
123 ], -  
124 "prompt_number": 68 134 "prompt_number": 59
125 }, 135 },
126 { 136 {
127 "cell_type": "code", 137 "cell_type": "code",
128 "collapsed": false, 138 "collapsed": false,
129 "input": [ 139 "input": [],
130 "angle.shape" -  
131 ], -  
132 "language": "python", 140 "language": "python",
133 "metadata": {}, 141 "metadata": {},
134 "outputs": [ 142 "outputs": [],
135 { -  
136 "metadata": {}, -  
137 "output_type": "pyout", -  
138 "prompt_number": 63, -  
139 "text": [ -  
140 "(12120,)" -  
141 ] -  
142 } -  
143 ], -  
144 "prompt_number": 63 143 "prompt_number": 45
145 }, 144 },
146 { 145 {
147 "cell_type": "code", 146 "cell_type": "code",
148 "collapsed": false, 147 "collapsed": false,
149 "input": [ 148 "input": [],
150 "dataset.value[:,0].shape" -  
151 ], -  
152 "language": "python", 149 "language": "python",
153 "metadata": {}, 150 "metadata": {},
154 "outputs": [ 151 "outputs": [],
155 { -  
156 "metadata": {}, -  
157 "output_type": "pyout", -  
158 "prompt_number": 57, -  
159 "text": [ -  
160 "(12120,)" -  
161 ] -  
162 } -  
163 ], -  
164 "prompt_number": 57 152 "prompt_number": 45
165 }, 153 },
166 { 154 {
167 "cell_type": "code", 155 "cell_type": "code",
168 "collapsed": false, 156 "collapsed": false,
169 "input": [ 157 "input": [],
170 "dataset.value[:,0].shape" -  
171 ], -  
172 "language": "python", 158 "language": "python",
173 "metadata": {}, 159 "metadata": {},
174 "outputs": [ 160 "outputs": [],
175 { -  
176 "metadata": {}, -  
177 "output_type": "pyout", -  
178 "prompt_number": 60, -  
179 "text": [ -  
180 "(12120,)" -  
181 ] -  
182 } -  
183 ], -  
184 "prompt_number": 60 161 "prompt_number": 45
185 }, 162 },
186 { 163 {
187 "cell_type": "code", 164 "cell_type": "code",
188 "collapsed": false, 165 "collapsed": false,
189 "input": [ 166 "input": [],
190 "np.diff(angle, n=1, axis=0).shape" -  
191 ], -  
192 "language": "python", 167 "language": "python",
193 "metadata": {}, 168 "metadata": {},
194 "outputs": [ 169 "outputs": [],
-   170 "prompt_number": 45
195 { 171 },
196 "metadata": {}, 172 {
197 "output_type": "pyout", 173 "cell_type": "code",
198 "prompt_number": 62, 174 "collapsed": false,
199 "text": [ 175 "input": [],
200 "(12119,)" 176 "language": "python",
201 ] -  
202 } 177 "metadata": {},
203 ], 178 "outputs": [],
204 "prompt_number": 62 179 "prompt_number": 45
205 }, 180 },
206 { 181 {
207 "cell_type": "code", 182 "cell_type": "code",
208 "collapsed": false, 183 "collapsed": false,
209 "input": [], 184 "input": [],