MATLAB(5)——生成归一化直方图
作者:桂。
时间:2017-03-10 22:13:36
链接:http://www.cnblogs.com/xingshansi/p/6533579.html
声明:欢迎转载,不过记得注明出处哦~

前言
|
本文作为:曲线拟合与分布拟合 一文的补充内容,主要介绍MATLAB直方图的绘制,以及对应归一化直方图的实现。全文分三部分简单介绍: 1)直方图(hist)绘制; 2)栅栏图(bar)绘制; 3)归一化直方图实现。 |
一、直方图(hist)
可以对hist的直方图进行限定,两种途径:个数模式(nbins)/区间模式(numter)
A-个数模式
nbins:指定直方图区间个数。
给出代码:
rng('default') % for reproducibility
x = 3*randn(3000,1)-2;
nbins = 50;
hist(x, nbins);
grid on;
结果图:

B-区间模式
numter:[start:interval:end].
给出代码:
rng('default') % for reproducibility
x = 3*randn(3000,1)-2;
numter = [-20:.2:20];
hist(x, numter);
grid on;
对应结果图:

此外,hist的输出结果有两个(三种方式均可):
[histFreq, histXout]=hist(x);
[histFreq, histXout]=hist(x, nbins);
[histFreq, histXout]=hist(x, numter);
给出一个演示代码:
rng('default') % for reproducibility
x = 3*randn(3000,1)-2;
nbins = 50;
[histFreq, histXout]=hist(x, nbins);
subplot 311
hist(x,nbins);grid on;
subplot 312
plot(histXout,histFreq,'r','linewidth',2);
grid on;
subplot 313
hist(x,nbins);hold on;
plot(histXout,histFreq,'r','linewidth',2);
grid on;
对应结果图:

可以看到,对于结果:[histFreq, histXout] —>histXout:横坐标;histFreq:纵坐标。
二、栅栏图(bar)
关于bar,只提及一点,给出代码:
x = 1900:10:2000;
y = [75.995,91.972,105.711,123.203,131.669,...
150.697,179.323,203.212,226.505,249.633,281.422];
figure;
subplot 211
bar(y);grid on;
subplot 212
bar(x,y);grid on;
结果图:

即bar可以指定横轴坐标以及纵轴坐标。
三、归一化直方图
借助hist的输出,以及bar的特性,我们可以生成归一化直方图,思路:
- 步骤一:求解每一个bin的区间宽度:binWidth = histXout(2)-histXout(1);
- 步骤二:求解所有bin的面积:binWidth/sum(histFreq)
- 步骤三:求解面积归一化后的高度(宽度保持不变):histFreq/binWidth/sum(histFreq)
直方图归一化的代码:
rng('default') % for reproducibility
x = 3*randn(3000,1)-2;
numOfBins = 100;
% [histFreq, histXout] = hist(x, numOfBins);
numter = [-20:.2:20];
[histFreq, histXout] = hist(x, numter);
binWidth = histXout(2)-histXout(1);
%Bar
figure;
subplot 311
bar(histXout, histFreq/binWidth/sum(histFreq)); hold on;grid on;
这样一来,我们对分布拟合,便可以更直观地观察直方图分布与拟合结果的关系:

MATLAB(5)——生成归一化直方图的更多相关文章
- matlab画二维直方图以及双y轴坐标如何修改另一边y轴的颜色
1.首先讲一下如何用hist画二维直方图 x=[- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
- VS2008 C++ 调用MATLAB 2009b 生成的DLL .
转载: 刚开始学习用VC++调用matlab生成的DLL,找了网上一些资料,难以找到vs2008与MATLAB2009b版本的,按照以往版本做的总是有很多错误.经过两天努力,终于调试成功,这里将经验总 ...
- MATLAB - 练习程序,直方图均衡化
直方图均衡化的作用是图像增强. 有两个问题比较难懂,一是为什么要选用累积分布函数,二是为什么使用累积分布函数处理后像素值会均匀分布. 第一个问题.均衡化过程中,必须要保证两个条件:①像素无论怎么映射, ...
- MATLAB 随机生成互不重叠的多个矩形
建立m文件draw_rectangle.m. 其中p生成矩形的个数 function draw_rectangle(p) t = 1; x = rand(1)*10; y = rand(1)*10; ...
- MATLAB 画柱状图(/直方图)修改横坐标名称并使其横着显示
使用MATLAB 画柱状图 ,即bar (x,y),其横坐标是默认 1.2.3.4.……的 % --v1 y1=[asum1,asum2,asum3,asum4,asum5,asum6,asum7,a ...
- matlab中生成随机数的相关知识
randperm()函数: 功能:用于生成从1到N的随机整数,并且没有重复,它本质上是一个随机排序的函数: 用法:1. randperm(n) 随机生成从1到n的不重复的整数: 2. ran ...
- 【matlab】生成列是0-255渐变的图像
图像大小:640×512 8位灰度图 %% 生成图像 %大小:* %类型:灰度图 %灰度值:列按照0-255渐变,故命名为column shade. clc,clear all,close all; ...
- 在matlab中生成m序列
实验环境为matlab2013b 1.首先编写一个mseq.m文件,内容为: function[mseq]=m_sequence(fbconnection) n=length(fbconnectio ...
- MATLAB/SIMULINK生成代码错误之change the default character encoding setting
SIMULINK点击生成C代码报错 错误提示: Error encountered while executing PostCodeGenCommand for model 'RTW_sc3': Cl ...
随机推荐
- php 显示sqlserver二进制图片
<? header("Content-type:image/ "); // Server in the this format: \ or // , when using a ...
- TIMESTAMP和DATETIME哪个好
日期范围 TIMESTAMP 支持从'1970-01-01 00:00:01′ 到 '2038-01-19 03:14:07′ UTC. 这个时间可能对目前正在工作的人来说没什么问题,可以坚持到我们退 ...
- nmp install 异常
由于网络的原因,需要多试几次才可以的: -g参数 不会安装在当前目录的:
- 一篇完整的FlexBox布局指南
一篇完整的FlexBox布局指南 转载请标注本文链接并附带以下信息: 译:Cydiacen 作者:CHRIS COYIER 原文:A Complete Guide to Flexbox 原文更新于 2 ...
- UOJ #278. 【UTR #2】题目排列顺序(排序水题)
#278. [UTR #2]题目排列顺序 丢个传送门:http://uoj.ac/problem/278 描述 “又要出题了.” 宇宙出题中心主任 —— 吉米多出题斯基,坐在办公桌前策划即将到来的 U ...
- 自己动手系列——实现一个简单的ArrayList
ArrayList是Java集合框架中一个经典的实现类.他比起常用的数组而言,明显的优点在于,可以随意的添加和删除元素而不需考虑数组的大小.处于练手的目的,实现一个简单的ArrayList,并且把实现 ...
- MVC分页控件
1.下载MvcPager.dll文件并引用到MVC项目中 2.在控制器中引用命名空间using Webdiyer.WebControls.Mvc; 3.获取数据集合,数据的总记录数(数据集合有多少条数 ...
- PCB信号集
每一个进程都有一个pcb进程控制块,用来控制进程的信息,同时信号在pcb中有两个队列去维护他,一个是未决信号集,每一位对应一个信号的状态,0,1,1表示未决态,另一个是信号屏蔽字(阻塞信号集),也就0 ...
- request和response对象的具体介绍
Request 对象 - request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性.常见属性有: req.app:当callback为外部文件时,用req ...
- 理解zookeeper选举机制
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...