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

Schleifen Ergebnisse in Variable/Tabelle Speichern

 

D0nJuAn
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 05.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.03.2012, 16:43     Titel: Schleifen Ergebnisse in Variable/Tabelle Speichern
  Antworten mit Zitat      
Hallo ich bin absoluter Anfänger und habe ein Problem. Ich muss Zwecks einer Portfolio Optimierung Optimale Anteile von Wertpapieren am Portfolio berechnen.

Die Berechnung soll solange durch eine While schleife laufen bis die Zielrendite des Portfolios ZR den Wert 0.8 erreicht Das Ergebnis ist pro Durchlauf ein 4x1 Vektor

Code:
A=RWPEins'*Vinv*RWPEins; %Informationsmatrix
Ainv=A^-1;
ZR=-0.05;
max=0.8
Iter=0.01;
while ZR<max,
        xp=Vinv*RWPEins*Ainv*[ZR;1], %Berechnung speichern in Variable Xp
        ZR=ZR+Iter;
end


Mein Problem ist das im Command Window die einzelen Berechnungen korrekt angezeigt werden, jedoch wird in der Variable NUR der letzte Vektor gespeichert. D.Hdas Ergebnis wird permanent überschrieben.

Wie kann ich xp so definieren, dass ich ALLE Ergebnisse immer in der nächsten Spalte haben wie ich das von Excel kenne (Matrix)? Ich find auch keine Quellen oder Tutorials die mir irgendwie weiterhelfen ...

Vielen Vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 05.03.2012, 17:00     Titel:
  Antworten mit Zitat      
Code:
A=RWPEins'*Vinv*RWPEins; %Informationsmatrix
Ainv=A^-1;
ZR=-0.05;
max=0.8 ;
Iter=0.01;
xp=nan(4,(max-ZR)/Iter)
k=1;
while ZR<max,
        xp(:,k)=Vinv*RWPEins*Ainv*[ZR;1];
k=k+1;
        ZR=ZR+Iter;
end  
 


Zitat:
Ich find auch keine Quellen oder Tutorials die mir irgendwie weiterhelfen
denke das sollte im grundlagen tutorial enthalten sein.
Private Nachricht senden Benutzer-Profile anzeigen
 
D0nJuAn
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 05.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.03.2012, 18:32     Titel:
  Antworten mit Zitat      
WOW! Das ging schnell super. Vielen Vielen Dank ich werd mich hier mal umschauen müssen. Mir drückt da zeitlich echt der Schuh, dass Forum scheint echt gut zu sein.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 06.03.2012, 12:30     Titel:
  Antworten mit Zitat      
Hallo D0nJuAn,

Noch ein Ratschlag:
Vermeide die Verwendeung von "max" als Variablennamen, denn danach kann man nicht mehr auf den Befehl "max" zugreifen:
Code:

x = [3,1,2]
max(x)
max=[6,9,8]
max(x);

das führt immer wieder zu großen Verwirrungen.

Gruß, Jan
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 - 2025 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.