Why doesn't MATLAB plot?

8 ビュー (過去 30 日間)
Tiancong Sui
Tiancong Sui 2013 年 10 月 8 日
コメント済み: Tiancong Sui 2013 年 10 月 8 日
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

採用された回答

Wayne King
Wayne King 2013 年 10 月 8 日
編集済み: Wayne King 2013 年 10 月 8 日
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 件のコメント
Tiancong Sui
Tiancong Sui 2013 年 10 月 8 日
Thank you !!!!! I started to use Matlab 2 days ago and this is the first task for me, thank you for your great help!

サインインしてコメントする。

その他の回答 (1 件)

Tiancong Sui
Tiancong Sui 2013 年 10 月 8 日
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 件のコメント
Matthew Crema
Matthew Crema 2013 年 10 月 8 日
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 2013 年 10 月 8 日
To Matthew, thank you! yes you are right, I was trying to do the iteration. Thanks you!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGraphics Objects についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by