matlab随机数的产生:
二项分布随机数的产生:
clear all;
r=binornd(6,0.8)
R=binornd(6,0.8,4,5) %产生一个4* 5的矩阵
泊松分布:
clear all;
r=poissrnd(6) %泊松分布
R=poissrnd(6,3,3) %产生一个3* 3的矩阵
指数分布:
clear all;
r=exprnd(5) %指数分布
R=exprnd(5,5,5) %产生一个5* 5的矩阵
连续型均匀分布:
clear all;
r=unifrnd(1,5) %均匀分布 1到5之间
R1=unifrnd(1,5,3,3) %产生一个3* 3的矩阵
R2=unifrnd(1,5,[3 3])
离散型均匀分布:
clear all;
r=unidrnd(6) %离散型均匀分布
R1=unidrnd(6,3,3) %产生一个3* 3的矩阵
R2=unidrnd(6,[3 3])
正态分布: 应用最广 非常重要
clear all;
r=normrnd(0,1)
R1=normrnd(0,1,[3 4]) %产生一个3* 4的矩阵 均值为0 标准差为1
R2=normrnd(2,4,[3 4])
matlab求平均值和中位数
算数平均值:
clear all;
A=[1 2 3 4;4 4 4 4]
m1=mean(A) %对列元素求算术平均值
m2=mean(A,2) %对行元素求算术平均值
忽略非数(有的元素不是数值)计算算术平均值:
clear all;
A=[1 4 nan 5;6 nan 7 nan]
m1=mean(A) %有nan就是nan
m2=nanmean(A) %对列元素求算术平均值
m3=nanmean(A,2) %对行元素求算术平均值
几何平均数:
clear all;
A1=[6 2 2 4]
m1=geomean(A1) %向量的几何平均数
A2=[1 4 5;7 7 8]
m2=geomean(A2) %列元素的几何平均数
m3=geomean(A2,2) %行元素的几何平均数
调和平均数:
clear all;
A1=[1 2 3 4]
m1=harmmean(A1) %向量的调和平均数
A2=[1 2 2;2 2 4]
m2=harmmean(A2) %列元素的调和平均数
m3=harmmean(A2,2) %行元素的调和平均数
中位数:
clear all;
A1=[1 2 3 4]
m1=median(A1) %向量的中位数
A2=[1 6 3;2 6 4;4 6 8]
m2=median(A2) %列元素的中位数
m3=median(A2,2) %行元素的中位数
nan 中位数:
clear all;
A1=[1 2 nan 1 nan 3 4]
m1=nanmedian(A1) %向量的中位数
A2=[1 2 nan;2 nan 4;4 1 8]
m2=median(A2)%只要有非数值类型都是非数值
m3=nanmedian(A2) %列元素忽略NaN的中位数
m4=nanmedian(A2,2) %行元素忽略NaN的中位数
常见分布的概率密度函数:
二项分布的密度函数:
clear all;
x=1:20;
y=binopdf(x,200,0.06);
figure;
plot(x,y,‘r*’);
title(‘二项分布(n=200,p=0.06)’);
泊松分布的密度函数:
clear all;
x=1:20;
y=poisspdf(x,20); %泊松分布
figure;
plot(x,y,‘r+’);
title(‘泊松分布’);
几何分布:
clear all;
x=1:10;
y=geopdf(x,0.4); %几何分布
figure;
plot(x,y,‘rx’);
title(‘几何分布’);
均匀分布(离散):
clear all;
n=10;
x=1:n;
y=unidpdf(x,n); %均匀分布(离散)
figure;
plot(x,y,‘ro’);
title(‘均匀分布(离散)’);
均匀分布(连续):
clear all;
x=-2:0.1:15;
y=unifpdf(x,0,6); %均匀分布(连续) 0到6之间
figure;
plot(x,y,‘r:’);
title(‘均匀分布(连续)’);
指数分布:
clear all;
x=0:0.1:10;
y=exppdf(x,2); %指数分布
figure;
plot(x,y,‘r:’);
title(‘指数分布’);
正态分布:
clear all;
x=-5:0.1:5;
y1=normpdf(x,0,1); %标准正态分布
y2=normpdf(x,3,3); %非标准正态分布
figure;
plot(x,y1,x,y2,’:’);
legend(‘标准正态分布’,‘非标准正态分布’);
x1=-5:0.1:5;
y3=normpdf(x1,3,1); %SIGMA=1
y4=normpdf(x1,3,2); %SIGMA=2
y5=normpdf(x1,3,3); %SIGMA=3
figure;
plot(x1,y3,‘r-’,x1,y4,‘b:’,x1,y5,‘k–’);
legend(‘SIGMA=1’,‘SIGMA=2’,‘SIGMA=3’);
y6=normpdf(x1,0,2); %MU=0
y7=normpdf(x1,2,2); %MU=2
y8=normpdf(x1,4,2); %MU=4
figure;
plot(x1,y6,‘r-’,x1,y7,‘b:’,x1,y8,‘k–’);
legend(‘MU=0’,‘MU=2’,‘MU=4’);
三大抽样分布的概率密度函数:
卡方分布:
clear all;
x=0:0.1:15;
y1=chi2pdf(x,2); %卡方分布n=2
y2=chi2pdf(x,3); %卡方分布n=3
figure;
hold on;
plot(x,y1);
plot(x,y2,’:’);
legend(‘n=2’,‘n=3’);
title(‘卡方分布’);
%% t分布
clear all;
x=-5:0.1:5;
y1=tpdf(x,2); %t分布(n=2)
y2=tpdf(x,10); %t分布(n=10)
figure;
plot(x,y1,‘r:’,x,y2,‘b-’);
legend(‘n=2’,‘n=10’);
title(‘t分布’);
%% F分布
clear all;
x=0.1:0.1:5;
y=fpdf(x,2,5); %F分布
figure;
plot(x,y,‘r:’);
title(‘F分布(m=2,n=5)’);
常见分布的期望和方差:
二项分布的期望和方差:
clear all;
n1=100;
p1=0.3;
[m1,v1]=binostat(n1,p1) %1000.3 1000.3*0.7
clear all;
a1=1;
b1=5;
[m1,v1]=unifstat(a1,b1)
正态分布的期望和方差:
clear all;
n1=2;
n2=3;
[m1,v1]=normstat(n1,n2)
指数分布的期望和方差:
clear all;
mu1=2;
[m1,v1]=expstat(mu1)
t分布的期望和方差:
clear all;
n1=4;
[m1,v1]=tstat(n1)
F分布的期望和方差:
clear all;
n1=6;
n2=8;
[m1,v1]=fstat(n1,n2)
排序:
clear all;
X=[1 3 4;8 3 5;2 7 4]
y1=sort(X) %按列由小到大排序
y2=sort(X,2) %按行由小到大排序
y3=sort(X,1,‘descend’) %按列由大到小排序
按行排序:
clear all;
X=[1 3 8;8 8 5;82 7 4]
y1=sortrows(X) %按行排序
y2=sort(X,2) %按指定的列排序
求最大值和最小值的差:
clear all;
X1=[1 3 4 10 3 5]
y1=range(X1) %向量
X2=[1 3 5;2 4 6;8 4 3]
y2=range(X2) %矩阵
y3=range(X2,2)
求最大值和最小值:
clear all;
X1=[2 5 4 12 3 15]
y1=minmax(X1) %向量
X2=[1 3 5;2 4 6;8 4 3]
y2=minmax(X2) %矩阵
方差:
clear all;
A=rand(1,8) %向量
y=var(A)
B=rand(3,5) %矩阵
Y1=var(B)
标准差:
clear all;
A=[7 3 7 1;1 7 3 2;7 1 7 3]
y1=std(A)
y2=std(A,0)
y3=std(A,1)
y4=std(A,1,2)
区间参数估计: 均匀分布
clear all;
X=unifrnd(2,8,20,3)
[a,b,aci,bci]=unifit(X,0.05)%置信度0.05%
指数分布的参数估计:
clear all;
X=exprnd(5,20,4)
[parmhat1,parmci1]=expfit(X,0.05) %置信度95%
[parmhat2,parmci2]=expfit(X,0.01)
beta分布的参数估计:
clear all;
X=betarnd(7,5,100,1);
[phat,pci]=betafit(X,0.02)
正态分布的参数估计:
clear all;
X=normrnd(10,2,20,3)
[mu1,sigma1,muci1,sigmaci1]=normfit(X,0.05)
[mu2,sigma2,muci2,sigmaci2]=normfit(X,0.01)
假设检验:
方差已知时正态总体均值的假设检验
如果已知方差和均值:
clear all;
X=[490 513 514 513 511 499 515 512 491];
[H1,P1,CI1,STATS1]=ztest(X,500,10,0.05,0) %显著性水平ALPHA=0.05 期望是500 方差是10
[H2,P2,CI2,STATS2]=ztest(X,500,10,0.1,0) %ALPHA=0.1 H2=1 拒绝原来假设
方差和均值未知时:
clear all;
X=[300 324 305 290 295 291 310 315];
[H,P,CI,STATS]=ttest(X,305,0.05,-1) %ALPHA=0.05 H=0可以接受原假设
方差未知但是相等时:
clear all;
X=[302 304 305 310 320 299 298 301 315 313];
Y=[305 314 320 315 313 308 318 325 301 312];
[H,P,CI,STATS]=ttest2(X,Y,0.05,-1) %ALPHA=0.05
分布一致性检验:
clear all;
X=[3.2 7.0 2.8 4.5 7.5 2.3 5.8 1.4];
Y=[2.3 5.6 9.2 1.2 5.9 3.4 2.8 8.4 1.5 3.2];
[P,H,STATS]=ranksum(X,Y,0.05) %ALPHA=0.05