Softwareentwickler MATLAB/Simulink (w/m) Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLinkdSPACE GmbH - Paderborn
Verfasst am: 02.02.2012, 20:36
Titel: Probleme mit einer For-Schleife
Code:
for iComponent = 1:iNumComponents
sTickYahooFinance = rComponents(1,iComponent).Ticker;
vDateYahooFinance = datenum(rComponents(1,iComponent).Date);
vPriceYahooFinance = rComponents(1,iComponent).AdjClose;
for iTicker = 1:iNumTicker
sTickAcquisition = Ticker(iTicker,2);
ifstrcmp(sTickYahooFinance,sTickAcquisition) == 1
iDateAcquisition = vDateAcquisition(iTicker);
ind = find(vDateYahooFinance == iDateAcquisition);
vPrice = vPriceYahooFinance(ind-ExEvent:ind+PostEvent,1);
end end end
in vPrice möchte ich meine Endresultate auslesen. Die oben aufgeführte Schleife läuft bisher ca. 90x, jedoch werden die Daten in vPrice jedesmal überschrieben. Welcher Code ist notwendig, damit die Daten Spalte für Spalte ausgelesen werden, ich also am Ende 90 Spalten erhalte?
Ich habe es mit "vPrice(1,iTicker)" probiert, jedoch ohne Erfolg.
Ja, weil vPriceYahooFinance(ind-220:ind+190,1); kein Skalar ist!
Daunreal
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 02.02.2012, 23:18
Titel:
Und wie löse ich das ganze dann? Stehe gerade total auf dem Schlauch.
Ich möchte z.B. für 90 Events und einem DatenFenster von 5 Tagen Daten haben. Also 90 Spalten und 5 Zeilen, die sich das Script von YahooFinance zieht.
Hatte ich auch schon, dann kommt "Improper assignment with rectangular empty matrix"
Das komische ist auch, dass ich nun ne vPrice-Matrix, gefüllt mit NaN habe. Wenn ich den 1. Befehl weglasse, erscheinen in vPrice wenigstens noch die richtigen Aktienkurse der letzten durchlaufenden Schleife.
Daunreal
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.02.2012, 17:28
Titel:
Hat keiner eine Idee, wie man diesen Fehler beseitigt?
es ist sehr schwierig, dir bei deinem Code ohne Kenntnis der Parameter zu helfen. Im konkreten Fall müsste man wissen, wie ExEvent und PostEvent gewählt sind.
Das sinnvollste ist, wenn du mit dem Debugger bzw. im Workspace selbst nachprüfst, welche Größe der Ausdruck auf der rechten Seite hat (z.B. mit SIZE) und welche Größe der linke Ausdruck. Das sollte dir auch ermöglichen, das Problem selbst zu beheben.
Grüße,
Harald
Options and Permissions
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.