|
|
Lösen eines überbestimmten Gleichungssystems |
|
Horst |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.08.2012, 16:35
Titel: Lösen eines überbestimmten Gleichungssystems
|
|
|
|
|
Hallo,
ich habe folgenden Code geschrieben:
hiermit wird eine 4x4 Transformationsmatrix aufgestellt wobei alle Werte außer theta(i) definiert werden.
Nach aufstellen dieser Matrix soll sie nun in ein Gleichungssystem überführt werden:
wobei P ebenfalls eine 4x4 Matrix mit vorgegebenen Werten ist.
Die letzte Zeile ist wie bereits bei der Transformationsmatrix 0 0 0 1, liefert also nach Aufstellen der einzelnen Gleichungen nur wahre Aussagen.
Bleiben 12 Gleichungen mit im jetzigen Fall 5 unbekannten theta1 - theta5
Da es sich um nichtlineare Gleichungen handelt müssen diese ja numerisch gelöst werden (oder?)
also habe ich den Befehl fsolve verwendet:
soweit aktueller Stand.
Matlab gibt mir bei Ausführen des Programms folgende Fehlermeldung:
Warning: Trust-region-dogleg algorithm of FSOLVE cannot handle non-square systems; using Levenberg-Marquardt
algorithm instead.
> In fsolve at 303
In invkine at 14
Index exceeds matrix dimensions.
Error in C:\Program Files\MATLAB\R2012a\toolbox\shared\optimlib\finDiffEvalAndChkErr.p>finDiffEvalAndChkErr (line 26)
Error in C:\Program Files\MATLAB\R2012a\toolbox\shared\optimlib\finitedifferences.p>finitedifferences (line 128)
Error in levenbergMarquardt (line 87)
[JAC,~,~,numEvals,evalOK] = finitedifferences(XOUT,funfcn{3},[],[],[],costFun, ...
Error in fsolve (line 404)
[x,FVAL,JACOB,EXITFLAG,OUTPUT,msgData] = ...
Error in invkine (line 14)
theta = fsolve(@Glgsys_num_gui,theta0,options);
Kann mir jemand weiterhelfen wo grundsätzlich mein Fehler liegen könnte?
|
|
|
|
|
flashpixx |
Forum-Guru
|
|
Beiträge: 355
|
|
|
|
Anmeldedatum: 19.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.08.2012, 17:26
Titel:
|
|
|
|
hpsz66 |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: Kirn
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.08.2012, 19:07
Titel:
|
|
Da die Aufgabenstellung zu einem nichtlinearen überbestimmten Gleichungssystem führt, ist es möglicherweise sinnvoll die Aufgabe auch so von Anfang an etwas elementarer als System in der Form :
LS - RS = 0 | für alle Einzelgleichungen zu formulieren.
Eine elementare - aber gute Optim.-Methode kann mit Hilfe der Fitneß-Funktion gebildet werden (Literatur / Wikipedia). Diese ist zwar langsam, kann aber - gegenüber den meisten anderern Methoden ohne Derivate (Matrizen mit Differenzialoperatoren) bei guter Konvergenz arbeiten.
Der Schwerpunkt liegt hierbei nicht bei dem korrekten Handling (Matlab), sondern in der guten Schleifenprogram. und guter Parameterwahl.
( Gewichte und Bewertungsfunktion ((f(k)(vx))^1.4) )
zuzüglich einer Fehler-Nachkontrolle.
|
|
|
flashpixx |
Forum-Guru
|
|
Beiträge: 355
|
|
|
|
Anmeldedatum: 19.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.08.2012, 21:10
Titel:
|
|
|
|
|
hpsz66 hat Folgendes geschrieben: |
Eine elementare - aber gute Optim.-Methode kann mit Hilfe der Fitneß-Funktion gebildet werden (Literatur / Wikipedia). Diese ist zwar langsam, kann aber - gegenüber den meisten anderern Methoden ohne Derivate (Matrizen mit Differenzialoperatoren) bei guter Konvergenz arbeiten.
|
Das stimmt schon, aber Du möchtest das System mit einem genetischen Algorithmus lösen?
Aber langsam ist ein GA auch nicht, denn den kann man wirklich sehr schön parallelisieren.
Also wenn wir das jetzt als allgm. Optimierungsproblem auffassen, dann gibt es da noch einige andere Ansätze, obwohl ich wirklich das empfehle http://de.wikipedia.org/wiki/Ockhams_Rasiermesser
Zitat: |
Von mehreren möglichen Erklärungen ein und desselben Sachverhalts ist die einfachste Theorie allen anderen vorzuziehen.
Eine Theorie ist einfach, wenn sie möglichst wenige Variablen und Hypothesen enthält, die in klaren logischen Beziehungen zueinander stehen, aus denen der zu erklärende Sachverhalt logisch folgt.
|
|
|
|
|
|
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.
|
|