WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Lösen einer Gleichung 5. Grades

 

Ilpadrino
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 02.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.07.2018, 14:38     Titel: Lösen einer Gleichung 5. Grades
  Antworten mit Zitat      
Hi Leute Smile

ich bräuchte etwas hilfe mit einem Problem.
Ich habe eine Gleichung 5 Grades. Und diese Gleichung löse ich mit dem Solve Befehl auf und erhalte 5 Lösungen.

Daraufhin erhalte ich keine 5 explizite Lösungen, sondern Lösungen mit Root(...,z) drin.
Nach dem ich mich bisschen eingelesen habe im Internet bedeutet dass, das Matlab das Polynom (Gleichung) nicht auflösen kann. Wobei ich es noch nicht ganz verstanden habe was das Root bedeutet.

Frage:
Wie kann ich den jetzt meinen exakten Wert für meine Unbekannte erhalten ?
Mit Vpa() wurde mir der exakte Wert bestimmt. GIbt es hier auch andere Möglichkeiten ? Ohne Symbolic Toolbox ?
Gibt es eine möglichkeit ohne numerischer Annäherung ?

Bsp: --> Das ist eine der 5 Lösungen

Code:
(5626306399560*root(z^5 - (658349*z^4)/62608 + (1654381*z^3)/375648 - (279297667*z^2)/294508032 + (141041773*z)/1374370816 - 7832810717/1385365782528, z, 1)^2)/5679136907 - (91433901216*root(z^5 - (658349*z^4)/62608 + (1654381*z^3)/375648 - (279297667*z^2)/294508032 + (141041773*z)/1374370816 - 7832810717/1385365782528, z, 1)^3)/5679136907 - (45059728896*root(z^5 - (658349*z^4)/62608 + (1654381*z^3)/375648 - (279297667*z^2)/294508032 + (141041773*z)/1374370816 - 7832810717/1385365782528, z, 1)^4)/5679136907 - (1200188241847*root(z^5 - (658349*z^4)/62608 + (1654381*z^3)/375648 - (279297667*z^2)/294508032 + (141041773*z)/1374370816 - 7832810717/1385365782528, z, 1))/5679136907 + 926178278073/39753958349
 


Ich hoffe ihr könnt mir weiterhelfen
Danke im Vorraus
Grüße
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.07.2018, 15:03     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
GIbt es hier auch andere Möglichkeiten ? Ohne Symbolic Toolbox ?

Es gibt die numerische Möglichkeit über fsolve .

Zitat:
Gibt es eine möglichkeit ohne numerischer Annäherung ?

Das ist die, die du schon gefunden hast: solve / vpa .

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Ilpadrino
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 02.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.07.2018, 15:27     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Antwort.
Ist dir den eine Möglichkeit bekannt wo weder symbolic Toolbox noch approximation verwendet wird ?

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.07.2018, 15:31     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ist dir den eine Möglichkeit bekannt wo weder symbolic Toolbox noch approximation verwendet wird ?

Nein. Wo ist aber das Problem mit einer Approximation? Diese ist ja beliebig genau. Das Problem ist doch eher, dass man geeignete Startwerte braucht, um alle Lösungen zu finden.

Eine Alternative für Polynome wäre noch roots .

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Ilpadrino
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 02.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.07.2018, 17:29     Titel:
  Antworten mit Zitat      
Das Problem liegt dabei an der runtime :/ mit einer analytischen Lösungen könnte man die fehlenden Parameter einsetzen und man erhält direkt die genaue lösung. Während man bei einer Approximation iterationsschleifen durchläuft und dadurch die laufzeit zunimmt. Und man hat am Ende immer noch nur eine approximation
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.07.2018, 17:53     Titel:
  Antworten mit Zitat      
Hallo,

es gibt keine explizite Formel für die Wurzeln eines Polynoms 5. Grades.
Ich habe es gerade getestet, und bei mir werden 1000 Durchläufe von roots für Polynome 5. Grades in 0.04 Sekunden abgearbeitet. Ist das für dich wirklich nicht ausreichend?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Ilpadrino
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 02.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.07.2018, 18:12     Titel:
  Antworten mit Zitat      
@Harald
und das hast du mit der Funkion roots() gemacht ? Könntest du mir mal ein Beispiel zeigen ?

Und eine weiter Frage hätte ich auch Smile Gibt es denn die Möglichkeit wenn ich die Lösung auflöse und root in meiner Lösung enthalten ist diese dann aufzulösen ohne symbolic Toolbox ? oder ist root auch schon eine Funktion der symbolic Toolbox ?

Code:
(5626306399560*root(z^5 - (658349*z^4)/62608 + (1654381*z^3)/375648 - (279297667*z^2)/294508032 + (141041773*z)/1374370816 - 7832810717/1385365782528, z, 1)^2)/5679136907 - (91433901216*root(z^5 - (658349*z^4)/62608 + (1654381*z^3)/375648 - (279297667*z^2)/294508032 + (141041773*z)/1374370816 - 7832810717/1385365782528, z, 1)^3)/5679136907 - (45059728896*root(z^5 - (658349*z^4)/62608 + (1654381*z^3)/375648 - (279297667*z^2)/294508032 + (141041773*z)/1374370816 - 7832810717/1385365782528, z, 1)^4)/5679136907 - (1200188241847*root(z^5 - (658349*z^4)/62608 + (1654381*z^3)/375648 - (279297667*z^2)/294508032 + (141041773*z)/1374370816 - 7832810717/1385365782528, z, 1))/5679136907 + 926178278073/39753958349
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.07.2018, 19:04     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
und das hast du mit der Funkion roots() gemacht ?

Ja.

Zitat:
Könntest du mir mal ein Beispiel zeigen ?

Bei mir in einer Schleife:
Code:

Für weitere Beispiele siehe Doku.

Zitat:
Gibt es denn die Möglichkeit wenn ich die Lösung auflöse und root in meiner Lösung enthalten ist diese dann aufzulösen ohne symbolic Toolbox ?

Nein, denn die Variable ist aus der Symbolic Math Toolbox entstanden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.