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

Neuling braucht Hilfe :)

 

Flexomat
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2011, 16:33     Titel: Neuling braucht Hilfe :)
  Antworten mit Zitat      
Hallo Smile

Ich bin ein absoluter Matlab Neuling Smile
Könnt ihr mir bitte sagen, woran das liegt, dass folgende Schleife nicht funktioniert?
Das wäre super! Danke schonmal Smile

Code:
for i=1:31

    cov0809(i) = cov(Rendite(85:108,1),Rendite(85:108,i));

end
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

woraus schließt du, dass diese Schleife nicht funktioniert?
Die Fehlermeldung (falls es eine gibt) ist immer hilfreich.

Das Problem dürfte sein, dass cov die Kovarianzmatrix (in dem Fall 2x2) zurückgibt, du aber versuchst, diese Matrix in ein Element zu schreiben.

Versuchs mal so:
Code:
for i=1:31
    temp = cov(Rendite(85:108,1),Rendite(85:108,i));
    cov0809(i) = temp(1,2);
end


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Flexomat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2011, 17:52     Titel:
  Antworten mit Zitat      
Super Danke!!!!!!!
Hat direkt funktioniert Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Flexomat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2011, 18:10     Titel:
  Antworten mit Zitat      
Ich nochmal Smile

Code:
c = regress(rend_4, rend_1)
xvar = [ones(120,1) rend_1]
[c,stats]=regress(rend_4, xvar)
x=-5:0.0001:5;
y1 = c(2,1)*x+c(1,1);

%BASF

plot(rend_1,rend_4,'.b')
hold on
plot(y1,x,'k')
grid on
xlabel('Monatsrendite des DAX')
ylabel('Monatsrendite BASF')
axis ([-0.3 0.2 -0.4 0.3])


Kann mir jemand sagen was da schief läuft? bekomme keinen fehler und er zeichnet die regressions-gerade, aber leider falsch.
Danke schonmal Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.06.2011, 19:01     Titel:
  Antworten mit Zitat      
Hallo,

du willst wahrscheinlich x auf die x-Achse und y1 auf die y-Achse plotten? Also die beiden vertauschen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Flexomat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2011, 20:44     Titel:
  Antworten mit Zitat      
ui genau das wars! Smile
Vielen lieben Dank!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Flexomat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.06.2011, 18:17     Titel:
  Antworten mit Zitat      
Hallo ich mal wieder Smile

Hab da wieder ein kleines Problem, irgendwie blicke ich bei den for-Schleifen noch nich so durch Smile

Code:
for i= 1:18
   
    varDax9310(i) = var(DAX(399:12:614));

end


Ich hätte gerne die Varianzen für die letzten 18 Jahre in einem Vektor, allerdings bekomme ich 18 gleiche Varianzen. Da muss ich bestimmt noch irgendwie ein i einbauen, oder? Ich komm leider selbst nicht drauf wo der Fehler liegt Sad
Wenn mir nochmal jemand helfen könnte wäre das super Smile
Danke schonmal!
lieben Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 19.06.2011, 19:31     Titel:
  Antworten mit Zitat      
links vom Gleichheitszeichen ist dein Zielvektor der 18 Elemente groß ist...rechts davon dein Quellvektor. Hier holst du immer wieder das selbe Element mit dem Index (399:12:614). Du musst nun das i dort hinsetzen wo deine gewünschten/gesuchten Varianzen liegen z.B. (1,1:i). Das ist ja hier nicht ersichtlich wo die Jahre angelegt sind Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Flexomat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.06.2011, 19:38     Titel:
  Antworten mit Zitat      
hmm... also das sind ja Monatsdaten, deshalb wollte ich mit 399:12:614 ausdrücken vom Punkt 399 in 12er Schritten bis 614 (sind dann 18 Jahre) die Varianzen. geht das so nicht??
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 19.06.2011, 19:46     Titel:
  Antworten mit Zitat      
Das heißt dax ist auch nur ein Spalten- oder Zeilenvektor?

... var(dax(399+(12*i)))

es beginnt dann aber bei 411 und endet aber bei 615 Wink

Edit: ich stand etwas auf dem Schlauch

Code:

for i= 1:18
     varDax9310(i) = var(DAX(399+(12*(i-1)):399+(12*i));      
end
 


Zuletzt bearbeitet von DSP am 19.06.2011, 20:11, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Flexomat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.06.2011, 20:11     Titel:
  Antworten mit Zitat      
Also wenn ich folgendes eingebe scheint es zu klappen:

Code:
for i= 1:18
   
    varDax9310(i) = var(DAX(398+(12*i):12:614));

end


nur bekomme ich für den letzten Wert 0... woran kann das liegen?
Danke schonmal für die Antwort, ich fühle mich der Lösung schon viel näher Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 19.06.2011, 20:19     Titel:
  Antworten mit Zitat      
Ich war etwas schwer von begriff...ich hoffe die Änderung hilft dir jetzt weiter Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Flexomat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2011, 18:38     Titel:
  Antworten mit Zitat      
Hallo nochmal Smile

Ja hat mir schonmal sehr geholfen, dankeschön Smile

Jetzt habe ich folgendes Problem: Es kommt ein Output, aber die Werte sind seltsam...

Code:

for i= 1:18
     varDax9310(i) = var(DAX(398+(12*(i-1)):398+(12*i)));      
end

for i=1:18
    temp = cov(DAX(398+(12*(i-1)):398+(12*i)),BAY(6+(12*(i-1)):6+(12*i)));
    cov9310(i) = temp(1,2);
end

for i = 1:18
   
beta9310(i) = cov9310(i)/varDax9310(i);
end

beta9310 = beta9310';



is das so richtig?? danke schonmal ihr seid echt klasse!
gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 20.06.2011, 19:01     Titel:
  Antworten mit Zitat      
Und was ist seltsam...die Covarianz oder die Varianz des Dax? Wir haben doch deine Daten nicht Wink

Die Letzten Zeilen könnte man auch vereinfachen...aber das ändert ja nichts an der Rechnung

Code:

beta9310 = (cov9310./varDax9310)';
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Flexomat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2011, 17:02     Titel:
  Antworten mit Zitat      
Die Betafaktoren sind seltsam... Aber ich glaube dass die -berechnung der Varianzen und Kovarianzen so stimmen müsste, also sind sie wahrscheinlich doch Richtig...

was anderes Smile
weiß jemand wie ich eine hyperbel in ein Diagramm zeichnen kann, und zwar durch bestimmte Punkte??
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.