matlab绘制直方图的方法

直接上代码,利用hist绘制频次直方图和频率直方图。。。

%rand
Fs=1000;N=10000;
t=0:1/Fs:(N-1)/Fs;
X1=rand(1,length(t));
subplot(221)
plot(t,X1);xlabel('时间(s)');ylabel('一个有10000点样本的随机信号的取值')
title('一个有10000点样本的随机信号:0-1均匀分布的白噪声');

% randn用法X3=mean3+sqrt(var3).*randn(1,N)
%Fs=1000;N=100000;
%t=0:1/Fs:(N-1)/Fs
X2=randn(1,length(t));
subplot(222)
plot(t,X2);xlabel('时间(s)');ylabel('一个有10000点样本的随机信号的取值')
title('一个有10000点样本的随机信号:标准正态分布的白噪声');

%幅度统计

A1=max(X1)-min(X1) %计算幅值
%N1=histc(X1,(min(X1):A1/100:max(X1)))
subplot(223)
hist(X1,(min(X1):A1/100:max(X1))) %等100
%[N1,bin1]=hist(X1,(min(X1):A1/100:max(X1))) %等100

title('0-1均匀分布的白噪声幅值等分100后的统计频次分布')
xlabel('随机变量X取值')
ylabel('随机变量X幅值等分100后的频次统计数值')
A2=max(X1)-min(X1)
%N2=histc(X2,(min(X2):A2/100:max(X2)))
%n=N2/N;x=(min(X2):A2/100:max(X2));
%figure
%plot(x,n)
subplot(224)
hist(X2,(min(X2):A2/100:max(X2)));
title('标准正态分布的白噪声幅值等分100后的统计频次分布')
xlabel('随机变量X取值')
ylabel('随机变量X幅值等分100后的频次统计数值')

[N1,bin1]=hist(X1,(min(X1):A1/100:max(X1))); 
figure
subplot(211);
bar(bin1,N1/N);
title('0-1均匀分布的白噪声幅值等分100后统计频率分布')
xlabel('随机变量X取值')
ylabel('随机变量X幅值等分100后的统计频率分布')
[N2,bin2]=hist(X2,(min(X2):A2/100:max(X2))); 
subplot(212);
bar(bin2,N2/N);
title('标准正态分布的白噪声幅值等分100后统计频率分布')
xlabel('随机变量X取值')
ylabel('随机变量X幅值等分100后的统计频率分布')

实验结果如下图所示:
这里写图片描述
这里写图片描述


2015-9-16 艺少

原文地址:https://www.cnblogs.com/huty/p/8519165.html