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

  Lo stesso argomento in dettaglio: 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

Note