相关Matlab函数:hist, bar, cdfplot, ksdensity

(1) hist函数

n = hist(Y, x) 

假设x是一个向量,返回x的长度个以x为中心的,Y的分布情况。

比如:假设x是一个5元素的向量,返回Y在以x为中心的,x长度个范围内数据直方分布。

[n,xout] = hist(...) 

返回n和xout。包括有数目频率和间隔位置。能够使用bar(xout, n)来绘制直方图。



(2) bar函数

绘制条形图。bar(X,Y) 将Y矩阵的每一行化成一组条形图。条形图组数为行数;每组条形图数目为X矩阵的列数。

X指定条形图的中心位置,不能有反复的数。



(3) cdfplot函数

格式 cdfplot(X) %作样本X(向量)的累积分布函数图形

[h,stats] = cdfplot(X) %stats表示样本的一些特征



(4) ksdensity函数

假设你得到一堆数。你想知道它们的大致分布,能够使用kedensity函数解决问题。

命令例如以下:

[f,xi]=ksdensity(x)

plot(xi,f)

当中,f是预计的密度值,而xi是一个辅助參数。用来决定画出图形的取值区间,简言之,xi大致涵盖了x的取值区间。

看过图形之后,開始对分布有大概的直观印象,然后能够用比方normfit命令来获得相关的參数估值。

演示样例1: 使用hist预计cdf

hist 是统计数据在指定的区间内分布的个数。这个分布的个数体现的是随机变量的分布状况,假设你的数据量足够多的话,hist 的结果能够用于估算随机变量的 cdf。

dx = 0.001;
Num = 100000;
x = -4:dx:4;
y = randn(Num,1);
[n,xout] = hist(y,x);
cdf = cumsum(n)/Num;
plot(x,cdf,'b-','LineWidth',6); hold on
plot(x,normcdf(x,0,1),'r-','LineWidth',2)
legend('Empirical CDF via hist', 'Analytical CDF via normpdf',4);
axis tight

演示样例2: 使用hist函数和导数定义预计pdf

随机数据给定的情况下,ksdensity 能够获得对 pdf 的较好的预计,它的算法是基于高斯核函数。预计较为准确。

hist 仅仅能粗略的预计 pdf (虽然 hist 预计cdf比較精确)。这是由于 hist 预计pdf的办法是先预计 cdf。cdf再求导得到 pdf,数值求导的过程easy引入较大的误差。比方。以下的办法是利用导数的定义来求导。

求导公式为:

<img src="http://latex.codecogs.com/gif.latex?f(x)=\dfrac{dF(x)}{dx}=\lim_{\Delta x\rightarrow 0}\dfrac{F(x+\Delta x)-F(x)}{\Delta x}"/>

dx = 0.001;
Num = 100000;
x = -4:dx:4;
y = randn(Num,1);
[n,xout] = hist(y,x);
pdf = n/Num/dx; % 导数定义
bar(xout,pdf);hold on
[f,xi] = ksdensity(y);
plot(xi,f,'ro','MarkerSize',8,'LineWidth',2);
plot(x, normpdf(x,0,1),'r-','LineWidth',2);hold off
legend('Empirical PDF via hist','Empirical PDF via ksdensity', 'Analytical PDF via normpdf');
axis tight

演示样例3:使用hist函数和求导函数gradient预计pdf

dx = 0.001;
Num = 100000;
x = -4:dx:4;
y = randn(Num,1);
[f,xi] = ksdensity(y);
[n,xout] = hist(y,x);
cdf = cumsum(n)/Num;
pdf = gradient(cdf,dx);
bar(xout(1:50:end),pdf(1:50:end));hold on % 每隔50点抽样,为了更清楚显示pdf
plot(xi,f,'ro','MarkerSize',8,'LineWidth',2);
plot(x, normpdf(x,0,1),'r-','LineWidth',2);hold off
legend('Empirical PDF via hist + gradient', 'Empirical PDF via ksdensity','Analytical PDF via normpdf');
axis tight

參考文献

『http://www.ilovematlab.cn/thread-272344-1-1.html』

『http://www.ilovematlab.cn/thread-272251-1-1.html』

