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

Dynamische Programmierung

 

sirrbouk
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 08.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.12.2015, 00:42     Titel: Dynamische Programmierung
  Antworten mit Zitat      
Hallo Leute;

Ich soll die Minimierung einer Trajektorie mit Hilfe des Ansatzes der Dynamischen Programmierung (Rückwärtsrechnung)lösen.

Problem Beschreibung: (Bitte Bild sehen)
Ich habe die t-Achse zerlegt (t_0, t_1,......t_9)
Bei t_9 habe ich das Maximum y_ende =5= constant
Bei T_8 muss ich das minimum suchen, dann geht man rückwärtig nach unten, d.h maximun bei t_8 ist y_ende ,dann y_ende + y_ende*1/9,.....bis zum letzen Punkt das minimum liegt bei y_ende+ 9*y_ende/9 =2 y_ende.

Nach diesem Prinzip muss ich für jede Teilproblem (t_8 bis t_1)das minimum rekursive suchen und dann die Summe als Große Problem rechnen und Plotten


Ich habe den folgenden Algorithmus (in Scilab kann auch in Matlab) versucht aber ich komme leide nicht zu weite, kann mir jemand hilfen:

Code:


t=linspace(0,0.05,10);
ye= max; // Randbedingung ye= max=5
y0=0;// Randbedingung

// Erste Schleife: Rechne das Minimum (von oben nach unten))einem Teilproblem bei t=t_8:
//ye=max;
//2*ye=min;
for k= 0:9; // ye+0, ye+ye*1/9,......,ye+ye*9/9  
         
    y(t)=ye*(1+k/9)  // rechne das Minimum
end

//zweite Schleife: Rechne das minimum jeder teilproblem von t_8 bis t_1

for m=8:-1:1;
    y(tm)= ye*(1+k/9); // DIESE GLEICHUNG STIMMT NICHT !!!!
end

// Dritte schleife: rechne summe des minimums gesamt Problem und plotte
 


Besten Danke

IMAG0298.JPG
 Beschreibung:

Download
 Dateiname:  IMAG0298.JPG
 Dateigröße:  2.16 MB
 Heruntergeladen:  758 mal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.12.2015, 10:56     Titel: Re: Dynamische Programmierung
  Antworten mit Zitat      
Hallo sirrbouk,

Code:
for k= 0:9
    y(t)=ye*(1+k/9)  // rechne das Minimum
end

for m=8:-1:1
    y(tm)= ye*(1+k/9); // DIESE GLEICHUNG STIMMT NICHT !!!!
end

Das Hauptproblem ist hier, dass in der ersten Schleife y(t) gar nicht vom Schleifen-Zähler k abhängt und in der zweiten Schleife der Inhalt sogar gar nicht von m abhängt. Bitte verbessere dies als erstes, damit der Programmcode lauffähig wird.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
sirrbouk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 08.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.12.2015, 06:14     Titel:
  Antworten mit Zitat      
Ich habe jetzt folgendes versucht

***Schleife Nr.1 mochte ich das Minimum meines ersten Teilproblems t8 rechnen ??

***Schleife Nr.2 mochte ich das minimum für jedes teilproblem

***Schleife Nr.3 MINIMUM SUMME ALLE TEILPROBLEM
Code:

t=linspace(0,0.05,10)
ymax=5;    // bei t9
y0=0;      // bei t0
for k= 0:9
        t8=ymax*(1+k/9)  // rechne das Minimum bei t8 (t8=Teilproblem)
end
for n=8:-1:1;
    tn=ymax*(1+k/9)    // rechne min von t8 bis t1 (von jede Teilproblem))
end

y(tn)= ymax*(1+k/9);  //  rechne Minimum Summe alle Teileproblem on t9 bis t0

for m=9:-1:0;
    S=y(tn)
end

//plot(tn,ymax)

 


MACHT DAS BITTE SINNE, ??? Beim Ploten bekomme ich nicht raus !!!

Liebe Grüße
Sirrbouk
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.