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

Umkehrfunktion von nicht-linearer Gl. mit solve klappt nicht

 

Fat_Tommy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.10.2011, 18:50     Titel: Umkehrfunktion von nicht-linearer Gl. mit solve klappt nicht
  Antworten mit Zitat      
Hallo Zusammen,

für meine Studienabschlussarbeit versuche ich gerade die Umkehrfunktion einer Gleichung zu errechnen.

Zur Vorgehensweise:
Da ich mit symbolischen Variablen rechnen möchte benutze ich die "syms"-Funktion. Anschließend verwende ich die "solve"-Funktion um nach der gewünschten Variable aufzulösen.

Problem:
Matlab errechnet die Umkehrfunktion nicht sondern gibt mir dies aus:

Warning: Explicit solution could not be found.
> In solve at 160

Meine Funktion:
>> clear
>> syms a
>> solve('f=-126.87+326*sin(a/180*pi)-sin((67.96-(90-((acos(((-(453.85^2))+(((-377.55-326*cos(a/180*pi))+451)^2+((-126.87+326*sin(a/180*pi))-321)^2)+326^2)/(326*2*sqrt((((-377.55-326*cos(a/180*pi))+451)^2+((-126.87+326*sin(a/180*pi))-321)^2)))))*180/pi)-((acos((-(238^2)+(524.5^2)+(((-377.55-326*cos(a/180*pi))+451)^2+((-126.87+326*sin(a/180*pi))-321)^2))/(2*524.5*sqrt((((-377.55-326*cos(a/180*pi))+451)^2+((-126.87+326*sin(a/180*pi))-321)^2)))))*180/pi)+a))/180*pi)*242.63+351.6276',a)


Vielen Dank im Vorraus

Viele Grüße


Harald
Forum-Meister

Forum-Meister


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

symbolisches Rechnen hat naturgemäß seine Grenzen.
Stell es dir so vor: symbolisches Rechnen kann dasselbe, was du mit Papier und Bleistift kannst - nur schneller. Wenn es aber keine explizite Lösung gibt, dann wird man sie auch mit symbolischem Rechnen nicht finden.
Plotte die Funktion mal, und du wirst sehen, dass die Anzahl der Lösungen mit den f-Werten variiert.
Ja, und selbst wenn es eine explizite Lösung gäbe, dann wäre sie genauso komplex oder vermutlich noch komplexer wie deine Funktion. Was würdest du denn damit machen, außer Werte einsetzen?

Vorschlag: gleich numerisch rechnen und mit FSOLVE arbeiten.

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2011, 14:42     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für die schnelle Antwort.
Da die Gleichung wirklich etwas komplex ist, habe ich sie durch ein Polynom angenähert und davon die Umkehrfunktion gebildet.
Die Ungenauigkeit ist überschaubar...
Trotzdem vielen Dank für deine wertvollen Tipps.

Viele Grüße
 
Harald
Forum-Meister

Forum-Meister


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

generell würde ich von so einem Verfahren abraten, da ein Polynom das Verhalten einer solch komplexen Funktion generell nur unzureichend wiedergibt. Bei Polynomen höheren Grades dürfte das Invertieren zudem auch schwierig sein.

Gerade in einer Abschlussarbeit würde ich persönlich es lieber vermeiden, so einen "weil einem nichts besseres einfällt"-Workaround zu verwenden.

In jedem Fall würde ich auch noch einen Plot dazu machen (Vorsicht, dass keine komplex-wertigen Lösungen mit geplottet werden, ggf. komplexwertige Einträge durch NaN ersetzen). Vor allem lässt sich ein Plot auch wunderbar einfach invertieren:
Code:
statt
Code:


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.