Matlab依据样本随机数求概率曲线的更多相关文章

  1. matlab 全部的随机数函数

    matlab 全部的随机数函数 (一)Matlab内部函数 a. 基本随机数 Matlab中有两个最基本生成随机数的函数. 1.rand() 生成(0,1)区间上均匀分布的随机变量.基本语法: ran ...

  2. [MATLAB] 利用遗传算法函数求目标函数的最优解

    最近接触到了遗传算法以及利用遗传算法求最优解,所以就把这些相关的内容整理记录一下. 一.遗传算法简介(摘自维基百科) 遗传算法(英语:genetic algorithm (GA))是计算数学中用于解决 ...

  3. MATLAB线性方程组的迭代求解法

    MATLAB线性方程组的迭代求解法 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 一.实验目的 1. 借助矩阵按模最大特征值,判断解方程组的Jacobi ...

  4. MATLAB PCHIP函数一阶求导分析

    MATLAB PCHIP函数一阶求导分析 摘要:本文首先根据三次立方插值的一般表达式,得出分段三次立方插值时,每个小区间上的各次项系数.分析发现,三次项.二次项.一次项系数都与小区间端点处的一阶导数值 ...

  5. matlab练习程序(求向量间的旋转矩阵与四元数)

    问题是这样,如果我们知道两个向量v1和v2,计算从v1转到v2的旋转矩阵和四元数,由于旋转矩阵和四元数可以互转,所以我们先计算四元数. 我们可以认为v1绕着向量u旋转θ​角度到v2,u垂直于v1-v2 ...

  6. matlab(4) Logistic regression:求θ的值使用fminunc / 画decision boundary(直线)plotDecisionBoundary

    画decision boundary(直线) %% ============= Part 3: Optimizing using fminunc =============% In this exer ...

  7. matlab练习程序(求灰度图像最大灰度,最小灰度,平均灰度)

    转自 http://www.cnblogs.com/tiandsp/archive/2012/01/07/2316006.html  感谢Dsp tian clearclc;img = imread( ...

  8. matlab(3) Logistic Regression: 求cost 和gradient \ 求sigmoid的值

    sigmoid.m文件 function g = sigmoid(z)%SIGMOID Compute sigmoid functoon% J = SIGMOID(z) computes the si ...

  9. matlab计算样本熵

    计算14通道得脑电数据吗,将得出的样本熵插入Excel表格 a = zeros(1,14); b = a'; for i =1:14 b(i) = SampEn(d1_1(i,1:3000),2,0. ...

随机推荐

  1. iOS学习笔记14-网络(三)WebView

    一.WebView WebView就是一个内嵌浏览器控件,在iOS中主要有两种WebView:UIWebView和WKWebView,UIWebView是iOS2之后开始使用,WKWebView是在i ...

  2. iOS学习笔记05-触摸事件

    一.事件分发处理[由外到内] 在iOS中发生触摸后,事件会加到UIApplication事件队列,UIApplication会从事件队列取出最前面的事件进行分发处理,通常会先分发给主窗口,主窗口会调用 ...

  3. 【bzoj2597】[Wc2007]剪刀石头布 动态加边费用流

    题目描述 在一些一对一游戏的比赛(如下棋.乒乓球和羽毛球的单打)中,我们经常会遇到A胜过B,B胜过C而C又胜过A的有趣情况,不妨形象的称之为剪刀石头布情况.有的时候,无聊的人们会津津乐道于统计有多少这 ...

  4. 2014·NOIP 新的历程,新的开始

    10.12 从9月1号开始奋战,到了今天终于重新把所有普及和提高的复赛题全部AC了.40多天AC130多道想想也是醉了,也许是机房一群大神给予我的压力吧. 想想暑假,整天玩游戏,与此同时,CZL.CY ...

  5. mysql5.7.23版本环境配置

    亲身实践安装mysql,用时居然花费了三个小时,在有那么多教程的情况下,依然在不该花费时间的路上浪费了太多时间.希望这篇文章能够帮助大家少走弯路~~ 1.下载我下载的是64位. 2.解压下载之后,我选 ...

  6. BZOJ 1191: [HNOI2006]超级英雄Hero【二分图匹配】

    裸的匹配题,一眼就能看出来二分图的模型,是某个经典题的改编.貌似某本图论书上讲过的,有N个人以及M个职位,每个职位只能提供给一个人,而每个人由于能力有限只能胜任有限个职位,问是否有办法使得每个人都有工 ...

  7. 【bzoj4320】【ShangHai2006 Homework】【并查集+离线处理】

    ShangHai2006 Homework Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 918  Solved: 460[Submit][Statu ...

  8. Fruit Ninja

    Fruit Ninja 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 Fruit Ni ...

  9. android悬浮窗口的一些说明

    1.xml文件里的权限申请 <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" ...

  10. Java面试题集(七)--Spring常见面试问题【重要】

    以下为spring常见面试问题: 1.什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台. Spring ...