用matlab画出两参数威布尔分布的概率密度函数f(t)的图形。

供稿:hz-xin.com     日期:2025-05-23
求MATLAB中画多个威布尔概率密度函数图

clear all;
clf;
x=-5:0.1:5;
%三个函数
z1=normpdf(x,0,1);
z2=normpdf(x,0,1.2);
z3=normpdf(x,0,1.5);

%构造三个y轴数据
y1=ones(1,length(x));
y2=0.5.*y1;
y3=0.*y1;

plot3(x,y1,z1);
hold on;
plot3(x,y2,z2);
plot3(x,y3,z3);
grid on;


4.6 统计作图
4.6.1 正整数的频率表
命令 正整数的频率表
函数 tabulate
格式 table = tabulate(X) %X为正整数构成的向量,返回3列:第1列中包含X的值第2列为这些值的个数,第3列为这些值的频率。
例4-49
>> A=[1 2 2 5 6 3 8]
A =
1 2 2 5 6 3 8
>> tabulate(A)
Value Count Percent
1 1 14.29%
2 2 28.57%
3 1 14.29%
4 0 0.00%
5 1 14.29%
6 1 14.29%
7 0 0.00%
8 1 14.29%
4.6.2 经验累积分布函数图形
函数 cdfplot
格式 cdfplot(X) %作样本X(向量)的累积分布函数图形
h = cdfplot(X) %h表示曲线的环柄
[h,stats] = cdfplot(X) %stats表示样本的一些特征
例4-50
>> X=normrnd (0,1,50,1);
>> [h,stats]=cdfplot(X)
h =
3.0013
stats =
min: -1.8740 %样本最小值
max: 1.6924 %最大值
mean: 0.0565 %平均值
median: 0.1032 %中间值
std: 0.7559 %样本标准差



图 4-10

4.6.3 最小二乘拟合直线
函数 lsline
格式 lsline %最小二乘拟合直线
h = lsline %h为直线的句柄
例4-51
>> X = [2 3.4 5.6 8 11 12.3 13.8 16 18.8 19.9]';
>> plot(X,'+')
>> lsline


4.6.4 绘制正态分布概率图形
函数 normplot
格式 normplot(X) %若X为向量,则显示正态分布概率图形,若X为矩阵,则显示每一列的正态分布概率图形。
h = normplot(X) %返回绘图直线的句柄
说明 样本数据在图中用“+”显示;如果数据来自正态分布,则图形显示为直线,而其它分布可能在图中产生弯曲。
例4-53
>> X=normrnd(0,1,50,1);
>> normplot(X)


图4-12
4.6.5 绘制威布尔(Weibull)概率图形
函数 weibplot
格式 weibplot(X) %若X为向量,则显示威布尔(Weibull)概率图形,若X为矩阵,则显示每一列的威布尔概率图形。
h = weibplot(X) %返回绘图直线的柄
说明 绘制威布尔(Weibull)概率图形的目的是用图解法估计来自威布尔分布的数据X,如果X是威布尔分布数据,其图形是直线的,否则图形中可能产生弯曲。
例4-54
>> r = weibrnd(1.2,1.5,50,1);
>> weibplot(r)


图4-13
4.6.6 样本数据的盒图
函数 boxplot
格式 boxplot(X) %产生矩阵X的每一列的盒图和“须”图,“须”是从盒的尾部延伸出来,并表示盒外数据长度的线,如果“须”的外面没有数据,则在“须”的底部有一个点。
boxplot(X,notch) %当notch=1时,产生一凹盒图,notch=0时产生一矩箱图。
boxplot(X,notch,'sym') %sym表示图形符号,默认值为“+”。
boxplot(X,notch,'sym',vert) %当vert=0时,生成水平盒图,vert=1时,生成竖直盒图(默认值vert=1)。
boxplot(X,notch,'sym',vert,whis) %whis定义“须”图的长度,默认值为1.5,若whis=0则boxplot函数通过绘制sym符号图来显示盒外的所有数据值。
例4-55
>>x1 = normrnd(5,1,100,1);
>>x2 = normrnd(6,1,100,1);
>>x = [x1 x2];
>> boxplot(x,1,'g+',1,0)


