|
|
|
Lösungen finden mit solve() |
|
| xam |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 02.09.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.09.2009, 15:34
Titel: Lösungen finden mit solve()
|
 |
Hi,
Ich arbeite gerade an meiner Diplomarbeit und muss dafür viele Gleichungen mit Matlab lösen. Leider findet Matlab meistens nicht die Lösungen der Gleichungen. Ich gebe euch ein Beispiel:
Versucht mal folgende Gleichung nach g aufzulösen:
Matlab liefert als Lösung nur irgendwelche riesigen Zahlenkolonnen und Mengenangaben
Also sowas wie
und dann kommen zig Zeilen Zahlen.
Wenn ich aber obige Funktion einfach mal plotte:
Dann sehe ich sofort eine Lösung, nämlich ca. 0,28. (Schnittpunkt der Funktion mit der y-Achse) Warum findet Matlab diese Lösung nicht selbst?
Noch eine zweite Frage: Ich suche bei all diesen Funktionen generell nur Lösungen zwischen 0 und 1. Ich hab deshalb auch schonmal sowas versucht wie:
Aber das ist wohl der falsche Ansatz. Kann man sonst irgendwie nur nach Lösungen in einem Intervall suchen lassen?
Gruß Max
|
|
|
|
|
|
| Olli |

Forum-Anfänger
|
 |
Beiträge: 45
|
 |
|
 |
Anmeldedatum: 19.08.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.09.2009, 16:54
Titel:
|
 |
Kannst ja mal die Funktion "fzero" ausprobieren, die sucht Nullstellen und man kann nen Startwert angeben in dessen Nähe gesucht werden soll. Oder auch die Funktion "roots" die sucht nur Nullstellen.
Möglicherweise liegt das Problem an den enorm großen Zahlen in deiner Aufgabe?
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.09.2009, 17:35
Titel:
|
 |
solve findet eine symbolische, exakte Lösung (also hier mit etlichen Brüchen). fzero findet eine numerische Näherungslösung und ist daher eindeutig die bessere Wahl.
Grüße,
Harald
|
|
|
|
| xam |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 02.09.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.11.2009, 19:06
Titel:
|
 |
Hi und danke für die Antworten. Das hat mir z.T. auch wirklich geholfen! Mittlerweile bin ich weitergekommen und habe nun ein ähnliches Problem. Jetzt möchte ich eine von zwei Variablen abhängige Gleichung nach einer Variablen auflösen.
Versucht mal folgendes:
Also mein Matlab scheint da in endlicher Zeit keine Lösung zu finden.
Ich weiß, ist ne wirklich schöne Funktion . Das ist nur ein Beispiel. Ich muss etliche dieser Gleichungen irgendwie nach v auflösen. Hat da jemand ne Idee?
Gruß
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 09.11.2009, 19:38
Titel:
|
 |
Hallo,
im wesentlichen kann die Symbolic Toolbox das lösen, was du von Hand lösen kannst - sie kann es nur schneller. Hier kommt v in den verschiedensten Potenzen vor. Das ist nunmal nicht geschlossen lösbar.
Die einzige Möglichkeit ist, für einen oder mehrere Werte von g numerisch (also wieder mit fzero) die Lösung zu finden. Das kann man ja auf einem so dichten Gitter machen, dass man z.B. einen schönen Plot erzeugen kann.
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 - 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.
|
|