标准库随机数
% 返回0~1中均匀分布
rand() %返回一个数
rand(n) %返回n*n方阵
rand(m, n) %返回m*n方阵
%返回标准正态分布,含义与上述相同
randn()
randn(n)
randn(m, n)
%返回整数均匀分布(包括上线下线)
randi([5, 10], m, n)
randi(5, m, n) % 相当于randi([1, 5], m, n)
statistics and machine learning toolbox中的随机数
分布构造
%在生成随机数之前需要优先构造相应的概率分布
%第一个参数指定要生成什么样的分布,后面指定该分布的参数
pd = makedist(distname,parameter, parameterValue);
%常用分布构造
pd = makedist('Binomial','N',10,'p',0.5) % N=1时就是bernoulli分布
pd = makedist('Multinomial', 'Probabilities', [0.1,0.2,0.3,0.4])
pd = makedist('Normal', 'mu',0,'sigma',1)
pd = makedist('Poisson', 'lambda', 1)
pd = makedist('Uniform', 'Lower',0,'Upper',1)
%其余可用分布在makedist函数中查询即可
分布拟合
% 用数据拟合概率分布,第一个参数指定数据, 第二个数据指定需要拟合分布
pd = fitdist(x, 'Normal')
分布的属性
% 用构造或者拟合的方法构造一个分布对象
pd = makedist(distname,parameter, parameterValue);
pd.cdf % 累积分布函数
pd.pdf % 概率密度函数
pd.mean % 均值
pd.median % 中位数
pd.std % 标准差
pd.var % 方差
pd.random(m, n) % 生成该分布组成的m*n矩阵