|
|
Numerische Lösung von Polynomen mit "solve"? |
|
astroblem |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 07.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.01.2010, 17:07
Titel: Numerische Lösung von Polynomen mit "solve"?
|
|
|
|
|
Ich habe vor einigen Wochen angefangen, mit MatLab zu arbeiten, um theoretische Volumenänderungen durch Korrosion an geometrischen Körpern auf Basis chemischer Analysen zu errechnen.
Am Beispiel eines Quaders ist mein Problem leicht erklärt. Das Volumen des Quaders ist bekannt (V=l*a*b). Durch eine homogene Korrosion würden die Seitenlängen des Quaders theoretisch um den Wert x verringert (Eindringtiefe der Korrosion somit x/2). Aufgrund zuvor ermittelter Parameter sind die Werte l, a, b errechnet worden und damit bekannt, variieren aber von Probe zu Probe. Auch das durch die Korrosion veränderte theoretische Volumen wurde zuvor berechnet, ist also auch bekannt.
Um die Eindringtiefe der Korrosion theoretisch zu ermitteln, habe ich mich für den Befehl "solve" entschieden.
Als Ergebnis erhalte ich drei Lösungen (zwei davon komplex) in algebraischer Form. Ich benötige aber numerische Ergebnisse, mit denen ich weiterarbeiten kann.
Bislang kann ich die algebraischen Ergebnisse mittels Copy-Paste weiter berechnen lassen, so daß ich nur auf diesem Wege numerische Werte erhalte. Angesichts zahlreicher Analysen, die ich auf diesem Wege auswerten möchte, ist diese Variante auf Dauer kontraproduktiv. Gibt es eine Lösung, die es mir Erlaubt, die Lösung eines solchen Polynoms auch numerisch darstellen zu lassen (meinetwegen auch in komplexer Form)? Mir wäre auch sehr geholfen, wenn ich den bisherigen Lösungsweg beibehalten und mir den Zwischenschritt mit Copy-Paste sparen könnte.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.01.2010, 22:03
Titel:
|
|
Hallo,
dazu muss eigtl nur eine geringfügig andere Routine verwendet werden.
Damit das funktioniert, müssen zur Zeit der Ausführung des Befehls im Workspace Variablen a, b, l und Vneu existieren.
Grüße,
Harald
|
|
|
astroblem |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 07.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.01.2010, 23:40
Titel:
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.01.2010, 09:06
Titel:
|
|
Sorry, Startwert fehlt:
Grüße,
Harald
|
|
|
astroblem |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 07.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.01.2010, 16:11
Titel:
|
|
Vielen Dank noch einmal für den Tip. Leider hat der so nicht funktioniert. Ich habe einen "Umweg" genommen.
Das funktioniert und liefert genau die Ergebnisse, die ich haben will.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.01.2010, 16:31
Titel:
|
|
Hallo,
nur aus Neugierde: inwiefern hat es nicht funktioniert?
Grüße,
Harald
|
|
|
astroblem |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 07.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.01.2010, 13:51
Titel:
|
|
Hallo,
um ehrlich zu sein, ich weiß nicht genau, woran es lag. Ich habe keinen Startwert x0 definiert, und ohne Startwert scheint sich "fsolve" nicht benutzen zu lassen. Aber durch Deinen Tip mit "fsolve" bin ich über Umwege (Skript von Prof. Gramlich, Uni Ulm, Literaturtips in diesem Forum - sehr empfehlenswert!) und der Mtalab-Hilfe auf die Lösung mit den Koeffizienten und dem Befehl "roots(Koeffizienten)" gekommen. Das funktioniert einwandfrei.
Vielen Dank,
Detlef
|
|
|
|
|
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 - 2025
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.
|
|