LabVIEWForum.de - Minimumsuch algorithmus

LabVIEWForum.de

Normale Version: Minimumsuch algorithmus
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Freunde,

das ist mein erster Beitrag hier. Ich bin kompletter LabView neuling und würde mich sehr über Eure Hilfe freuen.

Und zwar würde ich gern einen Minimumsuchalgorithmus implementieren.

Ich habe eine Messgröße und eine Stellgröße mit der ich auf das System rückwirken kann. Die Messgröße will ich minimieren indem ich die Stellgröße dementsprechend variire. Ich dachte an ein Gradientensuchverfahren der mir die Steigung aus letztem und aktuellem Messwert berechnet und die Stellgröße dementsprechend verändert. Gibt es sowas in der Richtung schon als fertigen Baustein von Labview?

Also das ganze soll online funktionieren, dh ich bekomme jede Sekunde einen Messwert und durch verändern der Stellgröße soll dieser Messwert minimiert werden. Gibt es da irgendwas oder kann mir jemand helfen? Eventuell gibt es noch andere Minimumsuchalgorithmen mit variabler Schrittweite die ich anwenden könnte.

Ich bin über jede Hilfe dankbar.

Ich wünsche noch einen schönen Tag und bedanke mich schon jetzt für die zahlreichen Antworten.
Hallo Mario,

das hört sich nach einer Aufgabe für einen (PID-)Regler an. Da gibt es ein ganzes Toolkit für...
Ein normale Regelung hat die Aufgabe, dass der Istwert (bei dir: Messgröße) möglichst genau und schnell einem (veränderlichen) Sollwert folgen soll, und/oder daß unter dem Einfluß veränderlicher Störgrößen in der Regelstrecke der Messert (Istwert) konstant gehalten werden soll.
Was Du beschreibst, ist etwas Anderes als eine normale Regelung, was aber nicht ausschließt, dass es eine sinnvolle und lösbare Aufgabenstellung ist.
Aber so ganz allgemein, ohne das geringste Wissen über die Systemeigenschaften der Regelstrecke, lässt sich dazu gar nichts sagen...
Vielen Dank für die Antworten. Wie lucki schon schrieb ist es mit einem normalen PID Regler nicht getan, da ich das Minimum ja nicht kenne und somit auch keinen Sollwert als Führungsgröße vorgeben kann. Wahrscheinlich ist es eher ein mathematisches Problem, als ein Labview spezifisches Problem, aber ich dachte mir vielleicht hatte schon mal jemand ein ähnliches Problem und kann mir helfen.

Im Grunde kann man sich das ganze so vorstellen. Jede Sekunde kommt ein Messwert und dieser soll aufgezeichnet werden. Jetzt gibt es vier Fälle:

Wurde im letzten Schritt die Ausgangsgröße erhöht und der Messwert hat gegenüber dem Messwert im letzten Schritt zugenommen soll die Ausgangsgröße verringert werden, da ja der Messwert ein Minimum darstellen soll.

Wurde im letzten Schritt die Ausgangsgröße erhöht und der Messwert hat abgenommen soll die Ausgangsgröße weiter erhöht werden.

Wurde im letzten Schritt die Ausgangsgröße verringert und hat der Messwert zugenommen soll die Ausgangsgröße erhöht werden.

Wurde im letzten Schritt die Ausgangsgröße verringert und hat der Messwert abgenommen soll die Ausgangsgröße weiter verringert werden.

Dies ist nur ein ganz einfacher Ansatz (Gradientenverfahren) und ich dachte eventuell gibt es für folgendes Problem einen Algorithmus, welcher eventuell auch die Schrittweite variabel berechnet. Eventuell kann mir jetzt jemand helfen oder musste so ein Problem eventuell schon selbst lösen.

Vielen Dank
Hi
was hälst Du in Deinem Fall vom Einsatz von Fuzzy-Logik?
Das kannst Du den Regelsatz, den Du beschrieben hast, einfach linguistisch angeben und die linguistischen Variablen auf die entsprechenden Werftenbereiche abbilden. Möglicherweise musst Du vor- und nachher noch eine Tranformation anfügen.

Das Fuzzy-Tool in dem PID-Toolkit enthalten.

Gruß Holger
Stimmt vielen dank dass ich da nicht selbst drauf gekommen bin. Wo genau ist diese Fuzzy Toolbox zu finden?
Sieh mal hier.

Gruß Holger
Vielen Dank ich werde mal versuchen ob ich es so hinbekomme wie ich mir das vorstellte. Sonst melde ich mich nochmal.

Vielen Dank für die tollen tipps.
Referenz-URLs