市民工学科 令和5年度 数値計算実習(第3回その4)

令和5年 10月13日(木) 3限目 15:10〜16:40


←その 3 にもどる

2.3 乱数を発生させよう


\(Scilab\ \)では,「乱数(\(Random\ Numbers\))」を発生させることができます.


数値計算において乱数とは,「\(\ 0 〜 1\ \)で一様に分布する確率変数の値」を意味します.これを特に「一様乱数」と呼びます.簡単に言うと,\(\ 0\ \)から\(\ 1\ \)の間で"でたらめな"値がどれも等確率で出現することを意味します.

一様乱数を発生させるコマンドは「\(\ \mbox{rand}\ \)」です.

乱数を\(\ 10\ \)個発生させるプログラム
for i=1:10 do
rand
end

参考までに,\(\mbox{rand}(2, 2)\ \)とすると,\(2\ \)×\(\ 2\ \)行列のすべての要素が乱数の値となるようなかたちで一様乱数が発生します.


このように,ただ乱数を発生させるだけではつまらないので,それをグラフにしてみましょう.

ただし,次のコマンドは,これまでのように エディタ\(\ SciNotes\ \)上から記述するのではなく,\(Scilab\ \)のコンソール画面上から直接入力してみましょう.


※ はじめに「\(\ \mbox{clear}\ \)」を実行するのは,古い変数の値をクリアするためです.また,「\(\ \mbox{clf}\ \)」を実行するのは,古いグラフをクリアするためです.


その\(\ 1\ \)では,乱数を\(\ 1,000\ \)個発生させて,それを折れ線グラフで描画します.

その\(\ 2\ \)では,乱数を\(\ 1,000\ \)個×\(\ 2\ \)組発生させて,それを平面上に散布図として描画します.

乱数をグラフで出力(その 1)
-->clear
-->clf
-->plot(rand(1,1000))


乱数をグラフで出力(その 2)
-->plot(rand(1,1000),rand(1,1000),'.')



3.レポート課題


第\(\ 3\ \)回のレポートの課題を示します.

第\(\ 3\ \)回レポート課題

株価変動のモデルとして,以下のようなものを考えたとしよう.

「ある日の株価は,前の日の株価に『−\(0.5\ \)から\(\ 0.5\ \)までの一様乱数』を加えることによって得られる」

このモデルに従う株価の動きをグラフで描画するためのプログラムを作成せよ.

ヒント:

x=0;
for i=1:100 do
dx = rand(1,1) - 0.5;
?????????????
x=x+dx end
※ 「 ???? 」には, plot 文が入ります." clf "を使わない限り, plot 文は前のグラフに上書きしてくれます.このことを利用しましょう. また, plot 文で(i-1, x) から (i, y) までを直線でつなぐには, plot( [i-1,i], [x,y] ) としましょう.

4.レポート提出方法


BEEFよりプログラムを提出してください.メールにベタ打ちで結構です.締め切りは10/16のa.m. 8:50分


本日の演習はこれでおわりです.次回は10月16日(月)になります.