Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Is het verdamping?

In dit experiment is er een verwarmingselement in een met water gevulde maatbeker gestopt. Elke minuut is de temperatuur van het water gemeten. Deze metingen zijn opgeslagen in tempmetingen.csv.

Verder is gegeven dat: mmaatbeker=820.8grm_{maatbeker} = 820.8 \mathrm{gr}
mmaatbeker+water,start=1292.9grm_{maatbeker + water, start} = 1292.9 \mathrm{gr}
mmaatbeker+water,eind=1274.9grm_{maatbeker + water, eind} = 1274.9 \mathrm{gr}

Het moge duidelijk zijn dat er water is ‘verdwenen’. Ook is de eindtemperatuur van het water niet gelijk aan een proces waarbij verdamping en eventuele warmteverliezen niet meegenomen worden.

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import curve_fit 

Cwater = 4186 #J/kgC
m_maatbeker_water_start = 1292.9 #g
m_maatbeker_water_einde = 1274.9 #g
m_maatbeker=820.8 #g
m_water=m_maatbeker_water_start - m_maatbeker #g
verschil_m_water=m_maatbeker_water_start - m_maatbeker_water_einde #g
m_water_kg=verschil_m_water/1000 #kg

E_waterdamp=2502.6 * m_water_kg * 1000 #J

# Data inlezen hier
data = pd.read_csv('tempmetingen.csv',delimiter = ";")
tijd = data["t (min)"].to_numpy()
temperatuur = data["t (oC)"].to_numpy()

def function(t,P):
    return 21.2+(P*t*60)/(Cwater*m_water/1000)

popt, cov = curve_fit(function, tijd[:5], temperatuur[:5])
x_test = np.linspace(0, 60, 500)
y_test = function(x_test, *popt)

E_in = popt[0] * 3600 #J
E_gekregen = (temperatuur[-1] - temperatuur[0])/(max(y_test)-temperatuur[0]) * E_in

E_verschil = E_gekregen + E_waterdamp
print(E_in)
print(E_gekregen)
print("de energie die over is gegaan naar het water is:", E_verschil, "J")

# Plotttt
plt.figure(figsize=(10, 6))
plt.plot(tijd, temperatuur, 'bo-', label='Gemeten temperatuur')
plt.plot(x_test, y_test, 'r--', label='Fit: P = %.2f W' % popt[0])
plt.xlabel('Tijd (min)')
plt.ylabel('Temperatuur ( graden C)')
plt.title('Temp metingen water')
plt.grid(True)
plt.legend()
plt.show()
160468.30072000125
109482.06724000002
de energie die over is gegaan naar het water is: 154528.86724000002 J
<Figure size 1000x600 with 1 Axes>