精华内容
下载资源
问答
  • matlab统计分布
    2021-11-27 19:08:07

        pyp = histogram(y,bins);
        py = pyp.Values/length;
        hy = - sum(py .* log(py+1e-8));

    matlab 绘制2d的直方图

    pxyp = histogram2(x,y,bins);
    pxy = pxyp.Values/length;
    hxy = - sum(sum(pxy .* log(pxy+1e-8)));

    %% 计算互信息的函数
    function ixy = calMIMatlab(x,y)
        length = size(x,2);
        bins = 100 ;
        pxp = histogram(x, bins);
        px = pxp.Values/length;
        hx = - sum(px .* log(px+1e-8));
    
        pyp = histogram(y,bins);
        py1 = pyp.Values/length;
        hy = - sum(py1 .* log(py1+1e-8));
    
        pxyp = histogram2(x,y,bins);
        pxy = pxyp.Values/length;
        hxy = - sum(sum(pxy .* log(pxy+1e-8)));
    
        ixy = hx + hy - hxy;
    end
    更多相关内容
  • 使用MATLAB对Excel中记录的成绩,进行成绩分布统计,成绩中可以包含小数

     任务

    统计用excel记录的多个班级的考试情况

     文件夹如下所示

    班级(1)中记录的信息如下所示

    MATLAB代码

    clc
    clear
    files = dir('*.xls');    % 读取本m函数所在文件夹内部所有以.xls结尾的excel文件,假设有n个
    
    %首先,搭好表格框架
    sheet = 1;%整理的信息只写在sheet1
    xlRange='A2';%从A2开始
    class=cell(length(files(:)),1);%创建n*1的元胞数组,用来记录excel文件名
    for i=1:length(files(:))
        class{i,1}=[files(i).name];%添加excel文件名到元胞数组
    end
    xlswrite('成绩分布统计结果.xlsx',class,sheet,xlRange)%创建成绩分布统计文件,并将结果写入
    
    title = {'[0,60)','[60,70)','[70,80)','[80,90)','[90,100]','总人数'};%成绩的划分
    xlRange='B1';%从B1开始
    xlswrite('成绩分布统计结果.xlsx',title,sheet,xlRange)%写入表头
    
    %读取Excel信息,并进行处理
    result=[]
    for i=1:length(files(:))
        X = sprintf('i=%d.',i);
        disp(X)
        filename = files(i).name   % 逐个读取文件名
        [num,txt,raw] = xlsread(filename);% 读取excel文件信息
        
        %%%%%%%%%%%%%%%%%%%%%%%%%%%
        %读取成绩
        grade_cell=txt(2:end,8);%读取第2行到最后一行的第8列数据 
        %%%%%%%%%%%%%%%%%%%%%%%%%%%
        
        grade_str=string(grade_cell);%转换成字符串
        grade_num=cellfun(@str2num,grade_str);%转换成整数 %重点,在这里花了很长时间
        
        grade=[]
        grade(1)=length(find( 0<=grade_num(:) & grade_num(:)<60));%统计[0,60)的人数
        grade(2)=length(find(60<=grade_num(:) & grade_num(:)<70));%统计[60,70)的人数
        grade(3)=length(find(70<=grade_num(:) & grade_num(:)<80));%统计[70,80)的人数
        grade(4)=length(find(80<=grade_num(:) & grade_num(:)<90));%统计[80,90)的人数
        grade(5)=length(find(90<=grade_num(:) & grade_num(:)<=100));%统计[90,100]的人数
        
        result=[result;grade,sum(grade)];
        
        if sum(grade)==length(grade_num(:))%确保成绩都是在[0,100]之间
            disp( result(i,:));
        else
            disp('计算出错!!!');
        end
    end
    
    %记录结果
    A = result
    xlRange='B2';
    xlswrite('成绩分布统计结果.xlsx',A,sheet,xlRange);

    执行结果

    生成文件成绩分布统计结果.xlsx,其内容如下

      注意:例子只能读取.xls结尾的Excel文件

    参考资料:

    https://blog.csdn.net/qq_38882446/article/details/111874602https://blog.csdn.net/qq_38882446/article/details/111874602

    展开全文
  • matlab数据统计和分析

    2022-06-14 17:01:55
    式中,x表示统计中的样本。 中位数:将数据由小到大排序后居于中间位置的那个数值 平均值 中位数 标准差是各个数据与均值偏离程度的度量,其定义为: s=[1n−1∑i=1n(Xi−Xˉ)2] s=\sqrt{\left[ \frac{1}{n-1}\sum_...

    常用统计量

    1.表示位置的统计量——平均值和中位数

    平均值(或均值,数学期望):
    x ˉ = 1 n ∑ i = 1 n x i \bar{x}=\frac{1}{n}\sum_{i=1}^n{x_i} xˉ=n1i=1nxi
    式中,x表示统计中的样本。
    中位数:将数据由小到大排序后居于中间位置的那个数值

    • mean(a,dim)——默认是求每一列的平均值,dim=1给出每一列的平均值,dim=2表示给出每一行的平均值
    • median(a,dim),默认是求每一列的中位数,dim=1给出每一列的中位数,dim=2表示给出每一行的中位数
    A=[1:5;2:6;3:7]
    b=mean(A,1)%求每一列的平均值
    c=mean(A,2)%求每一行的平均值
    d=median(A,1)
    e=median(A,2)
    

    平均值
    在这里插入图片描述
    中位数
    在这里插入图片描述

    2.表示变异程度的统计量——标准差、方差和极差

    标准差是各个数据与均值偏离程度的度量,其定义为:
    s = [ 1 n − 1 ∑ i = 1 n ( X i − X ˉ ) 2 ] s=\sqrt{\left[ \frac{1}{n-1}\sum_{i=1}^n{\left( X_i-\bar{X} \right) ^2} \right]} s=[n11i=1n(XiXˉ)2]

    其中X表示统计中的样本
    方差:标准差的平方
    极差:样本中最大值与最小值之差

    matlab求解方差和标准差的函数分别是var(x)和std(x)

    A=[1:5;2:6;3:7]
    var(A)%返回每一列的方差,自由度为(n-1)
    var(A,1)%自由度为n
    std(A)%求每一列的标准差
    

    在这里插入图片描述

    3. 表示分布形状统计量——偏度和峰度

    偏度:
    g 1 = 1 s 3 ∑ i = 1 n ( X i − X ˉ ) 3 g_1=\frac{1}{s^3}\sum_{i=1}^n{\left( X_i-\bar{X} \right) ^3} g1=s31i=1n(XiXˉ)3
    偏度反映分布的对称性,可以看出偏度可正可负,如果偏度大于0那么就是右偏态,否则是左偏态
    峰度:
    g 2 = 1 s 4 ∑ i = 1 n ( X i − X ˉ ) 4 g_2=\frac{1}{s^4}\sum_{i=1}^n{\left( X_i-\bar{X} \right) ^4} g2=s41i=1n(XiXˉ)4
    峰度是分布形状的另外一种度量,正态分布的峰度为3,若 g 2 g_2 g2比3大很多,可近似说明不是正态分布
    在matlab中,可以使用jbtest函数进行Jarque-Bera检验,测试数据对正态分布的偏离程度
    若输出h=1,则可说明在0.05的显著性水平下不是正态分布

    data=[10,11,12,13,14,15,16,78,19,20,20,20,20,20, 11,12,13,14, 15,12,12,12,12,12,12,11,13]
    [H,P]=jbtest(data)%输出h值和p值
    

    在这里插入图片描述
    即不服从正态分布

    随即数的生成

    1.二项分布随机数

    • binord(N,P,m,n)——n,p是二项分布的两个参数,m,n是生成矩阵的行和列
      某射击手进行设计比赛,假设每枪射击命中率,每轮射击 10 次,共进行 10 万轮。 用直方图表示这 10 万轮每轮命中成绩的可能情况。 \text{某射击手进行设计比赛,假设每枪射击命中率,每轮射击}10\text{次,共进行}10\text{万轮。} \\ \text{用直方图表示这}10\text{万轮每轮命中成绩的可能情况。} 某射击手进行设计比赛,假设每枪射击命中率,每轮射击10次,共进行10万轮。用直方图表示这10万轮每轮命中成绩的可能情况。
    x=binornd(10,0.45,100000,1);
    hist(x,11)
    

    在这里插入图片描述
    由此可知,该射击员最有可能命中4环

    2.泊松分布随机数

    泊松分布表达式为:
    f ( x ∣ β ) = λ x x ! e − λ , x = 0 , 1 , . . . , ∞ f\left( x|\beta \right) =\frac{\lambda ^x}{x!}e^{-\lambda},x=0,1,...,\infty f(xβ)=x!λxeλ,x=0,1,...,

    x=1:20
    y=poisspdf(x,5)%产生20个随机数
    plot(x,y,":r*")%画概率密度函数图
    

    在这里插入图片描述

    3.均匀分布随机数

    *unifrnd(A,B)以A为上限,B为下限生成均匀分布随机数

    unifrnd(10,20)
    

    在这里插入图片描述

    4.正态分布随机数

    *使用normrnd(mu,sigma)函数可以生成正态分布随机数,其中mu是均值,sigma是标准差

    normrnd(3,2,3,3)
    

    在这里插入图片描述

    假设检验

    1.方差已知时均值的假设检验

    在给定方差的条件下,可以使用ztest函数来检验单样本数据是否服从给定均值的正态分布。
    ztest(x,m,sigma,alpha,tail),tail=0是双侧,等于-1和1是单侧
    某工厂随机选取的8只零部件的装配时间如下:

    12.1478 ,  11.3194 ,  18.1945   ,19.3617  , 15.7478  , 17.3202 ,  19.1669 ,19.5776
    

    假设装配时间的总体服从正态分布,标准差为3.24,请检测装配时间的均值与15有无明显差异

    m=[ 12.1478 ,  11.3194 ,  18.1945   ,19.3617  , 15.7478  , 17.3202 ,  19.1669 ,19.5776]
    ztest(m,14,3.24,0.05,0)
    

    在这里插入图片描述
    输出结果为1,即可以得出在0.05的显著性水平下,装配时间的均值不等于15

    2.方差已知时均值的假设检验

    *ttest(x,m,alpha,tail)
    假设某种电子元件的寿命X服从正态分布,且均值和方差未知。现在获取10只元件的寿命如下:

    10.1,10.2,10.11,10.33,10.44,10.55,10.66,10.12,10.31,10.15
    

    请判断平均寿命与10是否有显著差异

    m=[10.1,10.2,10.11,10.33,10.44,10.55,10.66,10.12,10.31,10.15]
    ttest(m,10)
    

    在这里插入图片描述
    同样拒绝原假设,即有显著差异

    展开全文
  • matlab温度分布代码TT-MRF TT-MRF是使用Tensor Train分解方法进行马尔可夫随机场推断的库。 该代码是为了支持以下论文而发布的: 将MRF放在张量火车上亚历山大·诺维科夫(Alexander Novikov),安东·罗多诺夫...
  • 发生 X次战争的年数战争次数X 22314248154 01234从1500到1931年的432年间,每年爆发战争的次数可以看作一个随机变量,椐统计,这432年间共爆发了299次战争,具体数据如下: 在概率论中,大家对泊松分布产生的一般条件...

    发生 X次战争的年数战争次数X 22314248154 01234从1500到1931年的432年间,每年爆发战争的次数可以看作一个随机变量,椐统计,这432年间共爆发了299次战争,具体数据如下: 在概率论中,大家对泊松分布产生的一般条件已有所了解,容易想到,每年爆发战争的次数,可以用一个泊松随机变量来近似描述 . 也就是说,我们可以假设每年爆发战争次数分布X近似泊松分布.现在的问题是:上面的数据能否证实X 具有泊松分布的假设是正确的?又如,某钟表厂对生产的钟进行精确性检查,抽取100个钟作试验,拨准后隔24小时以后进行检查,将每个钟的误差(快或慢)按秒记录下来.问该厂生产的钟的误差是否服从正态分布?再如,某工厂制造一批骰子,声称它是均匀的.也就是说,在投掷中,出现1点,2点,…,6点的概率都应是1/6. 为检验骰子是否均匀, 要把骰子实地投掷若干次,统计各点出现的频率与1/6的差距.问题是:得到的数据能否说明“骰子均匀”的假设是可信的? 现实生活中的许多数据都是随机产生的,如考试分数、月降雨量、灯泡寿命等。从数理统计角度来看,这些数据其实都是符合某种分布的,这种规律就是统计规律。 本专题的主要目的是:熟悉Matlab相关命令;熟悉各种常见分布的概率密度函数及其曲线,会利用数据分布的形态猜测其分布类型;能够对密度函数进行参数估计;进行简单的假设检验(以正态检验为主)。内容提纲1.Matlab相关命令介绍2.常见概率分布3.频数直方图与频数表4.参数估计5.假设检验Matlab相关命令 数据统计处理基本命令最值:max(x), min(x)(1) max(X):返回向量X的最大值,如果X中包含复数元素,则按模取最大值。(2) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。(3) [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。(4) max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。Matlab相关命令数据统计处理基本命令求和: (1) sum(X),返回向量X各元素的和。(2) sum(A) ,返回一个行向量,其第i个元素是A的第i列的元素和。(3)sum(A,dim) ,当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。乘积:(1) prod(X) ,返回向量X各元素的乘积。(2) prod (A) , 返回一个行向量,其第i个元素是A的第i列元素的乘积。(3) prod(A,dim) ,当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之乘积。Matlab相关命令数据统计处理基本命令累加和与累乘积 在MATLAB中,使用cumsum和cumprod函数能方便地求得向量和矩阵元素的累加和与累乘积向量,函数的调用格式为:cumsum(X):返回向量X累加和向量。cumprod(X):返回向量X累乘积向量。cumsum(A):返回一个矩阵,其第i列是A的第i列的累加和向量。cumprod(A):返回一个矩阵,其第i列是A的第i列的累乘积向量。cumsum(A,dim):当dim为1时,该函数等同于cumsum(A);当dim为2时,返回一个矩阵,其第i行是A的第i行的累加和向量。cumprod(A,dim):当dim为1时,该函数等同于cumprod(A);当dim为2时,返回一个向量,其第i行是A的第i行的累乘积向量。Matlab相关命令数据统计处理基本命令相关系数 MATLAB提供了corrcoef函数,可以求出数据的相关系数矩阵。corrcoef函数的调用格式为:corrcoef(X):返回从矩阵X形成的一个相关系数矩阵。此相关系数矩阵的大小与矩阵X一样。它把矩阵X的每列作为一个变量,然后求它们的相关系数。corrcoef(X,Y):在这里,X,Y是向量,它们与corrcoef([X,Y])的作用一样。Matlab相关命令数据统计处理基本命令排序 MATLAB中对向量X是排序函数是sort(X),函数返回一个对X中的元素按升序排列的新向量。 sort函数也可以对矩阵A的各列或各行重新排序,其调用格式为: [Y,I]=sort(A,dim) 其中dim指明对A的列还是行进行排序。若dim=1,则按列排;若dim=2,则按行排。Y是排序后的矩阵,而I记录Y中的元素在A中位置。 Matlab相关命令数据统计处理基本命令类似的用法,请自己借助matlab在线帮助功能自己了解:中位数:median(x)标准差:std(

    展开全文
  • matlab数据概率分布折线统计

    千次阅读 2020-10-12 10:25:17
    %分100个区间进行统计 maxdat = max(ydata);%最大值 mindat = min(ydata);%最小值 bin_space = (maxdat - mindat) / bins;%每个bin宽度 xtick = mindat : bin_space : maxdat - bin_space; % 求pdf distribution = ...
  • 本子程序复制了[1]中给出的一些示例,带有和不带有Matlab统计工具箱[2]。 本呈件包含: •2个函数fitGEV.m和mygevcdf.m •一个Matlab Livescript文件Documentation.mlx,它再现了[1]中给出的一些结果。 •一个...
  • MATLAB绘制粒度分布R-R-B线图.pdf
  • 可以计算边缘分布函数的相关性
  • 目前,统计工具箱中不包含正态逆高斯分布。 这个 m 文件集合为这个工具箱补充了 NIG 分布最重要的功能:随机数、矩、cdf、pdf 和矩拟合参数。
  • 类似于 MATLAB 统计工具箱中的 normpdf、normstat、normrnd 和 normfit,但适用于 Rice 分布,这在通信和磁共振成像中很有用。 Ricepdf - Rice/Rician 概率密度函数(pdf)。 Ricestat - Rice/Rician 概率分布的...
  • MATLAB分布统计以及正态分布拟合图

    万次阅读 多人点赞 2021-01-27 11:13:42
    假设现有一个名为data的1x500的数据,这里我们使用normrnd随机生成一个正态分布的数据 data=normrnd(0,5,[1,500]); 可以使用histogram函数对齐分布进行绘制,这里我们把它分成30个bar,可以粗略看出接近正态分布 ...
  • 工具箱,用于计算广义卡方分布统计信息、pdf、cdf、逆 cdf 和随机数。 作者 Abhranil Das,德克萨斯大学奥斯汀分校感知系统中心。 错误/评论/问题/建议。 如果您使用此代码,请引用: 安装 在 Matlab 的 Home 选项...
  • 笔记: * 这是一个数值近似值,所以在“严肃”的统计应用中要小心使用! * 实现了两种不同的算法。 一种对小范围内的大量随机点(maxVal-minVal)有效,而另一种对合理数量的点的大范围有效。 对于大范围,关于
  • MATLAB 数理统计图像绘制 可以将频率分布直方图与核密度曲线、正态分布函数密度曲线叠加在一起。可以将频率分布直方图与核密度曲线、正态分布函数密度曲线叠加在一起。可以将累计频率直方图和正态分布频率分布直方图...
  • MATLAB统计分析-概率分析

    千人学习 2019-10-31 16:06:01
    主要介绍MATLAB统计分析中的概率分析内容,包括随机变量及其分布、随机数生成、随机变量数字特征、抽样分布和概率分布图、分布拟合等内容
  • Matlab Statistics Toolbox 中概率分布函数介绍Matlab Statistics Toolbox 提供了对几乎所有概率分布的支持,可以方便产生服从各类分布的随机数及其PDF/CDF函数。其中,既提供了针对所有分布的通用分布函数,其参数...
  • 可用于库存控制和排队系统、通信网络、制造应用中的维护密集型系统的建模和仿真。
  • [A, B] = CHI2TEST(DATA, N, ALPHA, DIST, X, Y, Z) 返回行向量 DATA 中包含的样本的卡方统计量。 N 指定检验的等概率类区间数。 ALPHA 是用于找到临界卡方值的置信水平参数。 DIST 是一个包含我们正在测试的概率...
  • MATLAB boxplot 如何统计所有外点异常值 不要离群值 消除红点
  • 马氏链的稳定分布matlab代码ProNEVA_工具箱: 过程知情非平稳极值分析 (ProNEVA) 是一个 Matlab 软件包,旨在促进平稳和非平稳假设下的极值分析 (EVA)。 ProNEVA 允许使用时间或基于物理的协变量来描述极端统计数据...
  • 这些函数的主要特征允许 (i) 阴影线绘制和 (ii) 阴影统计分布线绘制。 阴影绘图: 此功能在线条图 (plot_shaded) 下添加了浅色阴影效果。 此函数还可用于创建具有视觉吸引力的直方图 (plot_histogram_shaded)。 ...
  • Matlab计算矩阵频率分布直方图

    千次阅读 2020-12-08 22:09:01
    最近在做温差直方图统计。 先来看下最新的histogram 一些使用语法直接拉到最底,重点说两个。 废话不多说上代码: a=[1,2,3;3,4,5;2,3,1]; histogram(a) 相比于hist这是一个比较大的更新吧。 在获取直方图时,需要...
  • 关于统计力学中经常出现的各种分布 参考: https : //blogs.mathworks.com/pick/2021/03/26/animation-playback-controls-in-live-scripts-r2021a/
  • 一个雷达回波模拟的matlab程序包
  • matlab实验一数据统计量及其分布检验.pdf
  • matlab泊松分布曲线

    千次阅读 2021-04-19 02:31:21
    分布的概率密度函数 ... 本专题的主要目的是:熟悉Matlab相关命令;熟悉 各种常见分布的概率密度函数及其曲线,会利用数据 分布的形态猜测其分布类型;能够对密度函数进行参 数估计;进行简单的......N 的超几何分布随...
  • 统计工具箱是matlab提供给人们的一个强有力的统计分析工具。包含200多个m文件(函数),主要支持以下各方面的内容。 〉〉概率分布:提供了20种概率分布,包含离散和连续分布,且每种分布,提供了5个有用的函数,即...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,039
精华内容 6,415
关键字:

matlab统计分布