Deming's funnel: Difference between revisions
Content added Content deleted
(Add Factor) |
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
||
Line 726: | Line 726: | ||
Mean x, y: 3,1341, 5,4210 |
Mean x, y: 3,1341, 5,4210 |
||
Std dev x, y: 1,5874, 3,9304</pre> |
Std dev x, y: 1,5874, 3,9304</pre> |
||
=={{header|Julia}}== |
=={{header|Julia}}== |
||
Line 989: | Line 988: | ||
Std dev x, y : 7.9871 4.7784 |
Std dev x, y : 7.9871 4.7784 |
||
Rule 4 |
Rule 4 |
||
Mean x, y : 3.1341 5.4210 |
|||
Std dev x, y : 1.5874 3.9304</pre> |
|||
=={{header|Perl 6}}== |
|||
{{Works with|Rakudo|2018.10}} |
|||
<lang perl6>sub mean { @_ R/ [+] @_ } |
|||
sub stddev { |
|||
# <(x - <x>)²> = <x²> - <x>² |
|||
sqrt( mean(@_ »**» 2) - mean(@_)**2 ) |
|||
} |
|||
constant @dz = < |
|||
-0.533 0.270 0.859 -0.043 -0.205 -0.127 -0.071 0.275 |
|||
1.251 -0.231 -0.401 0.269 0.491 0.951 1.150 0.001 |
|||
-0.382 0.161 0.915 2.080 -2.337 0.034 -0.126 0.014 |
|||
0.709 0.129 -1.093 -0.483 -1.193 0.020 -0.051 0.047 |
|||
-0.095 0.695 0.340 -0.182 0.287 0.213 -0.423 -0.021 |
|||
-0.134 1.798 0.021 -1.099 -0.361 1.636 -1.134 1.315 |
|||
0.201 0.034 0.097 -0.170 0.054 -0.553 -0.024 -0.181 |
|||
-0.700 -0.361 -0.789 0.279 -0.174 -0.009 -0.323 -0.658 |
|||
0.348 -0.528 0.881 0.021 -0.853 0.157 0.648 1.774 |
|||
-1.043 0.051 0.021 0.247 -0.310 0.171 0.000 0.106 |
|||
0.024 -0.386 0.962 0.765 -0.125 -0.289 0.521 0.017 |
|||
0.281 -0.749 -0.149 -2.436 -0.909 0.394 -0.113 -0.598 |
|||
0.443 -0.521 -0.799 0.087 |
|||
> Z+ (1i X* < |
|||
0.136 0.717 0.459 -0.225 1.392 0.385 0.121 -0.395 |
|||
0.490 -0.682 -0.065 0.242 -0.288 0.658 0.459 0.000 |
|||
0.426 0.205 -0.765 -2.188 -0.742 -0.010 0.089 0.208 |
|||
0.585 0.633 -0.444 -0.351 -1.087 0.199 0.701 0.096 |
|||
-0.025 -0.868 1.051 0.157 0.216 0.162 0.249 -0.007 |
|||
0.009 0.508 -0.790 0.723 0.881 -0.508 0.393 -0.226 |
|||
0.710 0.038 -0.217 0.831 0.480 0.407 0.447 -0.295 |
|||
1.126 0.380 0.549 -0.445 -0.046 0.428 -0.074 0.217 |
|||
-0.822 0.491 1.347 -0.141 1.230 -0.044 0.079 0.219 |
|||
0.698 0.275 0.056 0.031 0.421 0.064 0.721 0.104 |
|||
-0.729 0.650 -1.103 0.154 -1.720 0.051 -0.385 0.477 |
|||
1.537 -0.901 0.939 -0.411 0.341 -0.411 0.106 0.224 |
|||
-0.947 -1.424 -0.542 -1.032 |
|||
>); |
|||
constant @rule = |
|||
-> \z, \dz { 0 }, |
|||
-> \z, \dz { -dz }, |
|||
-> \z, \dz { -z - dz }, |
|||
-> \z, \dz { z + dz }, |
|||
; |
|||
for @rule { |
|||
say "Rule $(++$):"; |
|||
my $target = 0i; |
|||
my @z = gather for @dz -> $dz { |
|||
take $target + $dz; |
|||
$target = .($target, $dz) |
|||
} |
|||
printf "Mean x, y : %7.4f %7.4f\n", mean(@z».re), mean(@z».im); |
|||
printf "Std dev x, y : %7.4f %7.4f\n", stddev(@z».re), stddev(@z».im); |
|||
}</lang> |
|||
{{out}} |
|||
<pre>Rule 1: |
|||
Mean x, y : 0.0004 0.0702 |
|||
Std dev x, y : 0.7153 0.6462 |
|||
Rule 2: |
|||
Mean x, y : 0.0009 -0.0103 |
|||
Std dev x, y : 1.0371 0.8999 |
|||
Rule 3: |
|||
Mean x, y : 0.0439 -0.0063 |
|||
Std dev x, y : 7.9871 4.7784 |
|||
Rule 4: |
|||
Mean x, y : 3.1341 5.4210 |
Mean x, y : 3.1341 5.4210 |
||
Std dev x, y : 1.5874 3.9304</pre> |
Std dev x, y : 1.5874 3.9304</pre> |
||
Line 1,400: | Line 1,330: | ||
Std dev x, y: 1.5874, 3.9304 |
Std dev x, y: 1.5874, 3.9304 |
||
</pre> |
</pre> |
||
=={{header|Raku}}== |
|||
(formerly Perl 6) |
|||
{{Works with|Rakudo|2018.10}} |
|||
<lang perl6>sub mean { @_ R/ [+] @_ } |
|||
sub stddev { |
|||
# <(x - <x>)²> = <x²> - <x>² |
|||
sqrt( mean(@_ »**» 2) - mean(@_)**2 ) |
|||
} |
|||
constant @dz = < |
|||
-0.533 0.270 0.859 -0.043 -0.205 -0.127 -0.071 0.275 |
|||
1.251 -0.231 -0.401 0.269 0.491 0.951 1.150 0.001 |
|||
-0.382 0.161 0.915 2.080 -2.337 0.034 -0.126 0.014 |
|||
0.709 0.129 -1.093 -0.483 -1.193 0.020 -0.051 0.047 |
|||
-0.095 0.695 0.340 -0.182 0.287 0.213 -0.423 -0.021 |
|||
-0.134 1.798 0.021 -1.099 -0.361 1.636 -1.134 1.315 |
|||
0.201 0.034 0.097 -0.170 0.054 -0.553 -0.024 -0.181 |
|||
-0.700 -0.361 -0.789 0.279 -0.174 -0.009 -0.323 -0.658 |
|||
0.348 -0.528 0.881 0.021 -0.853 0.157 0.648 1.774 |
|||
-1.043 0.051 0.021 0.247 -0.310 0.171 0.000 0.106 |
|||
0.024 -0.386 0.962 0.765 -0.125 -0.289 0.521 0.017 |
|||
0.281 -0.749 -0.149 -2.436 -0.909 0.394 -0.113 -0.598 |
|||
0.443 -0.521 -0.799 0.087 |
|||
> Z+ (1i X* < |
|||
0.136 0.717 0.459 -0.225 1.392 0.385 0.121 -0.395 |
|||
0.490 -0.682 -0.065 0.242 -0.288 0.658 0.459 0.000 |
|||
0.426 0.205 -0.765 -2.188 -0.742 -0.010 0.089 0.208 |
|||
0.585 0.633 -0.444 -0.351 -1.087 0.199 0.701 0.096 |
|||
-0.025 -0.868 1.051 0.157 0.216 0.162 0.249 -0.007 |
|||
0.009 0.508 -0.790 0.723 0.881 -0.508 0.393 -0.226 |
|||
0.710 0.038 -0.217 0.831 0.480 0.407 0.447 -0.295 |
|||
1.126 0.380 0.549 -0.445 -0.046 0.428 -0.074 0.217 |
|||
-0.822 0.491 1.347 -0.141 1.230 -0.044 0.079 0.219 |
|||
0.698 0.275 0.056 0.031 0.421 0.064 0.721 0.104 |
|||
-0.729 0.650 -1.103 0.154 -1.720 0.051 -0.385 0.477 |
|||
1.537 -0.901 0.939 -0.411 0.341 -0.411 0.106 0.224 |
|||
-0.947 -1.424 -0.542 -1.032 |
|||
>); |
|||
constant @rule = |
|||
-> \z, \dz { 0 }, |
|||
-> \z, \dz { -dz }, |
|||
-> \z, \dz { -z - dz }, |
|||
-> \z, \dz { z + dz }, |
|||
; |
|||
for @rule { |
|||
say "Rule $(++$):"; |
|||
my $target = 0i; |
|||
my @z = gather for @dz -> $dz { |
|||
take $target + $dz; |
|||
$target = .($target, $dz) |
|||
} |
|||
printf "Mean x, y : %7.4f %7.4f\n", mean(@z».re), mean(@z».im); |
|||
printf "Std dev x, y : %7.4f %7.4f\n", stddev(@z».re), stddev(@z».im); |
|||
}</lang> |
|||
{{out}} |
|||
<pre>Rule 1: |
|||
Mean x, y : 0.0004 0.0702 |
|||
Std dev x, y : 0.7153 0.6462 |
|||
Rule 2: |
|||
Mean x, y : 0.0009 -0.0103 |
|||
Std dev x, y : 1.0371 0.8999 |
|||
Rule 3: |
|||
Mean x, y : 0.0439 -0.0063 |
|||
Std dev x, y : 7.9871 4.7784 |
|||
Rule 4: |
|||
Mean x, y : 3.1341 5.4210 |
|||
Std dev x, y : 1.5874 3.9304</pre> |
|||
=={{header|Ruby}}== |
=={{header|Ruby}}== |