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

PID Optimierung mit fmincon

 

Malte
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 15.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2019, 09:33     Titel: PID Optimierung mit fmincon
  Antworten mit Zitat      
Hallo zusammen!

Ich bin neu hier im Forum und noch absoluter Matlab Anfänger.
Nun habe ich folgendes Problem: Ich möchte einen PID-Regler optimieren mithilfe der "fmincon" Funktion. Mein Programm soll jetzt die Werte K_R, T_I und T_D so einstellen, dass das Fehlerintegral (function J) möglichst klein wird.

Die Optimierung läuft mit meinem Code auch schonmal, nur möchte ich jetzt die drei Parameter auf einen Wertebereich (0 bis 5) eingrenzen. Weiß jemand wie ich das mit der fmincon Funktion anstellen kann?

Hier mein Code:
Code:
function HUE_A1()
global FS;
FS = tf([4 1],[5 5 1]);
p0 = [2 2 2];
 
[p,J] = fmincon(@guete, p0);
K_R = p(1)
T_I = p(2)
T_D = p(3)
FR = tf(K_R*[T_D*T_I T_I 1],[T_I T_I 0])
end

function G = geschl_Kreis(KR,TI,TD)
global FS;
FR = tf(KR*[TD*TI TI 1],[TI TI 0]);
O = series(FR,FS);
G = feedback(O, 1);
end

function J = guete(p)
global FS;
[y, t] = step(geschl_Kreis(p(1), p(2), p(3) ));
J = trapz(t, t .* abs(1-y));
end


Vielen Dank schonmal im Voraus und freundliche Grüße! Smile
Malte
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.05.2019, 21:28     Titel:
  Antworten mit Zitat      
Hallo,

lb und ub angeben, siehe Doku.

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 ;)
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.