Matlab 概率分布

Poisson分布
概率密度函数 poisspdf(x,lamda)
分布函数poisscdf(X,lamda)
逆概率分布函数poissinv(F,lamda)

x=[0:15]';
y1=[];
y2=[];
lam1=[1,2,5,10];
for i=1:length(lam1)
    y1=[y1,poisspdf(x,lam1(i))];
    y2=[y2,poisscdf(x,lam1(i))];
end
plot(x,y1), figure; plot(x,y2)

正态分布
y=normpdf(x,mu,row)
F=normcdf(x,mu,row)
x=norminv(F,mu,row)

x=[-5:.02:5]';
y1=[]; y2=[];
mu1=[-1,0,0,0,1];
sig1=[1,0.1,1,10,1];
sig1=sqrt(sig1);
for i=1:length(mu1)
   y1=[y1,normpdf(x,mu1(i),sig1(i))];
   y2=[y2,normcdf(x,mu1(i),sig1(i))];
end
plot(x,y1);
figure;
plot(x,y2)

gamma 分布
y=gampdf(x,a,lamda)
F=gamcdf(x,a,lamda)
x=gaminv(F,a,lamda)

x^2 分布
y=chi2pdf(x,k)
F=chi2cdf(x,k)
x=chi2inv(F,k)

T分布
y=tpdf(x,k)
F=tcdf(x,k)
x=tinv(F,k)

Rayleigh分布
y=raylpdf(x,b)
F=raylcdf(x,b)
x=raylinv(x,b)

F分布
y=fpdf(x,a,b)
F=fcdf(x,a,b)
x=finv(F,a,b)

随机数发生器 rand randn函数
此类函数均为随机数发生器,每次调用时将返回不同的随机数组。实际上这些表面上看来是随机的数是通过确定的数学算法生成的,所以rand这类函数又称为伪随机数生成器(pseudorandom number generators)。
x= rand(n,m)        产生(n×m)维的[0,1]区间均匀分布随机数组
正态分布随机数:满足标准正态分布随机数N(0,1)可由randn( )函数得出,其调用格式与rand( )完全一致。

其它随机数发生器:
A=gamrnd(a,lamda,n,m) %生成n*m的gamma分布伪随机数矩阵    
B=chi2rnd(k,n,m)                x^2分布
C=trna(k,n,m)                    T分布
D=frnd(p,q,n,m)                  F分布
E=raylrnd(b,n,m)                 rayleigh 分布

求向量各个元素的均值、方差和标准差:
m=mean(x),s2=var(x),s=std(x)

p=normrnd(0.5,1.5,30000,1);
[mean(p), var(p), std(p)]

gamma 分布的均值
syms x;
syms a lam positive
%p为gamma分布
p=lam^a*x^(a-1)/gamma(a)*exp(-lam*x);
m=int(x*p,x,0,inf)
s=simple(int((x-1/lam*a)^2*p,x,0,inf))

from: http://hi.baidu.com/puda2007/blog/item/85c8308deadf2115b21bba1f.html

你可能感兴趣的:(matlab)