图4-14
4.6.7 给当前图形加一条参考线
函数 refline
格式 refline(slope,intercept) % slope表示直线斜率,intercept表示截距
refline(slope) slope=[a b],图中加一条直线:y=b+ax。
例4-56
>>y = [3.2 2.6 3.1 3.4 2.4 2.9 3.0 3.3 3.2 2.1 2.6]';
>>plot(y,'+')
>>refline(0,3)


图4-15
4.6.8 在当前图形中加入一条多项式曲线
函数 refcurve
格式 h = refcurve(p) %在图中加入一条多项式曲线,h为曲线的环柄,p为多项式系数向量,p=[p1,p2, p3,…,pn],其中p1为最高幂项系数。
例4-57 火箭的高度与时间图形,加入一条理论高度曲线,火箭初速为100m/秒。
>>h = [85 162 230 289 339 381 413 437 452 458 456 440 400 356];
>>plot(h,'+')
>>refcurve([-4.9 100 0])

图4-16
4.6.9 样本的概率图形
函数 capaplot
格式 p = capaplot(data,specs) �ta为所给样本数据,specs指定范围,p表示在指定范围内的概率。
说明 该函数返回来自于估计分布的随机变量落在指定范围内的概率
例4-58
>> data=normrnd (0,1,30,1);
>> p=capaplot(data,[-2,2])
p =
0.9199


图4-17
4.6.10 附加有正态密度曲线的直方图
函数 histfit
格式 histfit(data) �ta为向量,返回直方图
和正态曲线。
histfit(data,nbins) % nbins指定bar的个数,
缺省时为data中数据个数的平方根。
例4-59
>>r = normrnd (10,1,100,1);
>>histfit(r)

4.6.11 在指定的界线之间画正态密度曲线
函数 normspec
格式 p = normspec(specs,mu,sigma) %specs指定界线,mu,sigma为正态分布的参数p 为样本落在上、下界之间的概率。
例4-60
>>normspec([10 Inf],11.5,1.25)


图4-19
4.7 参数估计
4.7.1 常见分布的参数估计
命令 β分布的参数a和b的最大似然估计值和置信区间
函数 betafit
格式 PHAT=betafit(X)
[PHAT,PCI]=betafit(X,ALPHA)
说明 PHAT为样本X的β分布的参数a和b的估计量
PCI为样本X的β分布参数a和b的置信区间,是一个2×2矩阵,其第1例为参数a的置信下界和上界,第2例为b的置信下界和上界,ALPHA为显著水平,(1-α)×100%为置信度。
例4-61 随机产生100个β分布数据,相应的分布参数真值为4和3。则4和3的最大似然估计值和置信度为99%的置信区间为:
解:
>>X = betarnd (4,3,100,1); %产生100个β分布的随机数
>>[PHAT,PCI] = betafit(X,0.01) %求置信度为99%的置信区间和参数a、b的估计值
结果显示
PHAT =
3.9010 2.6193
PCI =
2.5244 1.7488
5.2776 3.4898
说明 估计值3.9010的置信区间是[2.5244 5.2776],估计值2.6193的置信区间是[1.7488 3.4898]。
命令 正态分布的参数估计
函数 normfit
格式 [muhat,sigmahat,muci,sigmaci] = normfit(X)
[muhat,sigmahat,muci,sigmaci] = normfit(X,alpha)
说明 muhat,sigmahat分别为正态分布的参数μ和σ的估计值,muci,sigmaci分别为置信区间,其置信度为;alpha给出显著水平α,缺省时默认为0.05,即置信度为95%。
例4-62 有两组(每组100个元素)正态随机数据,其均值为10,均方差为2,求95%的置信区间和参数估计值。
解:>>r = normrnd (10,2,100,2); %产生两列正态随机数据
>>[mu,sigma,muci,sigmaci] = normfit(r)
则结果为
mu =
10.1455 10.0527 %各列的均值的估计值
sigma =
1.9072 2.1256 %各列的均方差的估计值
muci =
9.7652 9.6288
10.5258 10.4766
sigmaci =
1.6745 1.8663
2.2155 2.4693
说明 muci,sigmaci中各列分别为原随机数据各列估计值的置信区间,置信度为95%。
例4-63 分别使用金球和铂球测定引力常数
(1)用金球测定观察值为:6.683 6.681 6.676 6.678 6.679 6.672
(2)用铂球测定观察值为:6.661 6.661 6.667 6.667 6.664
设测定值总体为,μ和σ为未知。对(1)、(2)两种情况分别求μ和σ的置信度为0.9的置信区间。
解:建立M文件:LX0833.m
X=[6.683 6.681 6.676 6.678 6.679 6.672];
Y=[6.661 6.661 6.667 6.667 6.664];
[mu,sigma,muci,sigmaci]=normfit(X,0.1) %金球测定的估计
[MU,SIGMA,MUCI,SIGMACI]=normfit(Y,0.1) %铂球测定的估计
运行后结果显示如下:
mu =
6.6782
sigma =
0.0039
muci =
6.6750
6.6813
sigmaci =
0.0026
0.0081
MU =
6.6640
SIGMA =
0.0030
MUCI =
6.6611
6.6669
SIGMACI =
0.0019
0.0071
由上可知,金球测定的μ估计值为6.6782,置信区间为[6.6750,6.6813];
σ的估计值为0.0039,置信区间为[0.0026,0.0081]。
泊球测定的μ估计值为6.6640,置信区间为[6.6611,6.6669];
σ的估计值为0.0030,置信区间为[0.0019,0.0071]。
命令 利用mle函数进行参数估计
函数 mle
格式 phat=mle %返回用dist指定分布的最大似然估计值
[phat, pci]=mle %置信度为95%
[phat, pci]=mle %置信度由alpha确定
[phat, pci]=mle %仅用于二项分布,pl为试验次数。
说明 dist为分布函数名,如:beta(分布)、bino(二项分布)等,X为数据样本,alpha为显著水平α,为置信度。
例4-64
>> X=binornd(20,0.75) %产生二项分布的随机数
X =
16
>> [p,pci]=mle('bino',X,0.05,20) %求概率的估计值和置信区间,置信度为95%
p =
0.8000
pci =
0.5634
0.9427
常用分布的参数估计函数
表4-7 参数估计函数表

