@@ -18,20 +18,21 @@ script: https://cdn.jsdelivr.net/chartist.js/latest/chartist.min.js
1818
1919link: https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css
2020
21- @eval: @Rextester.eval(@uid,@Python, , , ,
22- ```
23- var string = data.Result.replace(/\n/g, ' ');
24- var lines = string.match(/(?<=\[).+?(?=\])/g);
25- var outcome = [];
26- for (var i=0; i<lines.length; i++){
27- outcome[i] = lines[i].split(' ').map(function(item) {
28- return parseFloat(item);
29- });
30- }
31- @input(1);
32- Plotly.newPlot(span_id, plot, layout);
33- console.log("Aus Maus");```
34- )
21+ @eval
22+ @Rextester._eval_(@uid, @Python, , , ,```
23+ var lines = data.Result.replace(/\n/g, ' ')
24+ .replace(/\s{2,}/g, ' ')
25+ .match(/(?<=\[).+?(?=\])/g);
26+ var outcome = [];
27+ for (var i=0; i<lines.length; i++){
28+ outcome[i] = lines[i].split(' ').map(function(item) {
29+ return parseFloat(item);
30+ });
31+ }
32+ @input(1);
33+ Plotly.newPlot(span_id, plot, layout);
34+ console.log("Aus Maus");
35+ ```)
3536@end
3637-->
3738
@@ -330,7 +331,7 @@ print(belief)
330331var plot = [
331332 {
332333 x: d3 .range (0 , 10 ),
333- y: outcome,
334+ y: outcome[ 0 ] ,
334335 type: ' bar' ,
335336 name: ' Orange signs measurements' ,
336337 }
@@ -381,7 +382,7 @@ print(posteriori)
381382var plot = [
382383 {
383384 x: d3 .range (0 , 10 ),
384- y: outcome,
385+ y: outcome[ 0 ] ,
385386 type: ' bar' ,
386387 name: ' Posteriori probabilities' ,
387388 }
@@ -438,7 +439,7 @@ print(p_1)
438439var plot = [
439440 {
440441 x: d3 .range (0 , 10 ),
441- y: outcome,
442+ y: outcome[ 0 ] ,
442443 type: ' bar' ,
443444 name: ' Probability of segment [1]'
444445 }
@@ -492,13 +493,13 @@ print(perfect_predict(belief, 1))
492493var plot = [
493494 {
494495 x: d3 .range (0 , 10 ),
495- y: outcome_0 ,
496+ y: outcome[ 0 ] ,
496497 type: ' bar' ,
497498 name: ' Before prediction'
498499 },
499500 {
500501 x: d3 .range (0 , 10 ),
501- y: outcome_1 ,
502+ y: outcome[ 1 ] ,
502503 type: ' bar' ,
503504 name: ' After prediction'
504505 },
@@ -525,7 +526,7 @@ var layout = {
525526 tracetoggle: false
526527};
527528```
528- @eval2
529+ @eval
529530
530531Welche Probleme sehen Sie?
531532
@@ -555,13 +556,13 @@ print( predict_move(belief, 1, .1, .7, .2))
555556var plot = [
556557 {
557558 x: d3 .range (0 , 10 ),
558- y: outcome_0 ,
559+ y: outcome[ 0 ] ,
559560 type: ' bar' ,
560561 name: ' Before prediction'
561562 },
562563 {
563564 x: d3 .range (0 , 10 ),
564- y: outcome_1 ,
565+ y: outcome[ 1 ] ,
565566 type: ' bar' ,
566567 name: ' After prediction'
567568 },
@@ -588,7 +589,7 @@ var layout = {
588589 tracetoggle: false
589590};
590591```
591- @eval2
592+ @eval
592593
593594Was aber geschieht, wenn wir von einem unsicheren priori Wissen ausgehen?
594595
@@ -649,44 +650,27 @@ print(belief)
649650kernel = [.1 , 0.7 , 0.2 ]
650651prior = ndimage.convolve(np.roll(belief, len (kernel) / 2 ), kernel, mode = ' wrap' )
651652print (prior)
652- # belief = prior # Multiple movements
653- # prior = ndimage.convolve(np.roll(belief, len(kernel) / 2), kernel, mode='wrap')
654- # print(prior)
653+ belief = prior # Multiple movements
654+ prior = ndimage.convolve(np.roll(belief, len (kernel) / 2 ), kernel, mode = ' wrap' )
655+ print (prior)
655656```
656657``` js -Visualization
657- var lines = data .Result .split (' \n ' );
658- var line_0 = lines[0 ].slice (1 , lines[0 ].length - 1 ).replace ( / \s\s + / g , ' ' );
659- var line_1 = lines[1 ].slice (1 , lines[1 ].length - 1 ).replace ( / \s\s + / g , ' ' );
660- var line_2 = lines[2 ].slice (1 , lines[2 ].length - 1 ).replace ( / \s\s + / g , ' ' );
661-
662- var outcome_0 = line_0 .split (' ' ).map (function (item ) {
663- return parseFloat (item);
664- });
665-
666- var outcome_1 = line_1 .split (' ' ).map (function (item ) {
667- return parseFloat (item);
668- });
669-
670- var outcome_2 = line_2 .split (' ' ).map (function (item ) {
671- return parseFloat (item);
672- });
673-
674658var plot = [
675659 {
676660 x: d3 .range (0 , 10 ),
677- y: outcome_0 ,
661+ y: outcome[ 0 ] ,
678662 type: ' bar' ,
679663 name: ' Before movement'
680664 },
681665 {
682666 x: d3 .range (0 , 10 ),
683- y: outcome_1 ,
667+ y: outcome[ 1 ] ,
684668 type: ' bar' ,
685669 name: ' After movement'
686670 },
687671 {
688672 x: d3 .range (0 , 10 ),
689- y: outcome_2 ,
673+ y: outcome[ 2 ] ,
690674 type: ' bar' ,
691675 name: ' After second movement'
692676 },
@@ -712,12 +696,8 @@ var layout = {
712696 legend: { x: 1 , xanchor: ' right' , y: 1 },
713697 tracetoggle: false
714698};
715-
716- Plotly .newPlot (' Diagram6' , plot, layout);
717- console .log (" Aus Maus" )
718- ` ` ` @Rextester._eval_(@uid, @Python,` @0 ` ,` @1 ` ,` ` ,` @input (1 )` )
719-
720- <div id="Diagram6"></div>
699+ ```
700+ @eval
721701
722702Mit jedem Prädiktionsschritt fächert die Breite der Unsicherheit entsprechend auf.
723703
@@ -750,8 +730,6 @@ style="width: 100%; min-width: 380px; max-width: 720px; display: block; margin-l
750730
751731Das folgende Codefragment bildet zwei Iterationen für unser Beispiel ab. Im ersten Durchlauf ändert die Prediktionsphase den Intertialen Wissenstand nicht. Die Faltung des Kernels ändert die Aufenthaltwahrscheinlichkeit nicht. Eine Präzisierung erfährt diese mit der ersten Messung durch den Schildersensor.
752732
753- # asdfasöl
754-
755733``` python BayesFilter.py
756734import numpy as np
757735from scipy import ndimage
@@ -778,7 +756,15 @@ posteriori = posteriori * belief / sum(posteriori * belief )
778756print (posteriori)
779757```
780758``` js -Visualization
781-
759+ var lines = data .Result .replace (/ \n / g , ' ' )
760+ .replace (/ \s {2,} / g , ' ' )
761+ .match (/ (?<=\[ ). +? (?=\] )/ g );
762+ var outcome = [];
763+ for (var i= 0 ; i< lines .length ; i++ ){
764+ outcome[i] = lines[i].split (' ' ).map (function (item ) {
765+ return parseFloat (item);
766+ });
767+ }
782768
783769var plot1 = [
784770 {
0 commit comments