Statistics/Basic: Difference between revisions
m
→{{header|Wren}}: Minor tidy
m (→{{header|Wren}}: Minor tidy) |
|||
(6 intermediate revisions by 3 users not shown) | |||
Line 707:
/* verifica y obtiene argumento: tamaño de muestra*/
tamaño muestra=0
//obtener total argumentos
//es distinto a '2', entonces{ terminar }
//obtener parámetro numérico(2), mover a 'tamaño muestra'▼
/* algo menos natural, pero más claro para una mente formal: */
obtener total argumentos
si ' es distinto a(
terminar
▲ obtener parámetro numérico(2), mover a 'tamaño muestra'
sino
guardar ' parám numérico(2)' en 'tamaño muestra'
fin si
/* establece la escala para desplegar barras */
Line 718 ⟶ 725:
/* Generar muestra de tamaño "tamaño muestra" */
dimensionar con ( tamaño muestra) matriz aleatoria entera ( 10, muestra )
decimales '3'
Line 775 ⟶ 782:
#(tamaño barras = int(FREC * escala * 5))
dimensionar con (TOTAL_BINES) matriz rellena ("*", barras)
#(barras = replicate( barras, tamaño barras))
retornar ' barras '
Line 791 ⟶ 798:
calcular promedio de tabla de clases:
//[1:filasde(tabla de clases), 3] coger (tabla de clases), mover a 'MC'
//[1:filasde(tabla de clases), 4] coger (tabla de clases), mover a 'FREC'
/* un poco menos natural, pero más claro para una mente formal: */
#basic{
MC = tabla de clases[ 1:TOTAL_BINES, 3]
FREC = tabla de clases[ 1:TOTAL_BINES, 4]
}
borrar intervalo
multiplicar(MC,FREC), calcular sumatoria, dividir entre (tamaño muestra),
Line 799 ⟶ 811:
calcular desviación estándar y varianza:
restar( MC, promedio tabla),
calcular sumatoria, dividir entre(tamaño muestra), copiar en 'varianza'
calcular raíz, mover a 'desviación estándar'
Line 2,199 ⟶ 2,211:
</pre>
=={{header|EasyLang}}==
<syntaxhighlight lang=easylang>
global list[] .
proc mklist n . .
list[] = [ ]
for i = 1 to n
list[] &= randomf
.
.
func mean .
for v in list[]
sum += v
.
return sum / len list[]
.
func stddev .
avg = mean
for v in list[]
squares += (avg - v) * (avg - v)
.
return sqrt (squares / len list[])
.
proc histo . .
len hist[] 10
for v in list[]
ind = floor (v * 10) + 1
hist[ind] += 1
.
for v in hist[]
h = floor (v / len list[] * 200 + 0.5)
s$ = substr "========================================" 1 h
print v & " " & s$
.
.
numfmt 4 5
proc stats size . .
mklist size
print "Size: " & size
print "Mean: " & mean
print "Stddev: " & stddev
histo
print ""
.
stats 100
stats 1000
stats 10000
stats 100000
</syntaxhighlight>
=={{header|Elixir}}==
Line 5,172 ⟶ 5,233:
{{trans|Ruby}}
<syntaxhighlight lang="ruby">func generate_statistics(n) {
var(sum=0, sum2=0)
var hist = 10.of(0)
n.times {
var r = 1.rand
sum += r
sum2 += r**2
hist[10*r] += 1
}
var mean = sum/n
var stddev =
say "size: #{n}"
say "mean: #{mean}"
say "stddev: #{stddev}"
var max = hist.max
for i in ^hist
printf("%.1f:%s\n", 0.1*i, "=" * 70*hist[i]/max)
}
print "\n"
}
[100, 1000, 10000].each {|n| generate_statistics(n) }</syntaxhighlight>
{{out}}
<pre style="height: 40ex; overflow: scroll">
size: 100
mean: 0.539719181395696620109634051345884432579835159541
stddev: 0.283883840711089795862044996985935095942987013707
0.0:
0.1:
0.2:
0.3:======================================================================
0.4:==========================================================
0.5:======================================================================
0.6:
0.7:======================================================================
0.8:======================================================================
0.9:================================================================
size: 1000
mean: 0.509607463325018405029035982604757578351179500375
stddev: 0.291051486526422985516729469185300756396357843712
0.0:==========================================================
0.1:========================================================
0.2:================================================================
0.3:========================================================
0.4:
0.5:=====================================================================
0.6:
0.7:===========================================================
0.8:==========================================================
0.9:======================================================================
size: 10000
mean: 0.501370967820671948202377775772729161752514666335
stddev: 0.288601021921015908441703525737039264149088197141
0.0:
0.1:====================================================================
0.2:
0.3:=================================================================
0.4:======================================================================
0.5:=================================================================
0.6:===============================================================
0.7:===================================================================
0.8:==================================================================
0.9:====================================================================
</pre>
Line 5,512 ⟶ 5,573:
=={{header|Wren}}==
{{libheader|Wren-math}}
<syntaxhighlight lang="
import "./math" for Nums
var r = Random.new()
|