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

Wenn ich einen Vektor einsetze kommt teilweise 0 raus?

 

Testname4617
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 12.06.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2019, 01:31     Titel: Wenn ich einen Vektor einsetze kommt teilweise 0 raus?
  Antworten mit Zitat      
Hallo, dies ist meine Funktion
Code:
function[price]=test2(x,t,T,r,sig,K,M)
n=normrnd(0,1,[1,M]);
s=0;
for m=1:M
    b=x.*exp((r-sig^2./2).*(T-t)+sig.*sqrt(T-t).*n(m))-K;
    if b>0
   s=s+b;
    end
end
price=s.*exp(-r.*(T-t))./M;
end


Ich will für t,T,r,sig,K und M feste Werte einsetzen und für x einen Vektor, damit ich die Funktion in Abhängigkeit von x zeichnen kann.
Ich hab versucht x=0:0.01:1 einzusetzen, dann kommt aber 0 raus!?!? Das hat mich sehr verwundert, wenn ich x=[1,2,3,4] einsetze kommt ein Vektor mit 4 Einträgen raus,
so wie ich das gerne hätte. Das hat mich sehr verwirrt. Kann mir jemand vielleicht weiter helfen?
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: 13.06.2019, 17:27     Titel: Re: Wenn ich einen Vektor einsetze kommt teilweise 0 raus?
  Antworten mit Zitat      
Hallo Testname4617,

Zitat:
Ich hab versucht x=0:0.01:1 einzusetzen, dann kommt aber 0 raus!?!?

Bitte poste den Code und erkläre genau, welche Variable 0 ist. "Dann kommt 0 raus" ist nicht klar genug. Im Titel steht dann noch "teilweise 0".

Wenn x ein Vektor ist, ist b auch einer, oder? Das kannst du leicht mit dem Debugger prüfen: Setze einen Breakpoint in die Zeile und gehe Zeile für Zeile durch den Code. Betrachte die Werte der Variablen z.B. im WorkSpace Browser.
Wenn b auch ein Vektor ist, wird in "if b > 0" automatisch dies ausgewertet:
Code:

Der if Befehl benötigt nämlich immer eine skalare Bedingung. Eventuell ist das aber für Deinen Input von x nicht der Fall und "es kommt 0 raus" - wo auch immer.

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