zoukankan      html  css  js  c++  java
  • Matlab:任意矩阵计算分布密度(海明距离的分布密度)

    如何画分布密度?如下图所示:


    x轴是海明距离,y轴是分布密度。我写一个函数,输入为海明距离hd。

    function out  = YanMiDu(hd)

    xMin = min(hd);

    xMax = max(hd);

    x = linspace(xMin, xMax, 20); %将最大值 最小值区间分成19个小段

    y = hist(hd,x);  %计算各个区间,hd出现的次数

    y = y/length(hd); %hd是个行向量,length计算个数.换算成百分比

    如果想画bar壮概率密度,则用下面语句:

    bar(x,y)

    如果画分布函数:

    s = 0;

    for i=2:length(x)
     s=[s,trapz(x([1:i]),y([1:i]))];
    end
    figure;
    plot(x,s,x,s,'*')

     

    如果曲线需要拟合:

    a= polyfit(x,y,2);
    yy= polyval(a, x);

    plot(x, yy); %拟合后的曲线

     

    注意:有时候曲线不闭合,就是在x轴最大值的地方,没有闭合。在x = linspace(xMin, xMax, 20);
    可以将其改为:x = linspace(xMin, xMax+0.01, 20);

    xMax加的那个0.01就是为了让曲线闭合,更好看!当然参数根据自己的需要设。

  • 相关阅读:
    Linux分区
    Vim 基本配置
    Ubuntu几种常见乱码解决方法
    ADB
    ubuntu下安装配置ADB
    Tinyos学习笔记(三)
    Tinyos学习笔记(二)
    Codeforces Round #249 (Div. 2) A题
    poj 2007 Scrambled Polygon(极角排序)
    MemSQL Start[c]UP 2.0
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3073290.html
Copyright © 2011-2022 走看看