Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
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

VBA Nullstellensuche

VBA Nullstellensuche
Leo
Hallo zusammen,
ich habe ein Problem: folgende Gleichungen möchte ich mit einander gleichsetzten. Beide sind von Taus abhängig, Taus möchte ich auch bekommen.
Q=m*cp*(Tein-Taus)
Q=l*k*(Tein-Taus)/ln((Tein-Tamb)/(Taus-Tamb))
alle werte außer Taus habe ich gegeben. Wenn ich nun nach 0=..... umstelle und Taus erste schätze und von da aus solange interiere bis 0 raus kommt müsste es eigentlcih passen..hab es schon mit der regular falsi versucht aber wegen meiner unkenntniss gescheitert.
Wäre für hilfreiche Vorschläge sehr dankbar!
gruß,leo

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Nullstellensuche
26.07.2010 11:42:10
JogyB
Hallo Leo,
wieso nimmst Du nicht den Solver?
Gruß, Jogy
AW: VBA Nullstellensuche
26.07.2010 13:05:21
Leo
hallo, schonmal danke für die schnelle antowort.
das hab ich schon versucht, nur gibt er das ergebnis nicht korrekt aus. bin sicher die fomel korrekt eingegeben zu haben...kann das an dem ln liegen? also die veränderbare zelle bezieht sich auf Taus und die formel steht in der zielzelle..der zielwert müsste dann doch null ergeben...aber da tut es nicht...mach ich da was falsch?
AW: VBA Nullstellensuche
26.07.2010 13:18:32
JogyB
Hallo Leo,
in der Zielzelle muss natürlich die Differenz der beiden Formeln stehen, dann sollte das auch gehen. Habe es gerade mal getestet (mit zufälligen Werten, kenne Dein Wärmeübertragungsproblem ja nicht im Detail) und das funktioniert. Die einzige Fehlerquelle wäre, dass der Logarithmus negativ wird, aber das sollte eigentlich nicht passieren.
Gruß, Jogy
Anzeige
AW: VBA Nullstellensuche
26.07.2010 14:04:24
Leo
also funktioniert jetzt soweit bei mir auch...is en ln problem gewesen....aber das ergebnis is mir noch zu ungenau..wenn ich mit meinem graphikfähigen taschenrechner das ganze löse bekomm ich ne abweichung von 3 kelvin....und meine k werte fallen kaum ins gewicht da diese sich nur um 0,1 unterscheiden. hab im solver schon das genaustmögliche eingestellt.
die k-wetre hol ich mit SVERWEIS aus einer tabelle. kann es sein das der SVERWEIS nicht alle nachkommastellen übernimmt?
AW: VBA Nullstellensuche
26.07.2010 14:30:11
JogyB
Hallo Leo,
lade mal eine Beispielmappe hoch, sonst ist das schwer nachzuvollziehen.
Gruß, Jogy
AW: VBA Nullstellensuche
26.07.2010 15:18:27
Leo
https://www.herber.de/bbs/user/70764.zip
Also den oberen teil kannst mal weglassen. geht um die ganz unterste formel. die berechnungs-buttons sind von nem makro mit dem ich versucht hab das problem zu lösen....ist etwas unübersichtlich.
Anzeige
AW: VBA Nullstellensuche
26.07.2010 15:20:41
JogyB
Hallo Leo,
ich schaue es mir heute abend mal an (kann hier nichts runterladen).
Gruß, Jogy
AW: VBA Nullstellensuche
26.07.2010 15:27:53
Leo
Vielen dank schonmal für deine Hilfe!
AW: VBA Nullstellensuche
26.07.2010 21:27:45
JogyB
Hallo Leo,
Das Ergebnis des Solvers ist auf Basis der eingegebenen Formel korrekt. Genauer geht es nicht (ist an der Grenze dessen, was Double kann). Die Abweichung von 3K kommt also ganz sicher nicht vom Solver.
Du solltest daher Deine Formel überprüfen, irgendwas passt entweder hier oder bei der Eingabe im programmierbaren Taschenrechner nicht. Was ich auf die Schnelle mal probiert habe, war den Faktor 1000 rauszunehmen, damit ergeben sich ziemlich genau Deine 3K Unterschied. Vielleicht war es das.
Gruß, Jogy
Anzeige
AW: VBA Nullstellensuche
27.07.2010 15:37:14
Leo
Hey, vielen dank für deine mühe..der faktor 1000 war es nich, klappt aber jetzt dennoch sehr gut! hab jetzt nur ein neues Problem. möchte jetzt sieben solve Aktionen mit einem button ausführen. das funktioniert ganz gut. allerdings wird jetzt meine formel in der zielzelle jedesmal überschrieben. an was kann das liegen? hier mein vba text:
Sub BerechnungSolver1()
Dim i As Long
Dim Anzahl As Long
Dim LfdNr As Long
Anzahl = 7
For LfdNr = 1 To Anzahl
SolverReset
SolverOk SetCell:=Range("Taus" & Trim(LfdNr)), MaxMinVal:=3, ValueOf:="0", ByChange:=Range(" _
GegenNull" & Trim(LfdNr))
SolverSolve
Next LfdNr
End Sub
gruß,leo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige