|
|
Lösen einer nichtlinearen Gleichung |
|
Heilbronner99 |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 23.04.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.04.2016, 20:43
Titel: Lösen einer nichtlinearen Gleichung
|
|
Hallo Zusammen,
ich habe folgende nichtlineare Gleichung mit Matlab 2015 zu lösen:
Zu gegebenem Ausgangsdruck P0 und
für jede Temperatur T berechnet sich der Gleichgewichtsdruck P aus einer Gleichung
dritten Grades:
H(P)=4*(P0-P)-K(T)*(3*P-P0)^3=0
die man zweckmäßigerweise numerisch löst. Ergänzen Sie Ihr MATLAB-Programm, sodass in einem zweiten Diagramm eine Kurvenschar P = P(P0) für T = 300:10:400 K
erzeugt wird, indem Sie diese Gleichung dritten Grades für jeden Wert von P0 mit der
MATLAB-Funktion P=fzero('H',PStart) mit einem geeigneten Startwert PStart lösen.
Die Funktion von K besitze ich und ist nur abhängig von T.
Ich weis nicht wie in an diese Aufgabe ran gehen soll. Hat jemand eine Idee?
Vielen Dank
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 23.04.2016, 22:10
Titel:
|
|
Hallo,
Hast du dir mal die Dokumentation von fzero und die zugehörigen Beispiele durchgelesen?
Wo genau liegt das Problem?
Grüße,
Harald
|
|
|
Heilbronner99 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 23.04.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.04.2016, 09:24
Titel:
|
|
Hallo,
danke für deine Antwort.
fZero anwenden ist nicht das Problem.
Vielmehr die Funktion schreiben, da ja P eine Funktion von P0 ist und auch K eine Funktion von T. Ich habe also zwei Abhängigkeiten in einer Funktion zu programmieren.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.04.2016, 09:38
Titel:
|
|
Hallo,
zur Übergabe von Parametern siehe das Beispiel "Root of Function with Extra Parameter" aus der Doku von fzero sowie
http://de.mathworks.com/help/matlab.....meterizing-functions.html
(Parameterizing Using Nested Functions)
Falls du damit nicht klar kommst, löse die Gleichung doch zunächst mal für ein bestimmtes P0 und ein bestimmtes T (und poste das). Dann kannst du immer noch weiter sehen, wie du die Variation von P0 und T umsetzen kannst.
Grüße,
Harald
|
|
|
Heilbronner99 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 23.04.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.04.2016, 12:29
Titel:
|
|
Mit den Beispielfunktionen bin ich nicht wirklich klar gekommen.
Habe mal das Programm geschrieben mit einer konstanten Temperatur und einem konstanten P0. Bin mir aber nicht sicher, ob ich das so richtig verstanden habe.
[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.04.2016, 18:40
Titel:
|
|
Hallo,
... und wenn du P0 und T variieren willst, dann musst du sie als zusätzliche Eingabeparameter in func.m entgegennehmen
und im Hauptprogramm den Aufruf entsprechend anpassen:
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|