Forum
>>
Principianti
>>
Fare un grafico con calcolo iterativo
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da davideb |
2019-10-21 14:42:49 - Fare un grafico con calcolo iterativo
|
Buongiorno a tutti, premetto che sono super principiante nella programmazione ma volevo fare un grafico che mi andasse a mettere su un asse dei valori in un intervallo che voglio io mentre nell'altro il risultato di un calcolo iterativo su 6 equazioni. per maggiore chiarezza allego quanto fatto, e avrei bisogno di andare a mettere in grafico Xo rispetto ad un Ta in un intervallo definito. Grazie mille
import math import matplotlib.pyplot as plt Cpa=1.0 Tref=0.0 lamb=2500.0 Cpv=1.8 Cpl=4.186 Patm=101300 TSS=0.4 F=1.0 Fl=F*(1.0-TSS) Fs=F*TSS Cps=1.5 Tin=55.0 Xi=Fl/Fs G=15.0 Ta=200 -------> da cambiare con un range Yi=0.01 Fas=G*(1/(1+Yi)) Ha=Cpa*(Ta-Tref)+Yi*(lamb+Cpv*(Ta-Tref)) #entalpie Hl=Cpl*(Tin-Tref) Hs=Cps*(Tin-Tref) Ein=(Ha*Fas)+(Hl*Fl)+(Hs*Fs) print ("energia in ingresso=", Ein) toll=0.0001 Nmax=100.0 Xo=0.5 N=1.0 test=1.0 To=0.0 while abs(test)>toll: X=Xo Yo=Yi+((Fs/Fas)*(Xi-Xo)) #usare o questa riga o quella sotto, meglio dopo aver fatto un minimo di bilanci di massa To=Tref+((Ein-(Fas*Yo*lamb))/(Fs*(Cps+Xo*Cpl)+Fas*(1.0+Cpv*Yo))) Pv=((Yo/0.622)*Patm)/(1.0+(Yo/0.622)) Psat=133.3*math.exp(18.3036-(3816.44/(To+229.02))) RU=Pv/Psat Xo = 0.1499*math.exp((-2.306*10**(-3))*(To+273.15)*(math.log(1/RU))) #SPS N=N+1 test=abs(1.0-(X/Xo)) else: print("N =", N) print("To =", To) print("Yo =", Yo) ---------> da prendere come altro asse print("Xo =", Xo) print("Pv =", Pv) print("Psat =", Psat) print("RU =", RU) plt.plot(Ta, Xo) plt.title('Temperatura vs. Umidità polvere') plt.xlabel('Ta') plt.ylabel('Xo') plt.show() --- Ultima modifica di davideb in data 2019-10-21 14:45:55 --- |
Pagina: 1
Esegui il login per scrivere una risposta.