Salve a tutti, spero sia la sezione giusta.
Ho da poco iniziato a svolgere esercizi con matlab (/studiare) e stavo decifrando il seguente esercizio fatto dal professore:
Si vogliono stimare le probabilità di uscita nel lancio di due dadi. Per questo motivo si ripete tante volte l’esperimento considerando ogni volta la somma di due numeri compresi tra 1 e 6:
risultato = zeros(1,12); % inizializzazione
n = 1e5;
for i = 1:n
lancio = randi(6,1,2);
k = lancio(1)+lancio(2);
risultato(k) = risultato(k)+1;
end
stima = risultato/n;
disp(stima) % stima calcolata delle probabilita’
probabilita = [0:6 5:-1:1]/36;
if norm(stima-probabilita)>1e-3
disp(’forse servirebbero piu’’ lanci’)
end
Diciamo che mi è tutto chiaro fino a "stima". Quello che non capisco è:
1) La divisione (0 1 2 3 4 5 6 5 4 3 2 1) /36 è per calcolare la probabilità che un numero da 1 a 12 esca con un singolo lancio di dadi?
1)Perché $"probabilita"$ è formata da un vettore che parte da 0 a sinistra e arriva a 1 a destra e non da 1? è un errore? o è dato dal fatto che nel vettore $"risultato"$ la posizione k= 1 non può essere occupata da nessun numero dato che la somma di due dadi sarà sempre maggiore di 1? e quindi il calcolo seguente non avrebbe senso?
2) Quel $"norm()"$ della terzultima riga cos'è? Perché sottrae il valore della stima da quello della probabilità?
3) La scelta di verificare norm per numeri più grandi di $10^-3$ è del tutto arbitraria?
Ne approfitto anche per chiedervi qual è la differenza tra & e && su matlab
Spero di essere stato chiaro, vi chiedo scusa per eventuali errori
Vi ringrazio anticipatamente per il vostro aiuto!