Also hier die Aufgabenstellung :
Aufgabenstellung
Schreiben Sie ein Programm, das fur die Wetterdaten aus Ubung 4 die Heizgradstunden
bzw. die Gradtagszahl berechnet. Die Gradtagszahl ist eine
wichtige Groe zur Berechnung des Heizwarmeverbrauchs von Gebauden und
hangt ab vom Standort, der Heizgrenztemperatur und der gewunschten Innentemperatur.
Geben Sie die Ergebnisse tabellarisch aus. Machen Sie sich zunachst mit den
Begrien Gradtagszahl und Heizgradstunden vertraut. Siehe hierzu
Wikipedia,
Recknagel, Sprenger, Schrameck, Taschenbuch der Heizungstechnik
DIN 4108
VDI 3807
Hinweise
Verwenden Sie fur die Berechnung der Gradtagszahl eine Funktion mit
den notwendigen Parametern Auentemperatur als Array, Innentemperatur,
Heizgrenztemperatur
Berechnen Sie Tagesmittelwerte der Umgebungstemperatur
Summieren Sie uber alle 365 Tage auf
Zahlen Sie nur Tage mit Auentemperaturen, die kleiner als die Heizgrenztemperatur
sind Hierzu konnen Sie eine Schleife verwenden oder
die Funktion numpy.where
Dann hier mein geschriebenes Programm dazu:
Code: Alles auswählen
# -*- coding: utf-8 -*-
"""
Created on Mon May 30 22:52:30 2011
@author: Elmar
"""
Name = "Elmar Bickel"
Matrikelnummer = "03000162"
print "%s\tMatrikelnummer: %s\n" % (Name,Matrikelnummer)
print "Uebung 4\n"
import numpy as np
def G(z,Ta):
b=0
G=0
while b<z:
G=G+(20.-Ta[x])
b=b+1
return G
def H(z,Ta):
b=0
H=0
while b<z:
H=H+(15.-Ta[x])
b=b+1
return H
while True:
stadt=raw_input("Von welcher Stadt wollen Sie die Daten abfragen?")
if stadt=="B or b":
werte= np.loadtxt("Berlin.dat",skiprows=4,usecols=(4,8),
unpack=True)
print ""
print "Berlin"
elif stadt=="M or m":
werte= np.loadtxt("Muenchen.dat",skiprows=4,usecols=(4,8),
unpack=True)
print ""
print "Muenchen"
elif stadt=="K or k":
werte= np.loadtxt("Koeln.dat",skiprows=4,usecols=(4,8),
unpack=True)
print ""
print "Koeln"
elif stadt=="H or h":
werte= np.loadtxt("Hamburg.dat",skiprows=4,usecols=(4,8),
unpack=True)
print ""
print "Hamburg"
elif stadt=="F or f":
werte= np.loadtxt("Frankfurt.dat",skiprows=4,usecols=(4,8),
unpack=True)
print ""
print "Frankfurt"
x=stadt[0]
mittelwert_ta=range(365)
mdict= {}
l=0
k=24
I=0
Ta=[]
while I<=364:
mdict[I] =[l, k]
grenzen =slice(mdict[I][0], mdict[I][1])
mittelwert_ta[I] = stadt[0,grenzen].mean()
l=l+24
k=k+24
I=I+1
for i in range(365):
if mittelwert_ta[i]<=15:
Ta.append(mittelwert_ta[i])
z=len(Ta)
F=G(z,Ta)
print "Gradtagszahl bei 20 Grad Innentemperatur",F
B=H(z,Ta)
print "Heizgradzahl",B
n=raw_input("Wenn Sie noch weitere Daten einer anderen Stadt wollen geben Sie J ein")
if n!="J or j":
break