Funzione rand
r = rand (n)
restituisce una matrice quadrata di dimensione nxn i cui
valori sono numeri casuali appartenenti all’intervallo (0,1)
MATLAB
Alcune funzioni utili: rand
r = rand (m,n)
Restituisce una matrice di dimensione mxn i cui valori sono
numeri casuali appartenenti all’intervallo (0,1)
Esempio
A=rand(1)
A = 0.2345
MATLAB - Funzioni
Esempio
Funzione rand
r = b .* rand (n)
restituisce una matrice quadrata di dimensione nxn i cui
valori sono numeri casuali appartenenti all’intervallo (0,b)
r = a + (b-a) .* rand (n)
Restituisce una matrice di dimensione nxn i cui valori sono
numeri casuali appartenenti all’intervallo (a,b)
Esempio
A= 5 + 10*rand(1)
2
%un numero fra 5 e 15
A = 7.2345
MATLAB - Funzioni
3
%Indovinare un numero intero fra 1 e 90
indovinato=0;
segreto = ceil(90*rand(1));
while (indovinato==0)
tentativo = input("Inserisci un numero
fra 1 e 90");
if (tentativo==segreto)
disp("Hai indovinato! ");
indovinato=1;
end
end
MATLAB - Funzioni
4
1
Note
Esercizi
Se si deve interrompere un ciclo quando si verifica un certo
evento (in questo caso, quando il numero è stato indovinato) si
usa una variabile ausiliaria che si chiama ‘flag’ (bandiera), di
solito booleana (assume cioè valori 0 o 1).
Tale variabile dovrà essere inizializzata a 0 (l’evento non si è
verificato) per poi porla uguale a 1 non appena l’evento si
verifica.
Nell’esempio il flag è la variabile indovinato
In questo caso il ciclo while dovrà avere come condizione di
uscita il fatto che il flag sia diventato 1.
Sulla base del programma precedente scrivere una funzione
che generi un numero casuale intero fra 1 e 100 e chieda
all’utente di indovinare se il numero è pari o dispari, per poi
realizzare i seguenti programmi, a partire dalla funzione
realizzata :
1.
Fare eseguire l’indovinello per 5 volte mostrando alla fine
quante volte in totale l’utente ha indovinato.
2.
Fare giocare due concorrenti uno contro l’altro, che si
alternano a scegliere pari o dispari, giocare 10 partite,
aggiornando il punteggio (numero di partite vinte per ogni
giocatore) dopo ogni partita.
NB Fare (prima) i diagrammi di flusso degli algoritmi !!!!!
MATLAB - Funzioni
5
MATLAB - Funzioni
6
2