函数名

调 用 形 式

函 数 说 明



binofit

PHAT= binofit(X, N)
[PHAT, PCI] = binofit(X,N)
[PHAT, PCI]= binofit (X, N, ALPHA)

二项分布的概率的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的参数估计和置信区间



poissfit

Lambdahat=poissfit(X)
[Lambdahat, Lambdaci] = poissfit(X)
[Lambdahat, Lambdaci]= poissfit (X, ALPHA)

泊松分布的参数的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的λ参数和置信区间



normfit

[muhat,sigmahat,muci,sigmaci] = normfit(X)
[muhat,sigmahat,muci,sigmaci] = normfit(X, ALPHA)

正态分布的最大似然估计,置信度为95%
返回水平α的期望、方差值和置信区间



betafit

PHAT =betafit (X)
[PHAT, PCI]= betafit (X, ALPHA)

返回β分布参数a和 b的最大似然估计
返回最大似然估计值和水平α的置信区间



unifit

[ahat,bhat] = unifit(X)
[ahat,bhat,ACI,BCI] = unifit(X)
[ahat,bhat,ACI,BCI]=unifit(X, ALPHA)

均匀分布参数的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的参数估计和置信区间



expfit

muhat =expfit(X)
[muhat,muci] = expfit(X)
[muhat,muci] = expfit(X,alpha)

指数分布参数的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的参数估计和置信区间



gamfit

phat =gamfit(X)
[phat,pci] = gamfit(X)
[phat,pci] = gamfit(X,alpha)

γ分布参数的最大似然估计
置信度为95%的参数估计和置信区间
返回最大似然估计值和水平α的置信区间



weibfit

phat = weibfit(X)
[phat,pci] = weibfit(X)
[phat,pci] = weibfit(X,alpha)

韦伯分布参数的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的参数估计及其区间估计



Mle

phat = mle('dist',data)
[phat,pci] = mle('dist',data)
[phat,pci] = mle('dist',data,alpha)
[phat,pci] = mle('dist',data,alpha,p1)

分布函数名为dist的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的最大似然估计值和置信区间
仅用于二项分布,pl为试验总次数


说明 各函数返回已给数据向量X的参数最大似然估计值和置信度为(1-α)×100%的置信区间。α的默认值为0.05,即置信度为95%。
4.7.2 非线性模型置信区间预测
命令 高斯—牛顿法的非线性最小二乘数据拟合
函数 nlinfit
格式 beta = nlinfit(X,y,FUN,beta0) %返回在FUN中描述的非线性函数的系数。FUN为用户提供形如的函数,该函数返回已给初始参数估计值β和自变量X的y的预测值。
[beta,r,J] = nlinfit(X,y,FUN,beta0) �ta为拟合系数,r为残差,J为Jacobi矩阵,beta0为初始预测值。
说明 若X为矩阵,则X的每一列为自变量的取值,y是一个相应的列向量。如果FUN中使用了@,则表示函数的柄。
例4-65 调用MATLAB提供的数据文件reaction.mat
>>load reaction
>>betafit = nlinfit(reactants,rate,@hougen,beta)
betafit =
1.2526
0.0628
0.0400
0.1124
1.1914
命令 非线性模型的参数估计的置信区间
函数 nlparci
格式 ci = nlparci(beta,r,J) %返回置信度为95%的置信区间,beta为非线性最小二乘法估计的参数值,r为残差,J为Jacobian矩阵。nlparci可以用nlinfit函数的输出作为其输入。
例4-66 调用MATLAB中的数据reaction。
>>load reaction
>>[beta,resids,J] = nlinfit(reactants,rate,'hougen',beta)
beta =
1.2526
0.0628
0.0400
0.1124
1.1914
resids =
0.1321
-0.1642
-0.0909
0.0310
0.1142
0.0498
-0.0262
0.3115
-0.0292
0.1096
0.0716
-0.1501
-0.3026
J =
6.8739 -90.6536 -57.8640 -1.9288 0.1614
3.4454 -48.5357 -13.6240 -1.7030 0.3034
5.3563 -41.2099 -26.3042 -10.5217 1.5095
1.6950 0.1091 0.0186 0.0279 1.7913
2.2967 -35.5658 -6.0537 -0.7567 0.2023
11.8670 -89.5655 -170.1745 -8.9566 0.4400
4.4973 -14.4262 -11.5409 -9.3770 2.5744
4.1831 -41.7896 -16.8937 -5.7794 1.0082
11.8286 -51.3721 -154.1164 -27.7410 1.5001
9.1514 -25.5948 -76.7844 -30.7138 2.5790
3.3373 0.0900 0.0720 0.1080 3.5269
9.3663 -102.0611 -107.4327 -3.5811 0.2200
4.7512 -24.4631 -16.3087 -10.3002 2.1141
>>ci = nlparci(beta,resids,J)
ci =
-0.7467 3.2519
-0.0377 0.1632
-0.0312 0.1113
-0.0609 0.2857
-0.7381 3.1208
命令 非线性拟合和显示交互图形
函数 nlintool
格式 nlintool(x,y,FUN,beta0) %返回数据(x,y)的非线性曲线的预测图形,它用2条红色曲线预测全局置信区间。beta0为参数的初始预测值,置信度为95%。
nlintool(x,y,FUN,beta0,alpha) %置信度为(1-alpha)×100%
例4-67 调用MATLAB数据
>> load reaction
>> nlintool(reactants,rate,'hougen',beta)

figure
t=0:pi/50:pi;
t=0:pi/50:pi;

m= [0.5,1,2.5,3.44,5];
linecolor = ['r';'b';'g';'k';'y'];
for ii=1:length(m)
y=m(ii)*t.^(m(ii)-1).*exp(-m(ii)*t);
type = linecolor(ii);
plot(t,y,type); hold on
end
legend('m=0.5','m=1','m=2.5','m=3.44','m=5');

拉丁超立方采样LHS实例——对服从威布尔\/韦伯Weibull分布的样本进行拉丁...
在上一篇文章《拉丁超立方采样(LHS)与蒙特卡洛模拟入门》中,我们未尽的讨论继续进行,本次将介绍如何使用拉丁超立方采样技术对服从威布尔\/韦伯分布的样本进行抽样。这部分内容主要涉及概率分布和累积概率分布等统计学基础知识。威布尔分布有两个参数,其概率密度函数(PDF)公式为[公式]。以参数[公式]的威布尔...

如何使用matlab拟合指数分布函数
此时Curve Fitting Tool窗口中显示出这一数据组的散点分布图。点击Fitting...按钮,出现Fitting对话框,Fitting对话框分为两部分,上面为Fit Editor,下面为Table of Fits,有时候窗口界面比较小,Fit Editor部分会被收起来,只要把Table of Fits上方的横条往下拉就可以看见Fit Editor。在Fit Editor里面点击...

R语言中一组数据服从威布尔分布,怎么判断拟合的效果
然后利用ks.test进行检验:ks.test(jitter(x),"pweibull",shape,scale)上边的jitter用来做小扰动,因为如果x中有重复数据的话ks.test会报错,如果x中没有重复数据则不需要jitter。shape是得到的形状参数,scale是得到的尺度参数。ks.test得到两个结果,一个是D,越小越好,一个是p-value,这个值要...

系统可靠性分析,都怎么做啊,希望大牛说下流程
具体来说,P(T>t) 表示系统运行时间这一随机变量大于时间 t 的概率,即系统的寿命大于 t 的概率。这一概率可以通过对密度函数进行积分来计算,积分的下限为 t,上限为无穷大。在实际应用中,用户可以根据已知的威布尔分布参数,利用MATLAB或其他软件工具,如Minitab,进行失效概率的计算。例如,输入威...

雷达信号处理常用概率密度函数总结
1.19 Chi Distribution卡方分布是非负实线上的连续概率分布,是独立高斯随机变量平方和的正平方根分布。1.20 Tikhonov DistributionTikhonov PDF,也称为Von Mises PDF,具体形式在相关文献中给出。2. 数据生成与参数估计2.1 MATLAB支持的PDF函数MATLAB统计和机器学习工具箱支持通过makedist和pdf函数生成常见...

威布尔分布问题解决了吗?
没有,威布尔分布参数的分析法估计较复杂,区间估计值过长,实践中常采用概率纸估计法,从而降低了参数的估计精度.这是威布尔分布目前存在的主要缺点,也限制了它的应用。威布尔分布:在可靠性工程中被广泛应用,尤其适用于机电类产品的磨损累计失效的分布形式。由于它可以利用概率纸很容易地推断出它的...

数学建模常用到的matlab函数有哪些?
unifit 均匀分布的参数估计weibfit 威布尔分布的参数估计weiblike 威布尔对数似然函数的参数估计表Ⅰ-7 统计量描述函数函 数描 述bootstrap 任何函数的自助统计量corrcoef 相关系数cov 协方差crosstab 列联表geomean 几何均值grpstats 分组统计量harmmean 调和均值iqr 内四分极值kurtosis 峰度mad 中值绝对差mean 均值median...

matlab中unifrnd函数用法
观察语句R1 = unifrnd(x,1);“从x到1”产生区间[1,1],[2,1],[3,1]显然只有第一个区间可以取得“随机数”1,其余区间不符合规定,故而返回NaN。 观察R2 = unifrnd(1,x);从1到x产生区间[1,1],[1,2],[1,3],取得随机数组R2. 2.R = unifrnd(A,B,M,N,...) or R = unifrnd(A,B,[M,N...

如何用matlab生成随机数函数
使用matlab里面的rand函数可以生成随机数函数。rand函数的用法 :(1)命令:rand(N),rand(M,N)等 (2)对于rand(N),通过help rand得到的解释是:R = rand(N) returns an N-by-N matrix containing pseudorandom values drawn from the standard uniform distribution on the open interval(0,1...

matlab中与概率论,随机过程相关的函数及其作用
binopdf 二项分布的概率密度函数 chi2pdf 卡方分布的概率密度函数 exppdf 指数分布的概率密度函数 fpdf f分布的概率密度函数 gampdf 伽玛分布的概率密度函数 geopdf 几何分布的概率密度函数 hygepdf 超几何分布的概率密度函数 normpdf 正态(高斯)分布的概率密度函数 lognpdf 对数正态分布的概率密度函数 nb...