Rev Author Line No. Line
3596 kaklik 1 {
2 "metadata": {
3 "name": ""
4 },
5 "nbformat": 3,
6 "nbformat_minor": 0,
7 "worksheets": [
8 {
9 "cells": [
10 {
11 "cell_type": "markdown",
12 "metadata": {},
13 "source": [
14 "Uk\u00e1zka pou\u017eit\u00ed n\u00e1stroje IPython na manipulaci se senzorov\u00fdmi daty\n",
15 "=======\n",
16 "\n",
17 "P\u0159\u00edklad vyu\u017e\u00edv\u00e1 modulovou stavebnici MLAB a jej\u00ed knihovnu https://github.com/MLAB-project/MLAB-I2c-modules \n",
18 "\n",
19 "Zprovozn\u011bn\u00ed demo k\u00f3du\n",
20 "---------------------\n",
21 "\n",
22 "Nejd\u0159\u00edve zjist\u00edme zda m\u00e1me p\u0159\u00edstup pro z\u00e1pis a \u010dten\u00ed do syst\u00e9mov\u00e9ho za\u0159\u00edzen\u00ed. A jak\u00e9 \u010d\u00edslo m\u00e1 I\u00b2C sb\u011brnice na kterou m\u00e1me p\u0159ipojen\u00e1 \u010didla. \n"
23 ]
24 },
25 {
26 "cell_type": "code",
27 "collapsed": false,
28 "input": [
29 "!i2cdetect -l"
30 ],
31 "language": "python",
32 "metadata": {},
33 "outputs": [
34 {
35 "output_type": "stream",
36 "stream": "stdout",
37 "text": [
3642 kaklik 38 "i2c-0\ti2c \ti2c-tiny-usb at bus 002 device 004\tI2C adapter\r\n",
39 "i2c-1\ti2c \tintel drm CRTDDC_A \tI2C adapter\r\n",
40 "i2c-2\ti2c \tintel drm LVDSBLC_B \tI2C adapter\r\n",
41 "i2c-3\ti2c \tintel drm LVDSDDC_C \tI2C adapter\r\n",
42 "i2c-4\ti2c \tintel drm HDMIB \tI2C adapter\r\n",
43 "i2c-5\ti2c \tDPDDC-B \tI2C adapter\r\n"
3596 kaklik 44 ]
45 }
46 ],
47 "prompt_number": 1
48 },
49 {
50 "cell_type": "markdown",
51 "metadata": {},
52 "source": [
53 "Proto\u017ee pro p\u0159ipojen\u00ed \u010didel k po\u010d\u00edta\u010di pou\u017e\u00edv\u00e1me adapt\u00e9r i2c-tiny-usb. Vid\u00edme, \u017ee sb\u011brnice m\u00e1 aktu\u00e1ln\u011b ozna\u010den\u00ed nap\u0159\u00edklad i2c-8. \n",
54 "\n",
55 "V p\u0159\u00edpad\u011b, \u017ee v\u00fd\u0161e uveden\u00fd p\u0159\u00edklad vr\u00e1t\u00ed chybu, nebo pojmenov\u00e1n\u00ed \"unknown\" tak nem\u00e1me p\u0159\u00edstup k syst\u00e9mov\u00fdm rozhran\u00edm. Ten z\u00edsk\u00e1me vytvo\u0159en\u00edm souboru s n\u00e1sleduj\u00edc\u00edm obsahem ve slo\u017ece: /etc/udev/rules.d/i2c-devices.rules"
56 ]
57 },
58 {
59 "cell_type": "raw",
60 "metadata": {},
61 "source": [
62 "KERNEL==\"i2c-[0-9]*\", GROUP=\"i2c\""
63 ]
64 },
65 {
66 "cell_type": "markdown",
67 "metadata": {},
68 "source": [
69 "Toto ozna\u010den\u00ed budeme je\u0161t\u011b d\u00e1le pot\u0159ebovat, proto si jej ulo\u017e\u00edme da prom\u011bnn\u00e9. "
70 ]
71 },
72 {
73 "cell_type": "code",
74 "collapsed": false,
75 "input": [
3642 kaklik 76 "port = 0"
3596 kaklik 77 ],
78 "language": "python",
79 "metadata": {},
80 "outputs": [],
3642 kaklik 81 "prompt_number": 7
3596 kaklik 82 },
83 {
84 "cell_type": "markdown",
85 "metadata": {},
86 "source": [
87 "Budeme pokra\u010dovat na\u010dten\u00edm pot\u0159ebn\u00fdch modul\u016f pro zach\u00e1zen\u00ed s I\u00b2C sn\u00edma\u010di."
88 ]
89 },
90 {
91 "cell_type": "code",
92 "collapsed": false,
93 "input": [
94 "import time\n",
95 "import datetime\n",
96 "import sys\n",
97 "\n",
98 "from pymlab import config\n",
99 "import matplotlib.pyplot as plt\n",
100 "import numpy as np"
101 ],
102 "language": "python",
103 "metadata": {},
104 "outputs": [],
105 "prompt_number": 3
106 },
107 {
108 "cell_type": "markdown",
109 "metadata": {},
110 "source": [
111 "Nyn\u00ed si nadefinujeme strukturu p\u0159ipojen\u00ed jednotliv\u00fdch \u010didel na I\u00b2C sb\u011brnici."
112 ]
113 },
114 {
115 "cell_type": "code",
116 "collapsed": false,
117 "input": [
118 "cfg = config.Config(\n",
3642 kaklik 119 " i2c = {\n",
120 " \"port\": port,\n",
121 " },\n",
3596 kaklik 122 " bus = [\n",
123 " {\n",
124 " \"type\": \"i2chub\",\n",
125 " \"address\": 0x72,\n",
126 " \n",
127 " \"children\": [\n",
128 " {\"name\": \"mag\", \"type\": \"mag01\" , \"channel\": 6, }, \n",
129 " ],\n",
130 " },\n",
131 " ],\n",
132 ")"
133 ],
134 "language": "python",
135 "metadata": {},
136 "outputs": [],
3642 kaklik 137 "prompt_number": 8
3596 kaklik 138 },
139 {
140 "cell_type": "markdown",
141 "metadata": {},
142 "source": [
143 "Tuto strukturu inicializujeme, aby jsme dos\u00e1hli definovan\u00e9 konfigurace \u010didel."
144 ]
145 },
146 {
147 "cell_type": "code",
148 "collapsed": false,
149 "input": [
150 "cfg.initialize()\n",
151 "mag_sensor = cfg.get_device(\"mag\")\n",
152 "time.sleep(0.5)"
153 ],
154 "language": "python",
155 "metadata": {},
156 "outputs": [],
3642 kaklik 157 "prompt_number": 10
3596 kaklik 158 },
159 {
160 "cell_type": "markdown",
161 "metadata": {},
162 "source": [
163 "Nyn\u00ed u\u017e m\u016f\u017eeme p\u0159\u00edmo komunikovat se za\u0159\u00edzen\u00edm pojmenovan\u00fdm jako gauge."
164 ]
165 },
166 {
167 "cell_type": "code",
168 "collapsed": false,
169 "input": [
170 "MEASUREMENTS = 100\n",
171 "x = np.zeros(MEASUREMENTS)\n",
172 "y = np.zeros(MEASUREMENTS)\n",
173 "z = np.zeros(MEASUREMENTS)\n",
174 "\n",
175 "\n",
176 "for n in range(MEASUREMENTS):\n",
177 " mag_sensor.route() #V p\u0159\u00edpad\u011b v\u00edce \u010didel je pot\u0159eba ke ka\u017ed\u00e9mu p\u0159ed jeho pou\u017eit\u00edm nechat vyroutovat cesutu na sb\u011brnici.\n",
178 " (x[n], y[n], z[n]) = mag_sensor.axes()\n",
179 " print(n, x[n], y[n], z[n])"
180 ],
181 "language": "python",
182 "metadata": {},
3642 kaklik 183 "outputs": [
184 {
185 "output_type": "stream",
186 "stream": "stdout",
187 "text": [
188 "(0, -91.0, 199.0, 22.0)\n",
189 "(1, -91.0, 199.0, 21.0)"
190 ]
191 },
192 {
193 "output_type": "stream",
194 "stream": "stdout",
195 "text": [
196 "\n",
197 "(2, -91.0, 198.0, 22.0)"
198 ]
199 },
200 {
201 "output_type": "stream",
202 "stream": "stdout",
203 "text": [
204 "\n",
205 "(3, -91.0, 199.0, 22.0)"
206 ]
207 },
208 {
209 "output_type": "stream",
210 "stream": "stdout",
211 "text": [
212 "\n",
213 "(4, -91.0, 198.0, 21.0)"
214 ]
215 },
216 {
217 "output_type": "stream",
218 "stream": "stdout",
219 "text": [
220 "\n",
221 "(5, -91.0, 198.0, 22.0)"
222 ]
223 },
224 {
225 "output_type": "stream",
226 "stream": "stdout",
227 "text": [
228 "\n",
229 "(6, -91.0, 198.0, 21.0)"
230 ]
231 },
232 {
233 "output_type": "stream",
234 "stream": "stdout",
235 "text": [
236 "\n",
237 "(7, -91.0, 198.0, 22.0)"
238 ]
239 },
240 {
241 "output_type": "stream",
242 "stream": "stdout",
243 "text": [
244 "\n",
245 "(8, -91.0, 198.0, 21.0)"
246 ]
247 },
248 {
249 "output_type": "stream",
250 "stream": "stdout",
251 "text": [
252 "\n",
253 "(9, -91.0, 198.0, 21.0)"
254 ]
255 },
256 {
257 "output_type": "stream",
258 "stream": "stdout",
259 "text": [
260 "\n",
261 "(10, -92.0, 198.0, 22.0)"
262 ]
263 },
264 {
265 "output_type": "stream",
266 "stream": "stdout",
267 "text": [
268 "\n",
269 "(11, -92.0, 196.0, 30.0)"
270 ]
271 },
272 {
273 "output_type": "stream",
274 "stream": "stdout",
275 "text": [
276 "\n",
277 "(12, -120.0, 169.0, 48.0)"
278 ]
279 },
280 {
281 "output_type": "stream",
282 "stream": "stdout",
283 "text": [
284 "\n",
285 "(13, -97.0, 114.0, 27.0)"
286 ]
287 },
288 {
289 "output_type": "stream",
290 "stream": "stdout",
291 "text": [
292 "\n",
293 "(14, -78.0, 102.0, -4.0)"
294 ]
295 },
296 {
297 "output_type": "stream",
298 "stream": "stdout",
299 "text": [
300 "\n",
301 "(15, -83.0, 148.0, -11.0)"
302 ]
303 },
304 {
305 "output_type": "stream",
306 "stream": "stdout",
307 "text": [
308 "\n",
309 "(16, -70.0, 148.0, -22.0)"
310 ]
311 },
312 {
313 "output_type": "stream",
314 "stream": "stdout",
315 "text": [
316 "\n",
317 "(17, -106.0, 123.0, -91.0)"
318 ]
319 },
320 {
321 "output_type": "stream",
322 "stream": "stdout",
323 "text": [
324 "\n",
325 "(18, -133.0, 58.0, -179.0)"
326 ]
327 },
328 {
329 "output_type": "stream",
330 "stream": "stdout",
331 "text": [
332 "\n",
333 "(19, -135.0, 50.0, -189.0)"
334 ]
335 },
336 {
337 "output_type": "stream",
338 "stream": "stdout",
339 "text": [
340 "\n",
341 "(20, -135.0, 57.0, -183.0)"
342 ]
343 },
344 {
345 "output_type": "stream",
346 "stream": "stdout",
347 "text": [
348 "\n",
349 "(21, -135.0, 70.0, -175.0)"
350 ]
351 },
352 {
353 "output_type": "stream",
354 "stream": "stdout",
355 "text": [
356 "\n",
357 "(22, -136.0, 72.0, -174.0)"
358 ]
359 },
360 {
361 "output_type": "stream",
362 "stream": "stdout",
363 "text": [
364 "\n",
365 "(23, -133.0, 84.0, -166.0)"
366 ]
367 },
368 {
369 "output_type": "stream",
370 "stream": "stdout",
371 "text": [
372 "\n",
373 "(24, -130.0, 93.0, -160.0)"
374 ]
375 },
376 {
377 "output_type": "stream",
378 "stream": "stdout",
379 "text": [
380 "\n",
381 "(25, -128.0, 98.0, -155.0)"
382 ]
383 },
384 {
385 "output_type": "stream",
386 "stream": "stdout",
387 "text": [
388 "\n",
389 "(26, -118.0, 114.0, -139.0)"
390 ]
391 },
392 {
393 "output_type": "stream",
394 "stream": "stdout",
395 "text": [
396 "\n",
397 "(27, -92.0, 143.0, -93.0)"
398 ]
399 },
400 {
401 "output_type": "stream",
402 "stream": "stdout",
403 "text": [
404 "\n",
405 "(28, -29.0, 161.0, -17.0)"
406 ]
407 },
408 {
409 "output_type": "stream",
410 "stream": "stdout",
411 "text": [
412 "\n",
413 "(29, 20.0, 147.0, 39.0)"
414 ]
415 },
416 {
417 "output_type": "stream",
418 "stream": "stdout",
419 "text": [
420 "\n",
421 "(30, 48.0, 143.0, 50.0)"
422 ]
423 },
424 {
425 "output_type": "stream",
426 "stream": "stdout",
427 "text": [
428 "\n",
429 "(31, 66.0, 153.0, 30.0)"
430 ]
431 },
432 {
433 "output_type": "stream",
434 "stream": "stdout",
435 "text": [
436 "\n",
437 "(32, 72.0, 152.0, 27.0)"
438 ]
439 },
440 {
441 "output_type": "stream",
442 "stream": "stdout",
443 "text": [
444 "\n",
445 "(33, 81.0, 150.0, 27.0)"
446 ]
447 },
448 {
449 "output_type": "stream",
450 "stream": "stdout",
451 "text": [
452 "\n",
453 "(34, 88.0, 151.0, 26.0)"
454 ]
455 },
456 {
457 "output_type": "stream",
458 "stream": "stdout",
459 "text": [
460 "\n",
461 "(35, 88.0, 151.0, 25.0)"
462 ]
463 },
464 {
465 "output_type": "stream",
466 "stream": "stdout",
467 "text": [
468 "\n",
469 "(36, 86.0, 150.0, 24.0)"
470 ]
471 },
472 {
473 "output_type": "stream",
474 "stream": "stdout",
475 "text": [
476 "\n",
477 "(37, 89.0, 149.0, 22.0)"
478 ]
479 },
480 {
481 "output_type": "stream",
482 "stream": "stdout",
483 "text": [
484 "\n",
485 "(38, 107.0, 147.0, 12.0)"
486 ]
487 },
488 {
489 "output_type": "stream",
490 "stream": "stdout",
491 "text": [
492 "\n",
493 "(39, 37.0, 170.0, -24.0)"
494 ]
495 },
496 {
497 "output_type": "stream",
498 "stream": "stdout",
499 "text": [
500 "\n",
501 "(40, -126.0, 123.0, -106.0)"
502 ]
503 },
504 {
505 "output_type": "stream",
506 "stream": "stdout",
507 "text": [
508 "\n",
509 "(41, -120.0, 41.0, -210.0)"
510 ]
511 },
512 {
513 "output_type": "stream",
514 "stream": "stdout",
515 "text": [
516 "\n",
517 "(42, -83.0, -2.0, -244.0)"
518 ]
519 },
520 {
521 "output_type": "stream",
522 "stream": "stdout",
523 "text": [
524 "\n",
525 "(43, -91.0, -102.0, -199.0)"
526 ]
527 },
528 {
529 "output_type": "stream",
530 "stream": "stdout",
531 "text": [
532 "\n",
533 "(44, -43.0, -159.0, -128.0)"
534 ]
535 },
536 {
537 "output_type": "stream",
538 "stream": "stdout",
539 "text": [
540 "\n",
541 "(45, 18.0, -163.0, -138.0)"
542 ]
543 },
544 {
545 "output_type": "stream",
546 "stream": "stdout",
547 "text": [
548 "\n",
549 "(46, 46.0, -154.0, -166.0)"
550 ]
551 },
552 {
553 "output_type": "stream",
554 "stream": "stdout",
555 "text": [
556 "\n",
557 "(47, 196.0, -35.0, 65.0)"
558 ]
559 },
560 {
561 "output_type": "stream",
562 "stream": "stdout",
563 "text": [
564 "\n",
565 "(48, 211.0, -61.0, 11.0)"
566 ]
567 },
568 {
569 "output_type": "stream",
570 "stream": "stdout",
571 "text": [
572 "\n",
573 "(49, 222.0, 31.0, -140.0)"
574 ]
575 },
576 {
577 "output_type": "stream",
578 "stream": "stdout",
579 "text": [
580 "\n",
581 "(50, 147.0, 118.0, -169.0)"
582 ]
583 },
584 {
585 "output_type": "stream",
586 "stream": "stdout",
587 "text": [
588 "\n",
589 "(51, 96.0, 141.0, -172.0)"
590 ]
591 },
592 {
593 "output_type": "stream",
594 "stream": "stdout",
595 "text": [
596 "\n",
597 "(52, -41.0, 154.0, -157.0)"
598 ]
599 },
600 {
601 "output_type": "stream",
602 "stream": "stdout",
603 "text": [
604 "\n",
605 "(53, 91.0, 82.0, -236.0)"
606 ]
607 },
608 {
609 "output_type": "stream",
610 "stream": "stdout",
611 "text": [
612 "\n",
613 "(54, 191.0, -97.0, -123.0)"
614 ]
615 },
616 {
617 "output_type": "stream",
618 "stream": "stdout",
619 "text": [
620 "\n",
621 "(55, 193.0, -104.0, -28.0)"
622 ]
623 },
624 {
625 "output_type": "stream",
626 "stream": "stdout",
627 "text": [
628 "\n",
629 "(56, 166.0, -83.0, 60.0)"
630 ]
631 },
632 {
633 "output_type": "stream",
634 "stream": "stdout",
635 "text": [
636 "\n",
637 "(57, 153.0, -135.0, -24.0)"
638 ]
639 },
640 {
641 "output_type": "stream",
642 "stream": "stdout",
643 "text": [
644 "\n",
645 "(58, 235.0, -17.0, -91.0)"
646 ]
647 },
648 {
649 "output_type": "stream",
650 "stream": "stdout",
651 "text": [
652 "\n",
653 "(59, 141.0, 134.0, -124.0)"
654 ]
655 },
656 {
657 "output_type": "stream",
658 "stream": "stdout",
659 "text": [
660 "\n",
661 "(60, 198.0, 101.0, -73.0)"
662 ]
663 },
664 {
665 "output_type": "stream",
666 "stream": "stdout",
667 "text": [
668 "\n",
669 "(61, 233.0, -13.0, -16.0)"
670 ]
671 },
672 {
673 "output_type": "stream",
674 "stream": "stdout",
675 "text": [
676 "\n",
677 "(62, 196.0, -46.0, 51.0)"
678 ]
679 },
680 {
681 "output_type": "stream",
682 "stream": "stdout",
683 "text": [
684 "\n",
685 "(63, 171.0, -61.0, 74.0)"
686 ]
687 },
688 {
689 "output_type": "stream",
690 "stream": "stdout",
691 "text": [
692 "\n",
693 "(64, 175.0, -49.0, 75.0)"
694 ]
695 },
696 {
697 "output_type": "stream",
698 "stream": "stdout",
699 "text": [
700 "\n",
701 "(65, 182.0, 82.0, 37.0)"
702 ]
703 },
704 {
705 "output_type": "stream",
706 "stream": "stdout",
707 "text": [
708 "\n",
709 "(66, 81.0, 136.0, -179.0)"
710 ]
711 },
712 {
713 "output_type": "stream",
714 "stream": "stdout",
715 "text": [
716 "\n",
717 "(67, 74.0, 88.0, -238.0)"
718 ]
719 },
720 {
721 "output_type": "stream",
722 "stream": "stdout",
723 "text": [
724 "\n",
725 "(68, 44.0, 4.0, -271.0)"
726 ]
727 },
728 {
729 "output_type": "stream",
730 "stream": "stdout",
731 "text": [
732 "\n",
733 "(69, -130.0, 71.0, -187.0)"
734 ]
735 },
736 {
737 "output_type": "stream",
738 "stream": "stdout",
739 "text": [
740 "\n",
741 "(70, -157.0, 15.0, -176.0)"
742 ]
743 },
744 {
745 "output_type": "stream",
746 "stream": "stdout",
747 "text": [
748 "\n",
749 "(71, -115.0, -126.0, 6.0)"
750 ]
751 },
752 {
753 "output_type": "stream",
754 "stream": "stdout",
755 "text": [
756 "\n",
757 "(72, 66.0, -116.0, 93.0)"
758 ]
759 },
760 {
761 "output_type": "stream",
762 "stream": "stdout",
763 "text": [
764 "\n",
765 "(73, 91.0, -155.0, 5.0)"
766 ]
767 },
768 {
769 "output_type": "stream",
770 "stream": "stdout",
771 "text": [
772 "\n",
773 "(74, 236.0, -27.0, -79.0)"
774 ]
775 },
776 {
777 "output_type": "stream",
778 "stream": "stdout",
779 "text": [
780 "\n",
781 "(75, 224.0, 66.0, -61.0)"
782 ]
783 },
784 {
785 "output_type": "stream",
786 "stream": "stdout",
787 "text": [
788 "\n",
789 "(76, 212.0, 72.0, -121.0)"
790 ]
791 },
792 {
793 "output_type": "stream",
794 "stream": "stdout",
795 "text": [
796 "\n",
797 "(77, 209.0, 46.0, -159.0)"
798 ]
799 },
800 {
801 "output_type": "stream",
802 "stream": "stdout",
803 "text": [
804 "\n",
805 "(78, 156.0, 128.0, -131.0)"
806 ]
807 },
808 {
809 "output_type": "stream",
810 "stream": "stdout",
811 "text": [
812 "\n",
813 "(79, 100.0, 156.0, -114.0)"
814 ]
815 },
816 {
817 "output_type": "stream",
818 "stream": "stdout",
819 "text": [
820 "\n",
821 "(80, 92.0, 157.0, -124.0)"
822 ]
823 },
824 {
825 "output_type": "stream",
826 "stream": "stdout",
827 "text": [
828 "\n",
829 "(81, 173.0, 110.0, -134.0)"
830 ]
831 },
832 {
833 "output_type": "stream",
834 "stream": "stdout",
835 "text": [
836 "\n",
837 "(82, 174.0, 115.0, -122.0)"
838 ]
839 },
840 {
841 "output_type": "stream",
842 "stream": "stdout",
843 "text": [
844 "\n",
845 "(83, 103.0, 114.0, -194.0)"
846 ]
847 },
848 {
849 "output_type": "stream",
850 "stream": "stdout",
851 "text": [
852 "\n",
853 "(84, 105.0, 83.0, -221.0)"
854 ]
855 },
856 {
857 "output_type": "stream",
858 "stream": "stdout",
859 "text": [
860 "\n",
861 "(85, 169.0, 120.0, -44.0)"
862 ]
863 },
864 {
865 "output_type": "stream",
866 "stream": "stdout",
867 "text": [
868 "\n",
869 "(86, 191.0, 89.0, 13.0)"
870 ]
871 },
872 {
873 "output_type": "stream",
874 "stream": "stdout",
875 "text": [
876 "\n",
877 "(87, 131.0, 95.0, -206.0)"
878 ]
879 },
880 {
881 "output_type": "stream",
882 "stream": "stdout",
883 "text": [
884 "\n",
885 "(88, 112.0, 37.0, -250.0)"
886 ]
887 },
888 {
889 "output_type": "stream",
890 "stream": "stdout",
891 "text": [
892 "\n",
893 "(89, 58.0, -20.0, -266.0)"
894 ]
895 },
896 {
897 "output_type": "stream",
898 "stream": "stdout",
899 "text": [
900 "\n",
901 "(90, 48.0, -39.0, -264.0)"
902 ]
903 },
904 {
905 "output_type": "stream",
906 "stream": "stdout",
907 "text": [
908 "\n",
909 "(91, 98.0, 9.0, -258.0)"
910 ]
911 },
912 {
913 "output_type": "stream",
914 "stream": "stdout",
915 "text": [
916 "\n",
917 "(92, 117.0, 27.0, -246.0)"
918 ]
919 },
920 {
921 "output_type": "stream",
922 "stream": "stdout",
923 "text": [
924 "\n",
925 "(93, 111.0, 25.0, -251.0)"
926 ]
927 },
928 {
929 "output_type": "stream",
930 "stream": "stdout",
931 "text": [
932 "\n",
933 "(94, 129.0, 42.0, -237.0)"
934 ]
935 },
936 {
937 "output_type": "stream",
938 "stream": "stdout",
939 "text": [
940 "\n",
941 "(95, 192.0, 65.0, -162.0)"
942 ]
943 },
944 {
945 "output_type": "stream",
946 "stream": "stdout",
947 "text": [
948 "\n",
949 "(96, 222.0, 61.0, -83.0)"
950 ]
951 },
952 {
953 "output_type": "stream",
954 "stream": "stdout",
955 "text": [
956 "\n",
957 "(97, 231.0, 25.0, -24.0)"
958 ]
959 },
960 {
961 "output_type": "stream",
962 "stream": "stdout",
963 "text": [
964 "\n",
965 "(98, 234.0, -18.0, -36.0)"
966 ]
967 },
968 {
969 "output_type": "stream",
970 "stream": "stdout",
971 "text": [
972 "\n",
973 "(99, 234.0, -29.0, -38.0)"
974 ]
975 },
976 {
977 "output_type": "stream",
978 "stream": "stdout",
979 "text": [
980 "\n"
981 ]
982 }
983 ],
984 "prompt_number": 11
3596 kaklik 985 },
986 {
987 "cell_type": "code",
988 "collapsed": false,
989 "input": [
3642 kaklik 990 "from mpl_toolkits.mplot3d.axes3d import Axes3D"
3596 kaklik 991 ],
992 "language": "python",
993 "metadata": {},
994 "outputs": [],
3642 kaklik 995 "prompt_number": 12
3596 kaklik 996 },
997 {
998 "cell_type": "code",
999 "collapsed": false,
1000 "input": [
3642 kaklik 1001 "fig = plt.figure(figsize=(14,6))\n",
1002 "ax = fig.add_subplot(1, 2, 1, projection='3d')\n",
1003 "p = ax.plot_surface(x, y, z, rstride=4, cstride=4, linewidth=0)"
3596 kaklik 1004 ],
1005 "language": "python",
1006 "metadata": {},
3642 kaklik 1007 "outputs": [
1008 {
1009 "metadata": {},
1010 "output_type": "display_data",
1011 "png": "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\n",
1012 "text": [
1013 "<matplotlib.figure.Figure at 0xa7af2ac>"
1014 ]
1015 }
1016 ],
1017 "prompt_number": 14
3596 kaklik 1018 },
1019 {
1020 "cell_type": "code",
1021 "collapsed": false,
1022 "input": [
1023 "amax(p)"
1024 ],
1025 "language": "python",
1026 "metadata": {},
1027 "outputs": [],
1028 "prompt_number": "*"
1029 },
1030 {
1031 "cell_type": "code",
1032 "collapsed": false,
1033 "input": [
1034 "std(p)"
1035 ],
1036 "language": "python",
1037 "metadata": {},
1038 "outputs": [],
1039 "prompt_number": "*"
1040 },
1041 {
1042 "cell_type": "code",
1043 "collapsed": false,
1044 "input": [
1045 "plt.plot(p)"
1046 ],
1047 "language": "python",
1048 "metadata": {},
1049 "outputs": [],
1050 "prompt_number": "*"
1051 },
1052 {
1053 "cell_type": "code",
1054 "collapsed": false,
1055 "input": [
1056 "plt.plot(t)"
1057 ],
1058 "language": "python",
1059 "metadata": {},
1060 "outputs": [],
1061 "prompt_number": "*"
1062 },
1063 {
1064 "cell_type": "code",
1065 "collapsed": false,
1066 "input": [],
1067 "language": "python",
1068 "metadata": {},
1069 "outputs": [],
1070 "prompt_number": "*"
1071 }
1072 ],
1073 "metadata": {}
1074 }
1075 ]
1076 }