[Python] Grafico

Messaggioda crynow » 29/01/2021, 20:09

Codice:
import matplotlib.pyplot as plt
import numpy as np
import math

def grafico(r) :
    t = 0
    volume = []
    tempo = []
    while t <= 120 :
        volume_00 = 10**9+10**8*(1-math.exp(-t/100))-r*t
        volume.append(volume_00)
        tempo.append(t)
        t += 1
       
    plt.plot(tempo, volume)
    plt.xlabel("Tempo")
    plt.ylabel("Volume")
    plt.grid('on')
    plt.show()
       







def main() :
    r = 10**7
   
   
    Grafico = grafico(r)
   
   
   
main()


Buonasera, dovrei creare un grafico con questi elementi ma non so come fermare il while quando "volume_00" diventa minore di zero, io ho messo "while t <= 120 :" ma forse ho sbagliato.
Perchè io dovrei aumentare t che inizialmente è zero finchè volume_00 non diventa minore di zero e diagrammare i risultati del volume_00 e del tempo.

Qualcuno mi può aiutare
Grazie
crynow
Junior Member
Junior Member
 
Messaggio: 49 di 106
Iscritto il: 30/06/2019, 17:59

Re: [Python] Grafico

Messaggioda solaàl » 29/01/2021, 22:31

Beh. Porlo uguale a 1 e mettere volume_00 > 0 come condizione nel while funziona?
"In verità le cose che nella vita sono tenute in gran conto si riducono a vanità, o putredine di nessun valore; botoli che si addentano, bambocci litigiosi che ora ridono, poi tosto piangono." (Lotario conte di Segni)
Avatar utente
solaàl
Senior Member
Senior Member
 
Messaggio: 832 di 1672
Iscritto il: 31/10/2019, 01:45

Re: [Python] Grafico

Messaggioda crynow » 30/01/2021, 12:05

Già provato e non funziona
crynow
Junior Member
Junior Member
 
Messaggio: 50 di 106
Iscritto il: 30/06/2019, 17:59

Re: [Python] Grafico

Messaggioda solaàl » 30/01/2021, 12:44

Boh, a me mostra quel che deve se provo a farlo girare.
"In verità le cose che nella vita sono tenute in gran conto si riducono a vanità, o putredine di nessun valore; botoli che si addentano, bambocci litigiosi che ora ridono, poi tosto piangono." (Lotario conte di Segni)
Avatar utente
solaàl
Senior Member
Senior Member
 
Messaggio: 833 di 1672
Iscritto il: 31/10/2019, 01:45

Re: [Python] Grafico

Messaggioda crynow » 30/01/2021, 13:28

mi potresti far vedere come hai scritto chissà sbaglio io a scrivere per favore
crynow
Junior Member
Junior Member
 
Messaggio: 51 di 106
Iscritto il: 30/06/2019, 17:59

Re: [Python] Grafico

Messaggioda solaàl » 30/01/2021, 13:48

Codice:
import matplotlib.pyplot as plt
import numpy as np
import math

def grafico(r) :
    t = 0
    volume = []
    tempo = []
    volume_00 = 1
    while volume_00 > 1 :
        volume_00 = 10**9+10**8*(1-math.exp(-t/100))-r*t
        volume.append(volume_00)
        tempo.append(t)
        t += 1
       
    plt.plot(tempo, volume)
    plt.xlabel("Tempo")
    plt.ylabel("Volume")
    plt.grid('on')
    plt.show()
       
def main() :
    r = 10**7
    Grafico = grafico(r)
main()

Immagine
"In verità le cose che nella vita sono tenute in gran conto si riducono a vanità, o putredine di nessun valore; botoli che si addentano, bambocci litigiosi che ora ridono, poi tosto piangono." (Lotario conte di Segni)
Avatar utente
solaàl
Senior Member
Senior Member
 
Messaggio: 834 di 1672
Iscritto il: 31/10/2019, 01:45

Re: [Python] Grafico

Messaggioda crynow » 30/01/2021, 16:44

Anche a te da lo stesso mio problema perchè se noti dal grafico la linea va sotto lo zero quindi l'ultimo valore è negativo
crynow
Junior Member
Junior Member
 
Messaggio: 52 di 106
Iscritto il: 30/06/2019, 17:59

Re: [Python] Grafico

Messaggioda solaàl » 30/01/2021, 16:48

Beh, ma il ciclo si ferma, sarà un artefatto del visualizzatore; non me ne preoccuperei.
"In verità le cose che nella vita sono tenute in gran conto si riducono a vanità, o putredine di nessun valore; botoli che si addentano, bambocci litigiosi che ora ridono, poi tosto piangono." (Lotario conte di Segni)
Avatar utente
solaàl
Senior Member
Senior Member
 
Messaggio: 835 di 1672
Iscritto il: 31/10/2019, 01:45

Re: [Python] Grafico

Messaggioda crynow » 30/01/2021, 17:51

Immagine

Il secondo punto invece chiede questo, io ho scritto questo:
Codice:
def grafico(r) :
    t = 0
    volume = []
    tempo = []
    while t <= 120:       
        volume_0 = 10**9+10**8*(1-math.exp(-t/100))-r*t
        if volume_0 < 0 : break
        volume.append(volume_0)
        tempo.append(t)
        t += 1
       
           
       
    plt.plot(tempo, volume)
    plt.xlabel("Tempo")
    plt.ylabel("Volume")
    plt.grid('on')
    plt.show()
   

def t_f(r,x) :
    t = 0
    volume = []
    tempo = []
    while t <= 120:       
        volume_0 = 10**9+10**8*(1-math.exp(-t/100))-r*t
        if volume_0 < 0 : break
        volume.append(volume_0)
        tempo.append(t)
        t += 1   
   
       







def main() :
    r = float(input("Inserire il valore di r: "))
    x = float(input("Inserire il valore di x: "))
   
   
   
    Grafico = grafico(r)   
   
   
main()


ma come faccio ad avere il tempo nel senso se io passo il 40 % come faccio a farmi dare il tempo che è passato affinchè il livello dell'acqua sia sceso del 40%
crynow
Junior Member
Junior Member
 
Messaggio: 53 di 106
Iscritto il: 30/06/2019, 17:59

Re: [Python] Grafico

Messaggioda salvo2020 » 13/05/2021, 17:33

Codice:
t = 10
while t >= 0.01:
    t -= 0.1
    print t
print round(t)


prova ad adattare questi parametri al tuo codice,
e vedi se il risultato è come intedi tu.
salvo2020
Starting Member
Starting Member
 
Messaggio: 17 di 34
Iscritto il: 23/04/2021, 16:07

Prossimo

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite