Utente:Dega180/Sandbox
Questa è la pagina delle prove personale di dega180
Monotonia a partire dalla derivata
Il teorema di Lagrange ci permette di stabilire la monotonia di una funzione derivabile se la derivata è non negativa o non positiva.
Derivata non negativa
Sia f'(x) ≥ 0 per ogni x appartenente all'intervallo [a,b]. Allora per ogni x1, x2 appartenenti all'intervallo [a,b] con x1 < x2 si ha che f(x1) ≤ f(x2)
Dimostrazione
Prendiamo due generici punti α e β appartenent all'intervallo chiuso [a,b] con α < β.
Poiché la funzione per ipotesi è derivabile in tutti i punti dell'intervallo, e quindi è anche continua, possiamo pensare di applicare il teorema di Lagrange ad un intervallo avente come estremi α e β ottenendo che
Dato che f'(x) ≥ 0 per ogni x si ha che
Ora dato che α < β per essere vera la formula appena scritta deve essere f(α) ≤ f(β) e visto che questo vale per ogni α e β appartenenti ad [a, b] possiamo concludere che la funzione è monotona non decrescente
Derivata non positiva
Vale anche il teorema opposto, cioè che tutte le funzioni derivabili con derivata prima non positiva sono funzioni monotone non crescenti; la tecnica di dimostrazione è la stessa del teorema precedente.
Simulazione problema di Monty Hall
import random
numeroVolte=input('quante volte vuoi giocare? \n') #ti chiedo quante volte vuoi ripetere il gioco
cambio=raw_input('vuoi cambiare la porta? y/n \n') #ti chiedo se vuoi giocare cambiando sempre la porta oppure tenendo sempre quella della prima scelta
numeroVittorie=0 #Questa variabile conta quante volte vinci al gioco
#inizio il ciclo che fara' fare il gioco tante volte quanto vale la variabile numeroVolte
for i in range(numeroVolte):
#creo un array di tre valori: il valore 0 vuol dire che c'e' una capra, il valore 1 vuol dire che c'e' una macchina, il valore 2 vuol dire che la porta e' stata aperta
porte=[0,0,0]
#scelgo a caso la porta in cui mettere la macchina
a=random.random()*3
if a<1:
porte[0]=1
elif a<2:
porte[1]=1
else:
porte[2]=1
#ora scelgo a caso la porta in cui penso ci sia la macchina
scelta=random.random()*3
if scelta<1:
scelta=0
elif scelta<2:
scelta=1
else:
scelta=2
#se ho scelto di fare il cambio di porta, viene eseguito il seguente codice che "apre" una porta mettendo 2 al posto di 0 e cambia la mia scelta.
if cambio == 'y':
i=0
fatto=0
#qua metto 2 nella porta diversa da quella che ho scelto e diversa da quella con la macchina
while (i<=2) & (fatto==0):
if (porte[i]==0) & (i!=scelta):
porte[i]=2
fatto=1
i=i+1
i=0
fatto=0
#qua cambio la mia scelta con quella diversa dalla mia precedente e quella diversa da 0
while (i<=2) & (fatto==0):
if (i!=scelta) & (porte[i]!=2):
scelta=i
fatto=1
i=i+1
#se la porta che ho scelto contiene 1 (cioe' la macchina) incremento la variabile numeroVittorie
if porte[scelta]==1:
numeroVittorie=numeroVittorie+1
#stampo il risultato
risultato= "il numero di vittorie e %d" % (numeroVittorie)
print risultato