没有合适的资源?快使用搜索试试~ 我知道了~
matlab函数总结.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 31 浏览量
2022-11-12
22:17:04
上传
评论
收藏 235KB DOCX 举报
温馨提示
试读
32页
。。。
资源推荐
资源详情
资源评论
目录
一、 随机数.................................................................................... 1
收益率函数
ret=price2ret(P(:,2));%收益率函数要记住
hist(ret,30)
对数收益率:retn=log(close(2:end))-log(close(1:end-1));
一、随机数
Matlab 中有两个最基本生成随机数的函数。
1.rand()
生成(0,1)区间上均匀分布的随机变量。基本语法:
rand([M,N,P...])
生成排列成 M*N*P... 多维向量的随机数。如果只写 M,则生成 M*M 矩阵;如果参数为[M,N]
可以省略掉方括号。一些例子:
rand(5,1)% 生成 5 个随机数排列的列向量,一般用这种格式
rand(5)% 生成 5 行 5 列的随机数矩阵
rand([5,4])% 生成一个 5 行 4 列的随机数矩阵
x=rand(100000,1);
hist(x,30);
由此可以看到生成的随机数很符合均匀分布。(视频教程会略提及 hist()函数的作用)
2.randn()
生成服从标准正态分布(均值为 0,方差为 1)的随机数。基本语法和 rand()类似。
randn([M,N,P...])
生成排列成 M*N*P... 多维向量的随机数。如果只写 M,则生成 M*M 矩阵;如果参数为[M,N]
可以省略掉方括号。一些例子:
randn(5,1)% 生成 5 个随机数排列的列向量,一般用这种格式
randn(5)% 生成 5 行 5 列的随机数矩阵
randn([5,4])% 生成一个 5 行 4 列的随机数矩阵
生成的随机数大致的分布。
x=randn(100000,1);
hist(x,50);
如果你安装了统计工具箱(StatisticToolbox) ,除了这两种基本分布外,还可以用 Matlab
内部函数生成符合下面这些分布的随机数。
unifrnd(a,b,[M,N,P,...])
生成的随机数区间在(a,b)内,排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;
如果参数为[M,N]可以省略掉方括号。一些例子:
x=unifrnd(-2,3,100000,1);
hist(x,50);
和 randn()类似,此函数生成指定均值、标准差的正态分布的随机数。基本语法
normrnd(mu,sigma,[M,N,P,...])
生成的随机数服从均值为 mu,标准差为 sigma(注意标准差是正数)正态分布,这些随机
数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为[M,N]可以省略
掉方括号。一些例子:
x=normrnd(2,3,100000,1);
hist(x,50);
如图,上半部分是由上一行语句生成的均值为2,标准差为 3 的 10 万个随机数的大致分布,
下半部分是用小节“randn()中”最后那段语句生成 10 万个标准正态分布随机数的大致分布。
注意到上半个图像的对称轴向正方向偏移(准确说移动到x=2 处),这是由于均值为 2 的
结果。
而且,由于标准差是 3,比标准正态分布的标准差(1)要高,所以上半部分图形更胖(注意
x 轴刻度的不同)。
此函数生成服从卡方(Chi-square)分布的随机数。卡方分布只有一个参数:自由度v。基本
语法
生成的随机数服从自由度为 v 的卡方分布,这些随机数排列成 M*N*P... 多维向量。如果只
写 M,则生成 M*M 矩阵;如果参数为[M,N]可以省略掉方括号。一些例子:
x=chi2rnd(5,100000,1);
hist(x,50);
6.frnd()
生成的随机数服从参数为(v1,v2)的卡方分布,这些随机数排列成 M*N*P... 多维向量。如果
只写 M,则生成 M*M 矩阵;如果参数为[M,N]可以省略掉方括号。一些例子:
x=frnd(3,5,100000,1);
hist(x,50);
从结果可以看出来, F 分布集中在 x 正半轴的左侧,但是它在极端值处也很可能有一些取
值。
7.trnd()
此函数生成服从 t(Student'stDistribution ,这 里 Student 不是学生的意思,而是 Cosset.W.S.
的笔名)分布的随机数。t 分布有 1 个参数:自由度 v。基本语法
trnd(v,[M,N,P,...])
生成的随机数服从参数为 v 的 t 分布,这些随机数排列成 M*N*P... 多维向量。如果只写 M,
则生成 M*M 矩阵;如果参数为[M,N]可以省略掉方括号。一些例子:
trnd(7,5,1)% 生成 5 个随机数排列的列向量,一般用这种格式
trnd(7,5)% 生成 5 行 5 列的随机数矩阵
trnd(7,[5,4])% 生成一个 5 行 4 列的随机数矩阵
%注:上述语句生成的随机数所服从的参数为(v=7)的 t 分布
生成的随机数大致的分布。
x=trnd(7,100000,1);
hist(x,50);
可以发现 t 分布比标准正太分布要“瘦”,不过随着自由度 v 的增大,t 分布会逐渐变胖,当
自由度为正无穷时,它就变成标准正态分布了。
接下来的分布相对没有这么常用,同时这些函数的语法和前面函数语法相同,所以写得就简
略一些——在视频中也不会讲述,你只需按照前面那几个分布的语法套用即可,应该不会有
任何困难——时间足够的话这是一个不错的练习机会。
此函数生成服从Beta 分布的随机数。Beta 分布有两个参数分别是A 和 B。下图是 A=2,B=5 的
beta 分布的 PDF 图形。
此函数生成服从指数分布的随机数。指数分布只有一个参数:mu, 下图是 mu=3 时指数分布
的 PDF 图形
生成指数分布随机数的语法是:
betarnd(mu,[M,N,P,...])
10.gamrnd()
生成服从 Gamma 分布的随机数。Gamma 分布有两个参数:A 和 B。下图是 A=2,B=5Gamma
分布的 PDF 图形
生成服从对数正态分布的随机数。其有两个参数:mu 和 sigma,服从这个这样的随机数取
对数后就服从均值为 mu,标准差为 sigma 的正态分布。下图是 mu=-1,sigma=1/1.2 的对数
正态分布的 PDF 图形。
生成对数正态分布随机数的语法是:
lognrnd(mu,sigma,[M,N,P,...])
12.raylrnd()
生成服从瑞利(Rayleigh)分布的随机数。其分布有 1 个参数:B。下图是 B=2 的瑞利分布
的 PDF 图形。
生成瑞利分布随机数的语法是:
raylrnd(B,[M,N,P,...])
生成服从威布尔(Weibull)分布的随机数。其分布有2 个参数:scale 参数 A 和 shape 参
数 B。下图是 A=3,B=2 的 Weibull 分布的 PDF 图形。
还有非中心卡方分布(ncx2rnd),非中心 F 分布(ncfrnd),非中心 t 分布(nctrnd),括号中是
生成服从这些分布的函数,具体用法用:
查找。
14.unidrnd()
此函数生成服从离散均匀分布的随机数。Unifrnd 是在某个区间内均匀选取实数(可为小数
或整数),Unidrnd 是均匀选取整数随机数。离散均匀分布随机数有 1 个参数:n, 表示从{1,
2,3,...N} 这 n 个整数中以相同的概率抽样。基本语法:
unidrnd(n,[M,N,P,...])
这些随机数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为[M,N]
可以省略掉方括号。一些例子:
可见,每个整数的取值可能性基本相同。
15.binornd()
此函数生成服从二项分布的随机数。二项分布有2 个参数:n,p。考虑一个打靶的例子,每
枪命中率为 p,共射击 N 枪,那么一共击中的次数就服从参数为(N,p)的二项分布。注意
p 要小于等于 1 且非负,N 要为整数。基本语法:
binornd(n,p,[M,N,P,...])
剩余31页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6452
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功