MATLAB 绘制频率分布直方图及累积频率曲线

需要用到函数
randn
hist
histogram
cumsum

%% 绘制频率分布直方图及频率分布曲线
%% 修改日期 2022/5/17
clc
clear
close all

%% 生成随机数
y = randn(100,100);                                             %生成100*100的正态分布随机数
y = y(:);

%% 计算频数及其频率
x = -3.95:0.1:3.95;                                             %此处x用于指定所划分每个数据段的中间值
yy = hist(y,x);                                                 %计算频数
yy = yy/sum(yy);                                                %计算频率
yy = cumsum(yy);                                                %计算累积频率

%% 
figure(1)
hold on
yyaxis left
histogram(y,'binwidth',0.1,'FaceColor',[1 0.27 0.0],'EdgeColor',[1 1 1],'FaceAlpha',0.5);
xlim([-4 4])
ylim([0 500])
xlabel('variable')
ylabel('Counts')
set(gca,'FontSize',16);
ax = gca;
ax.YColor = 'black';

yyaxis right
plot(x,yy,'k-','linewidth',3)
ylim([0 1])
ylabel('Frequency')
set(gca,'FontSize',16);
ax = gca;
ax.YColor = 'black';

box on
h = figure(1);
set(h,'units','normalized','position',[0.1 0.05 0.3 0.35]);  

效果图:
MATLAB 绘制频率分布直方图及累积频率曲线_第1张图片

后记:

写博客的初衷是分享经验,同时也算是自己对思路和代码的整理,方便日后使用,应该可以帮到很多人。
我已免费分享我的经验心得,如果看官还有其他问题的,那么:
知识付费,我的时间和经验也许正好可以解决你的问题。
咨询问题请添加QQ:819369354

2022年5月17日

你可能感兴趣的:(MATLAB,学习日记,matlab)