Why doesn't MATLAB plot?

8 vues (au cours des 30 derniers jours)
Tiancong Sui
Tiancong Sui le 8 Oct 2013
Commenté : Tiancong Sui le 8 Oct 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

Réponse acceptée

Wayne King
Wayne King le 8 Oct 2013
Modifié(e) : Wayne King le 8 Oct 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 commentaire
Tiancong Sui
Tiancong Sui le 8 Oct 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!

Connectez-vous pour commenter.

Plus de réponses (1)

Tiancong Sui
Tiancong Sui le 8 Oct 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 commentaires
Matthew Crema
Matthew Crema le 8 Oct 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 le 8 Oct 2013
To Matthew, thank you! yes you are right, I was trying to do the iteration. Thanks you!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Graphics Objects dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by