Ich hoffe, dass ich es verständlich beschrieben habe.
Das vorherige war für mich nicht verständlich. Falls das folgende aber das gleiche sein soll... das lässt sich leicht als lineare Ungleichung A * x <= b umsetzen mit:
Falls du schon lineare Ungleichungen hast, kannst du die neuen unter die bestehenden hängen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
dass mit den Ungleichungen hab ich nicht ganz verstanden. Kann daran liegen, dass mein Eingangspost so allgemein geschrieben war.
Aber ich bin mir auch nicht ganz sicher, ob ich lsqlin richtig verwende. Da bin ich mir im englischen, und in der Übersetzung doch sehr unsicher. Ich poste einfach mal meinen
Ich lese die Daten aus einem Excelfile ein. Einige skalare Werte und manche sind eigentlich binär (Spalte 8, 9, 10, 11 und 13, 14). Die Binärwerte repräsentieren eine Klassenzugehörigkeit.
lsqlin liefert die Ergebnisse in Faktor ja entsprechend lb und ub. Aber eigentlich möchte ich bei den klassierten Daten nur die Obergrenze und die Untergrenze festlegen und das Ergebnis soll eben zusätzlich der Bedingung folgen (Faktor3>Faktor4>Faktor5>Faktor6) und (Faktor7<Faktor8<Faktor9<Faktor10) sowie (Faktor11<Faktor12).
Sollte sich das mit deiner ersten Antwort schon bewerkstelligen lassen, tut es mir leid, aber ich checks gerade nicht. Sorry!
ob du das richtig anwendest, kann ich nicht beurteilen, weil ich nicht weiß, welches Optimierungsproblem du letztlich lösen willst. Das Aufstellen von C und d erscheint mir aber etwas umständlich. Lässt sich evtl. auch direkt durch Matrixmultiplikation o.
ä. lösen.
Zitat:
(Faktor3>Faktor4>Faktor5>Faktor6) und (Faktor7<Faktor8<Faktor9<Faktor10) sowie (Faktor11<Faktor12).
Das sind alles lineare Ungleichungen, z.B.
Faktor3>Faktor4 --> Faktor3 - Faktor4 < 0 --> 1*Faktor3 + (-1)*Faktor4 < 0,
und diese Zeile in die linearen Ungleichungen aufnehmen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Ich möchte ein Programm einstellen, das anhand verschiedener Größen die Rüstzeit eines CNC-Bearbeitungszentrums abschätzt.
Die Ungleichungen habe ich wie in deinem ersten Post aufgebaut, hoffentlich richtig. Für die Bedingungen habe ich die Daten so umstrukturiert, dass es immer auf ein ">" hinausläuft.
Code:
A = [00-1100000000; 000-110000000; 0000-11000000;...
000000-110000; 0000000-11000; 00000000-1100;...
0000000000-11];
Die Ergebnisse gehorchen auch den Bedingungen, allerdings sind sie nicht so, wie ich es erwartet hatte. Durch die zusätzliche Einbindung der klassierten Daten hatte ich mir geringere Abweichungen erhofft, aber es ist eher anders herum.
Für die Bedingungen habe ich die Daten so umstrukturiert, dass es immer auf ein ">" hinausläuft.
Es muss aber immer < bzw. <= sein, siehe Doku von lsqlin.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
ich weiß zwar nicht, was der Sinn dieses Umschreibens ist, aber solange es dir weiterhilft...
Grüße,
Harald
In meinem Beitrag von 24.11., 17:21 ist im übrigen ein Fehler bei der Umformung:
Faktor3>Faktor4 --> -Faktor3 + Faktor4 < 0 --> 1*Faktor3 + (-1)*Faktor4 < 0
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
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.