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