Why doesn't MATLAB plot?

8 visualizzazioni (ultimi 30 giorni)
Tiancong Sui
Tiancong Sui il 8 Ott 2013
Commentato: Tiancong Sui il 8 Ott 2013
stock = 100;
delta_t = 1 / 365;
volatility = 0.1;
for i = 1 : 5
stock = stock .* exp( volatility .* sqrt ( delta_t ) .* randn(1) );
disp( stock )
end
t = 1 : 5 plot(stock,t)
------------------------
Anyone could help please? Thank you
Tony

Risposta accettata

Wayne King
Wayne King il 8 Ott 2013
Modificato: Wayne King il 8 Ott 2013
You are not assigning the output stock to a vector, so you are just getting the latest result from the for loop.
stock = zeros(5,1);
delta_t = 1 / 365;
volatility = 0.1;
initstock = 100;
for ii = 1 : 5
stock(ii) = initstock .* exp( volatility .* sqrt ( delta_t ) .* randn(1) );
initstock = stock(ii);
end
t = 1:length(stock);
plot(t,stock)
  1 Commento
Tiancong Sui
Tiancong Sui il 8 Ott 2013
Thank you !!!!! I started to use Matlab 2 days ago and this is the first task for me, thank you for your great help!

Accedi per commentare.

Più risposte (1)

Tiancong Sui
Tiancong Sui il 8 Ott 2013
stock = 100;
delta_t = 1 / 365;
volatility = 0.1;
for i = 1 : 5
stock = stock .* exp( volatility .* sqrt ( delta_t ) .* randn(1) );
disp( stock )
end
t = 1 : 5
plot(stock,t)
--------------------
A better version, the one above is crumbled up.
  2 Commenti
Matthew Crema
Matthew Crema il 8 Ott 2013
I'm guessing you want to save the value of stock in each iteration of the for loop. Try:
for i = 2 : 5
stock(i) = stock(i-1) .* exp( volatility .* sqrt ( delta_t ) .* randn(1) );
disp( stock )
end
Tiancong Sui
Tiancong Sui il 8 Ott 2013
To Matthew, thank you! yes you are right, I was trying to do the iteration. Thanks you!

Accedi per commentare.

Categorie

Scopri di più su Graphics Objects in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by