简单思想
蒙特卡洛模拟是在计算机上模拟项目实施了成千上万次,每次输入都随机选择输入值。由于每个输入很多时候本身就是一个估计区间,因此计算机模型会随机选取每个输入的该区间内的任意值,通过大量成千上万甚至百万次的模拟次数,最终得出一个累计概率分布图,这个就是蒙特卡洛模拟。
定义
Matlab
Matlab产生随机数
rand(m,n)
函数产生由在[0,1]之间均匀分布的随机数组成的m行n列的矩阵(或称为数组)。- [a,b]之间均匀分布的随机数组成的m行n列的矩阵
a + rand(m,n)*(b-a)
unifrnd(a,b,m,n)
- [a,b]内随机取出大小为m*n的整数矩阵
randi([a,b],m,n)
- 生成一个服从正态分布(MU参数代表均值,SIGMA参数代表标准差,方差开根号是标准差)的随机数
normrnd(MU,SIGMA)
- 生成一个均值为M的指数分布随机数(其对应的参数为 λ = 1 / M \lambda=1/M λ=1/M)
exprnd(M)
- 剔除一个矩阵或者向量的重复值,并将结果按照从小到大的顺序排列
unique()
unique([1 2 5; 6 8 9;2 4 6])
结果
1
2
4
5
6
8
9
- 生成一个1-m组成的随机序列
randperm(m)
记录运行时间
tic
函数和toc
函数可以用来返回代码运行的时间
例如我们要计算一段代码的运行时间,就可以在这段代码前加上tic
,在这段代码后加上toc
显示长数字格式
讲Matlab计算的结果显示为长数字格式
format long g
连接点的画线段
plot([1,2,6],[5,10,15],'-o') % 两个数组分别记录点的横纵坐标,依次画出线段
text(2,10,'文本') % 在坐标(1,5)处标上文本