Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1636to1640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Iteration

Iteration
30.07.2018 10:31:55
Alexander
Hallo Zusammen, folgende Problematik:
Ich war auf der Suche nach einer Formel für die Feuchtkugeltemperatur. Es gibt jedoch lediglich eine Näherungsformel und die ist nicht besonders genau.
Um eine genaue Lösung zu bekommen, muss iteriert werden und es soll eine Funktion werden.
Ich habe mir einige Beispiele angeschaut und versucht eine Funktion zu erstellen.
Beim Kompilieren tretten keine Fehler auf, beim Verwenden der Funktion hängt sich Excel auf.
Ist es eventuell zu viel für Excel?
Wie soll man die Funktion vereinfachen?
Zur Iteration:
Die einzigen Werte die gegeben sind, sind Luftdruck, FeuchteAB und TempAB.
Der gesuchte Wert ist die TempFK.
Die TempFK wird in psFK berechnet und psFK in hFK eingesetzt, dies erfolgt bis hAB=hFK.
Als Beispiel soll bei Werten: TempAB=25; FeuchteAB=0,008; Luftdruck=100000
Eine TempFK von etwa 16 rauskommen (Abgelesen im h-x-Diagramm)
Code:
Public Function Feuchtkugeltemperatur(Luftdruck As Double, TempAB As Double, FeuchteAB As  _
Double) As Double
Dim TempFK As Double
Dim hAB As Double
Dim hFK As Double
Dim psFK As Double
TempFK = -5 ' Startwert Iteration
hAB = 1.006 * TempAB + FeuchteAB * (2501 + 1.86 * TempAB)
Do
TempFK = TempFK + 5 ' Grobe Schrittweite Näherung
psFK = 611.2 * e ^ (17.62 * TempFK / (243.12 + TempFK)
hFK = 1.006 * TempFK + (2501 + 1.86 * TempFK) * 0.622 * psFK / (Luftdruck - psFK)
Loop Until hAB = hFK
Feuchtkugeltemperatur = TempFK
End Function
Vielen Dank!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Iteration
30.07.2018 11:16:04
PeterK
Hallo
Nachfolgendes funktioniert, das Ergebnis ist aber 45,2 (ich hab Deine Formel nicht geprüft)

Public Function Feuchtkugeltemperatur(Luftdruck As Double, TempAB As Double, FeuchteAB As _
Double) As Double
Dim TempFK As Double
Dim hAB As Double
Dim hFK As Double
Dim psFK As Double
TempFK = -5    ' Startwert Iteration
hAB = 1.006 * TempAB + FeuchteAB * (2501 + 1.86 * TempAB)
Do
TempFK = TempFK + 5   ' Grobe Schrittweite Näherung
psFK = 611.2 * (e ^ ((17.67 * TempFK) / (243.5 + TempFK)))
hFK = 1.006 * TempFK + (2501 + 1.86 * TempFK) * 0.622 * psFK / (Luftdruck - psFK)
DoEvents
Debug.Print "1"; hAB; hFK; TempFK
Loop Until hAB = hFK
Feuchtkugeltemperatur = TempFK
End Function
Sub test()
Debug.Print Feuchtkugeltemperatur(100000, 25, 0.008)
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige