Matlab绘制直⽅图、概率密度函数、累积分布函数总结如下:
%%绘制直⽅图+概率密度函数+累积分布函数
%矩阵A是random⽣成0-1的随机数,或读⼊⾃⼰的数据
A = rand(1,500)*50;
%求A的最⼤、最⼩、均值
maxA = max(A);
minA = min(A);
meanA = mean(A);
%求极差、中位数、偏度、峰度
RangeA = range(A);
medianA = median(A);
skewnessA = skewness(A);
kurtosisA = kurtosis(A);
%⽣成⼀个画布
pic = figure;
%绘制直⽅图(A中的元素有序划分⼊ x 轴上介于A的最⼩值和最⼤值间的 50 个等间距 bin中),centers表⽰每个bin中⼼在x轴
[counts,centers] = hist(A,50);
%绘制条形图,counts / sum(counts)计算频率
pic1 = bar(centers,counts / sum(counts),1);
set(pic1,'FaceColor','y')%设置矩形框颜⾊,‘b’为蓝⾊
set(pic1,'BarWidth',1);%设置矩形框宽度
%gcf返回当前axis对象的句柄值(⼀幅图像的每⼀个组成部分是⼀个对象)
%gca返回当前Figure对象的句柄值
set(gcf,'position',[220,200,900,600]);%设置画布的位置(220,200)和⼤⼩(宽900⾼600)
set(gcf,'position',[0.1,0.1,0.8,0.8]);%调整图形的位置和⽐例
axis([0 50 0 0.035]);%设置坐标轴范围[xmin xmax ymin ymax]
%计算概率密度函数,返回在xi点的概率密度f
[f,xi] = ksdensity(A);
hold on  %保留当前figure,实现图层叠加
pic2 = plot(xi,f,'LineWidth',1,'LineStyle','-','color','K');%绘制概率密度曲线
%计算概率密度积分分布函数
one_A = unique(A); %unique返回不重复的元素,产⽣的结果按升序排序
n_elements = histc(A,one_A);%统计在给定区间内的值的个数,左闭右开
c_elements = cumsum(n_elements);%计算元素累加的函数
matlab直方图
%AX是坐标轴的句柄,AX(1)是左边的纵轴,AX(2)是右边的纵轴,H1,H2保存的是图形句柄,即两条线
[AX,H1,H2] = plotyy(0,0,one_A,c_elements);
%设置坐标轴的属性
set(AX(1),'ytick',0:0.005:0.035);%设置左边纵轴的刻度
set(AX(2),'ytick',0:50:500);%设置右边纵轴的刻度
set(AX(1),'ylim',[0,0.035]);%设置左边纵轴的取值范围
set(AX(2),'ylim',[0,500]);%设置右边纵轴的取值范围
%设置累积分布函数的线宽
set(H1,'LineWidth',2,'LineStyle','-','color',[0.9400 0.9400 0.9400]);
set(H2,'LineWidth',2)
%设置概率密度函数的线颜⾊
set(pic2,'LineWidth',2,'color','b');
%设置轴的颜⾊
set(AX(1),'ycolor','b');
set(AX(1),'ygrid','on');%打开左边纵轴⽹格
set(AX(2),'ygrid','on');%打开右边纵轴⽹格
%set(AX(1),'ygrid','off');%关闭左边纵轴⽹格
注:在编码编写时,可查看已设置的标签属性(必须先运⾏代码出现图像时,才能显⽰属性):例如:在命令⾏窗⼝输⼊:>>get(AX(2),'ylabel'),可查看对于右侧轴标签的属性

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。