精华内容
下载资源
问答
  • Matlab中期望最大化(EM)算法 此代码实现了Expectation-Maximization(EM)算法,并在简单的2D数据集上对其进行了测试。 期望最大化(EM)算法是一种迭代方法,用于在统计模型依赖于未观察到的潜在变量的情况下...
  • Matlab关于数学期望的实验,涉及Matlab利用随机函数对数学期望的模拟
  •  在matlab中求一个矩阵中元素的和可以自己编写for循环来完成,这样比较方便,想求那些数据的和都可以做到,然而效率比较低,如果数据量大程序会跑好长时间。所以我们可以转而用matlab提供的sum函数。  设M为一个...

    matlab中矩阵元素求和、求期望和均方差

          在matlab中求一个矩阵中元素的和可以自己编写for循环来完成,这样比较方便,想求那些数据的和都可以做到,然而效率比较低,如果数据量大程序会跑好长时间。所以我们可以转而用matlab提供的sum函数。

         设M为一个矩阵,那么:

         1、求和

         sum(M):以矩阵M的每一列为对象,对每一列的数据分别求和。

         sum(M,2):以矩阵的每一行为对象,对每一行的数据分别求和。

         sum(M(:)):将矩阵中的所有元素相加求和。

         2、求期望

          matlab中矩阵元素求期望的函数mean与sum用法雷同。

          mean(M):以矩阵M的每一列为对象,对每一列的数据分别求期望。

          mean(M,2):以矩阵的每一行为对象,对每一行的数据分别求期望。

          mean(M(:)):以矩阵所有数据为对象求期望。

         3、求均方差

          若要求整个矩阵所有元素的均方差,则要使用std2函数:std2(M)

          注:Matlab中有求数组方差的 函数:var;要注意的是var函数所采用公式中,分母不是length(X) ,而是length(X)-1 。这是因为var函数实际上求的并不是方差,而是误差理论中“有限次测量数据的标准偏差的估计值”。var没有求矩阵的方差功能,可使用std先求均方差,再平方得到方差。std,均方差,std(X,0,1)求列向量方差,std(X,0,2)求行向量方差。

    eg:

    >>X=[1,2,3,4]

    >>var(X)=1.6667

    >> sum((X(1,:)-mean(X)).^2)/length(X)=1.2500

    >> sum((X(1,:)-mean(X)).^2)/(length(X)-1)=1.6667

    展开全文
  • 期望最大化(EM)算法是一种迭代方法,用于在统计模型依赖于未观察到的潜在变量的情况下,找到参数的最大似然或最大后验(MAP)估计。 EM 迭代在执行期望 (E) 步骤和最大化 (M) 步骤之间交替执行,该步骤为使用...
  • 一用MATLAB计算离散型随机变量的数学期望通常对取值较少的离散型随机变量可用如下程序进行计算对于有无穷多个取值的随机变量其期望的计算公式为可用如下程序进行计算案例7.63 一批产品有一二三等品等外品及废品5种...
  • 本博文源于matlab基础,主要讲述已知随机变量分布律求期望还有已知随机变量的概率密度求期望与方差

    本博文源于matlab基础,主要讲述已知随机变量分布律求期望还有已知随机变量的概率密度求期望与方差。

    例子:设随机变量X的分布律如下表所示:

    X1030507090
    Pk1/21/31/361/121/18

    拿到题目就是随机变量乘以分布律求和即可。

    >> x=[10 30 50 70 90];
    >> p=[1/2,1/3,1/36,1/12,1/18];
    >> EX=sum(x.*p)
    
    EX =
    
       27.2222
    
    >> 
    

    例子:设随机变量X的概率密度为:

             1/2cos(x/2)         0<=x<=pai
    f(x)=   0                       其他
    
    

    求随机变量X的期望与方差,值得注意的是代码中int函数是求积分的函数
    在这里插入图片描述
    希望大家熟悉,就可以理解matlab代码如何书写了。

    >> syms x
    >> fx = 1/2 * cos(x/2);
    >> EX = int(x*fx,x,0,pi)
     
    EX =
     
    pi-2
     
     
    >> E2X=int(x^2*fx,x,0,pi);
    >> DX = E2X - EX^2
     
    DX =
     
    pi^2-8-(pi-2)^2
     
     
    >> 
    
    展开全文
  • 使用matlab计算随机变量的期望和方差,以及随机变量函数的期望和方差
  • 了解随机信号自身的特性包括均值数学期望方差均方值等 2. 掌握随机信号的分析方法 二实验原理 1.均值测量方法 均值表示集合平均值或数学期望值基于随机过程的各态历经性最常用的方法是取N个样本数据并简单地进行平均...
  • matlab开发-交替条件期望算法。交替条件期望算法(ace)计算最优变换
  • 本博文源于matlab对概率论的应用。讲述二项分布和指数分布的期望与方差的计算,只需要利用概率分布命令+运算功能函数即可,下面我们就一起来学习吧!

    本博文源于matlab对概率论的应用。讲述二项分布和指数分布的期望与方差的计算,只需要利用概率分布命令+运算功能函数即可,下面我们就一起来学习吧!
    博主的上一篇关于概率分布的命令博文:
    matlab常见概率分布的命令函数(含例子运用)
    讲述一些常用的命令函数格式应用举例

    例子:求出二项分布n=2020,p=0.1的期望与方差

    解决本次例子只需要使用函数[E,D]=binostat(n,p)函数即可,E是指结果的期望,D就是方差
    代码如下:

    >> [E,D]=binostat(2020,0.1)
    
    E =
    
       202
    
    
    D =
    
      181.8000
    
    >> 
    

    例子:求出x=[1,3,5,7,9]的指数分布的期望与方差

    只需要使用函数[E,D]=expstat(x)即可
    代码如下:

    >> [E,D]=expstat(1:2:9)
    
    E =
    
         1     3     5     7     9
    
    
    D =
    
         1     9    25    49    81
    
    >> 
    
    展开全文
  • matlab开发-期望最大化

    2019-08-24 07:29:16
    matlab开发-期望最大化。应用期望最大化将二项式分布的混合物拟合到数据集
  • 该代码在Matlab中实现了期望最大化算法 使用EM_main.m运行EM代码 可以通过“ cluster_data”变量提供用户群集数据,也可以使用代码提供的综合数据进行测试。 使用变量“中心”(Centers)更改要分类为数据的中心的...
  • 最近,由于科研工作需求,需要处理某一类波动信号,遂利用经验模态分解(EMD)、集合经验模态分解(EEMD)和希尔伯特-...而在MATLAB2018a及其以后的版本,集成和自带了HHT函数。 请各位网友解答我的疑惑,不胜感...

    最近,由于科研工作需求,需要处理某一类波动信号,遂利用经验模态分解(EMD)、集合经验模态分解(EEMD)和希尔伯特-黄变换对上述信号进行处理,期望获取有用的本征模态函数(IMF)、频率信息和边际谱等。

    在信号实施和处理时发现,网上大多代码均由较早时期的MATLAB完成,彼时还没有自带的HHT函数。而在MATLAB2018a及其以后的版本中,集成和自带了HHT函数。

    请各位网友解答我的疑惑,不胜感激!!!

    问题1:函数hhspectrum()返回的是否为归一化后的频率?为何?

    函数instfreq中有如下注释
    The result FNORMHAT lies between 0.0 and 0.5.
    

    问题2:函数toimage()的原理是什么?为什么以各个IMF分量的瞬时幅值和瞬时频率为输入得到的im是N*N的矩阵(N表示信号长度)?

    [im,tt,ff] = TOIMAGE(A,f,t,splx,sply) transforms a spectrum made of 1D functions (e.g., output of "hhspectrum") in an 2D image
    

    问题3:老版MATLAB求取边际谱时为何乘以 1 f s \frac{1}{fs} fs1

    for k=1:size(E,1)
        bjp(k)=sum(E(k,:))*1/fs; 
    end
    

    问题4:如何根据新版MATLAB求取边际谱?

    [P,F,T,insf,inse]=hht(d(5:N_imf,:)',fs);
    

    关于hht函数的解释,请参照MATLAB——Hilbert-Huang Transform (HHT)


    问题5:如何根据新版MATLAB绘制三维时频谱图?

    hht(d(5:N_imf,:)',fs);
    

    上述代码可以直接绘制二维希尔伯特时频谱图,横轴表示时间、纵轴表示频率,颜色表示能量
    那么三维的时频谱图该如何利用[P,F,T,insf,inse]=hht(d(5:N_imf,:)’,fs);的输出结果进行绘制?


    下面首先展示老版MATLAB求取边际谱:

    %% 获取源数据,signal1,signal2,signal3分别表示三种不同的信号类型
    [date,time,signal1,signal2,signal3]=textread('BulgingData\aaa.txt','%s%s%f%f%f','headerlines',0);
    timestring="05:25:00.00";
    for i=1:length(date)
        if time(i)==timestring
            for j=1:2048*4
                globalsignal(j)=signal1(i+j-1);
            end
        end
    end
    
    globalsignal=globalsignal';
    
    %% 定义采样频率、时间、采样点数
    fs=25;
    t = (0:length(globalsignal)-1)/fs;
    N = length(globalsignal);
    
    %% 对globalsignal进行EEMD分解
    d=eemd(globalsignal,3,100);
    N_imf=fix(log2(length(globalsignal)));
    d=d';
    
    %% 绘制分解结果
    figure()
    for i=1:length(d(:,1))
        subplot(length(d(:,1)),1,i)
        plot(t, d(i,:))
    end
    
    %% 边际谱求取过程
    c=d(2:N_imf,:);
    [m,n]=size(c);
    % 对IMF分量求取瞬时频率与振幅:
    % A:每个IMF的振幅向量; fa:每个IMF对应的瞬时频率(归一化后); t:时间序列号
    [A,fa,tt]=hhspectrum(c);
    % 将每个IMF信号合成求取Hilbert谱
    % E:对应的振幅值; Cenf:每个网格对应的中心频率
    % 时频图(用颜色表示第三维值的大小); 三维图(三维坐标系:时间,中心频率,振幅)        
    [E,tt1]=toimage(A,fa,tt,length(tt)); % A,fa为固定参数, tt,length(tt)为可变参数
    
    figure()
    % 边际谱是hilbert谱对时间的积分,从积分的角度来讲,
    % 对任意一阶频率把所有的时间上的幅值都加起来,反映这阶频率在所有时间上的幅值积累
    for k=1:size(E,1)
        bjp(k)=sum(E(k,:))*1/fs; 
    end
    f=(1:N)/N*(fs/2);
    plot(f(1:2000),bjp(1:2000));
    xlabel('频率 / Hz');
    ylabel('信号幅值');
    ylim([0 80])
    title('信号边际谱')%要求边际谱必须先对信号进行EMD分解
    

    利用上述代码,可以求取信号的边际谱,代码中涉及的hhspectrum、toimage以及instfreq如下所示。

    function [A,f,tt] = hhspectrum(x,t,l,aff)
    % 
    % [A,f,tt] = HHSPECTRUM(x,t,l,aff) computes the Hilbert-Huang spectrum
    %
    % inputs:
    %   - x   : matrix with one signal per row
    %   - t   : time instants
    %   - l   : estimation parameter for instfreq (integer >=1 (1:default))
    %   - aff : if 1, displays the computation evolution
    %
    % outputs:
    %   - A   : instantaneous amplitudes 
    %   - f   : instantaneous frequencies
    %   - tt  : truncated time instants
    %
    % calls:
    %   - hilbert  : computes the analytic signal
    %   - instfreq : computes the instantaneous frequency
    %   - disprog : displays the computation evolution
    %
    %Examples:
    %
    %s = randn(1,512);
    %imf = emd(s);
    %[A,f,tt] = hhspectrum(imf(1:end-1,:));
    %
    %s = randn(10,512);
    %[A,f,tt] = hhspectrum(s,1:512,2,1);
    %
    % rem: need the Time-Frequency Toolbox (http://tftb.nongnu.org)
    %
    % See also
    %  emd, toimage, disp_hhs
    %
    % G. Rilling, last modification 3.2007
    % gabriel.rilling@ens-lyon.fr
    error(nargchk(1,4,nargin));
    
    if nargin < 2
        
        t=1:size(x,2);
        
    end
    
    if nargin < 3
        
        l=1;
        
    end
    
    if nargin < 4
        
        aff = 0;
        
    end
    
    if min(size(x)) == 1
        if size(x,2) == 1
            x = x';
            if nargin < 2
                t = 1:size(x,2);
            end
        end
        Nmodes = 1;
    else
        Nmodes = size(x,1);
    end
    
    lt=length(t);
    
    tt=t((l+1):(lt-l));
    
    for i=1:Nmodes
        
        an(i,:)=hilbert(x(i,:)')';
        f(i,:)=instfreq(an(i,:)',tt,l)';
    
        A=abs(an(:,l+1:end-l));
        
        if aff
            disprog(i,Nmodes,max(Nmodes,100))
        end
    end
    end
    
    function [fnormhat,t]=instfreq(x,t,L,trace)
    %INSTFREQ Instantaneous frequency estimation.
    %	[FNORMHAT,T]=INSTFREQ(X,T,L,TRACE) computes the instantaneous
    %	frequency of the analytic signal X at time instant(s) T, using the
    %	trapezoidal integration rule.
    %	The result FNORMHAT lies between 0.0 and 0.5.
    %
    %	X : Analytic signal to be analyzed.
    %	T : Time instants	        (default : 2:length(X)-1).
    %	L : If L=1, computes the (normalized) instantaneous frequency
    %	    of the signal X defined as angle(X(T+1)*conj(X(T-1)) ;
    %	    if L>1, computes a Maximum Likelihood estimation of the
    %	    instantaneous frequency of the deterministic part of the signal
    %	    blurried in a white gaussian noise.
    %	    L must be an integer       	(default : 1).
    %	TRACE : if nonzero, the progression of the algorithm is shown
    %	                                (default : 0).
    %	FNORMHAT : Output (normalized) instantaneous frequency.
    %	T : Time instants.
    %
    %	Examples :
    %	 x=fmsin(70,0.05,0.35,25); [instf,t]=instfreq(x); plot(t,instf)
    %	 N=64; SNR=10.0; L=4; t=L+1:N-L; x=fmsin(N,0.05,0.35,40);
    %	 sig=sigmerge(x,hilbert(randn(N,1)),SNR);
    %	 plotifl(t,[instfreq(sig,t,L),instfreq(x,t)]); grid;
    %	 title ('theoretical and estimated instantaneous frequencies');
    %
    %	See also  KAYTTH, SGRPDLAY.
    
    %	F. Auger, March 1994, July 1995.
    %	Copyright (c) 1996 by CNRS (France).
    %
    %	------------------- CONFIDENTIAL PROGRAM --------------------
    %	This program can not be used without the authorization of its
    %	author(s). For any comment or bug report, please send e-mail to
    %	f.auger@ieee.org
    
    if (nargin == 0)
        error('At least one parameter required');
    end
    [xrow xcol] = size(x)
    if (xcol~=1)
        error('X must have only one column');
    end
    
    if (nargin == 1)
        t=2:xrow-1; L=1; trace=0.0;
    elseif (nargin == 2)
        L = 1; trace=0.0;
    elseif (nargin == 3)
        trace=0.0;
    end
    
    if L<1,
        error('L must be >=1');
    end
    [trow,tcol] = size(t);
    if (trow~=1),
        error('T must have only one row');
    end;
    
    if (L==1),
        if any(t==1)|any(t==xrow),
            error('T can not be equal to 1 neither to the last element of X');
        else
            fnormhat=0.5*(angle(-x(t+1).*conj(x(t-1)))+pi)/(2*pi);
        end;
    else
        H=kaytth(L);
        if any(t<=L)|any(t+L>xrow),
            error('The relation L<T<=length(X)-L must be satisfied');
        else
            for icol=1:tcol,
                if trace, disprog(icol,tcol,10); end;
                ti = t(icol); tau = 0:L;
                R = x(ti+tau).*conj(x(ti-tau));
                M4 = R(2:L+1).*conj(R(1:L));
                
                diff=2e-6;
                tetapred = H * (unwrap(angle(-M4))+pi);
                while tetapred<0.0 , tetapred=tetapred+(2*pi); end;
                while tetapred>2*pi, tetapred=tetapred-(2*pi); end;
                iter = 1;
                while (diff > 1e-6)&(iter<50),
                    M4bis=M4 .* exp(-j*2.0*tetapred);
                    teta = H * (unwrap(angle(M4bis))+2.0*tetapred);
                    while teta<0.0 , teta=(2*pi)+teta; end;
                    while teta>2*pi, teta=teta-(2*pi); end;
                    diff=abs(teta-tetapred);
                    tetapred=teta; iter=iter+1;
                end;
                fnormhat(icol,1)=teta/(2*pi);
            end;
        end;
    end
    end
    
    %TOIMAGE  transforms a spectrum made of 1D functions in an 2D image
    %
    % [im,tt,ff] = TOIMAGE(A,f,t,splx,sply) transforms a spectrum made
    % of 1D functions (e.g., output of "hhspectrum") in an 2D image
    %
    % inputs :   - A    : amplitudes of modes (1 mode per row of A)
    %            - f    : instantaneous frequencies
    %            - t    : time instants
    %            - splx : number of columns of the output im (time resolution).
    %                     If different from length(t), works only for uniform
    %                     sampling.
    %            - sply : number of rows of the output im (frequency resolution).
    % outputs :  - im   : 2D image of the spectrum
    %            - tt   : time instants in the image
    %            - ff   : centers of the frequency bins
    %
    % Examples : [im,tt,ff] = toimage(A,f);[im,tt] = toimage(A,f,t);[im,tt,ff] = toimage(A,f,sply);
    %            [im,tt,ff] = toimage(A,f,splx,sply);[im,tt,ff] = toimage(A,f,t,splx,sply);
    %
    %
    % See also
    %  emd, hhspectrum, disp_hhs
    %
    % G. Rilling, last modification 3.2007
    % gabriel.rilling@ens-lyon.fr
    
    function [im,tt,ff] = toimage(A,f,varargin)
    
    
    DEFSPL = 400;
    
    error(nargchk(2,5,nargin));
    
    switch nargin
        case 2
            t = 1:size(A,2);
            sply = DEFSPL;
            splx = length(t);
        case 3
            if isscalar(varargin{1})
                t = 1:size(A,2);
                splx = length(t);
                sply = varargin{1};
            else
                t = varargin{1};
                splx = length(t);
                sply = DEFSPL;
            end
        case 4
            if isscalar(varargin{1})
                t = 1:size(A,2);
                sply = varargin{1};
                splx = varargin{2};
            else
                t = varargin{1};
                sply = varargin{2};
                splx = length(t);
            end
        case 5
            t = varargin{1};
            splx = varargin{2};
            sply = varargin{3};
    end
    if isvector(A)
        A = A(:)';
        f = f(:)';
    end
    
    
    if issparse(A) || ~isreal(A) || length(size(A)) > 2
        error('A argument must be a real matrix')
    end
    if issparse(f) || ~isreal(f) || length(size(f)) > 2
        error('f argument must be a real matrix')
    end
    if any(size(f)~=size(A))
        error('A and f matrices must have the same size')
    end
    if issparse(t) || ~isreal(t) || ~isvector(t) || length(t)~=size(A,2)
        error('t argument must be a vector and its length must be the number of columns in A and f inputs')
    end
    if ~isscalar(splx) || ~isreal(splx) || splx ~= floor(splx) || splx <= 0
        error('splx argument must be a positive integer')
    end
    if ~isscalar(sply) || ~isreal(sply) || sply ~= floor(sply) || sply <= 0
        error('splx argument must be a positive integer')
    end
    
    if any(diff(diff(t))) && splx ~= length(t)
        warning('toimage:nonuniformtimeinsants','When splx differs from length(t), the function only works for equally spaced time instants. You may consider reformating your data (using e.g. interpolation) before using toimage.')
    end
    
    f = min(f,0.5);
    f = max(f,0);
    
    indf = round(2*f*(sply-1)+1);
    indt = repmat(round(linspace(1,length(t),splx)),size(A,1),1);
    im = accumarray([indf(:),indt(:)],A(:),[sply,splx]);
    
    indt = indt(1,:);
    tt = t(indt);
    ff = (0:sply-1)*0.5/sply+1/(4*sply);
    
    end
    
    展开全文
  • 算法(但不是估计条件期望值)也在[2]、[3]、[4]描述。 一个应用程序在[5]提供了将复杂的Ginzburg-Landau方程拟合到二元流体数据的方法。 用法: 程序 ace_main.m 包含数据的定义、ace.m 的调用以及结果的...
  • 运用MATLAB实现包含非期望产出的sbm模型运行代码,是截面数据
  • EM算法 gaussmix.m 运行 EM 算法,variableClusters.m 是运行不同簇大小的 gaussmix 的脚本
  • im_size的矩阵(图片),在python直接把矩阵数据放到im.csv进行读取 Images MLEM函数的主要作用是试照片降噪,在程序迭代10次,python代码把每次迭代后的图像记录也保存下来了,请参考images文件夹
  • MATLAB 的randn函数

    万次阅读 多人点赞 2019-08-31 22:55:55
    matlab函数 randn:产生正态分布的随机数或矩阵的函数 randn:产生均值为0,方差σ^2 = 1,标准差σ= 1的正态分布的随机数或矩阵的函数。 用法: Y = randn(n):返回一个n*n的随机项的矩阵。如果n不是个数量,将...
  • 它是期望最大化算法的一种实现,它带有数据集的完整图形和绘图。 无需指定复杂的属性,只需运行脚本即可享受!
  • Matlab期望估计

    2011-12-12 19:13:57
    Matlab的一个简单应用程序,对一个噪声信号的参数进行期望的评估计算,新手学Matlab的可以下下来练一练。
  • 在直接数字域设计,我们常常需要用到PID算法,而PID算法投入单片机使用时,往往需要硬件的支持,在调试时非常麻烦。本文通过Matlab仿真的手段实现PID,方便了开发者对系统的设计和实时调试。
  • matlab人脸识别论文

    万次阅读 多人点赞 2019-10-11 17:41:51
    现有的识别方法,通过从人脸图像提取出特征信息,来对数据库进行检索的方法速度快,而利用拓扑属性图匹配来确定匹配度的方法则相对较快。 1.5人脸识别的研究内容 人脸识别技术(AFR)就是利用计算机技术,...
  • 在“使用最大化-最大化算法快速逼近变分贝叶斯狄利克雷过程混合” Dirichlet 过程高斯混合(算法 1)的变分推理的实现, https://doi.org/10.1016/j.ijar.2017.11.001 1) 计算共轭先验的期望2)然后更新他们的超...
  • matlab开发-期望最大化算法,以避免不合理的个人交易和分配。双变量正态反高斯分布的期望最大化算法
  • 期望值模型matlab 混合遗传算法
  • matlab中求一个矩阵中元素的和可以自己编写for循环来完成,这样比较方便,想求那些数据的和都可以做到,然而效率比较低,如果数据量大程序会跑好长时间。所以我们可以转而用matlab提供的sum函数。  设M为一个...
  • 如何用matlab求二项分布的期望值?如下面这个二项分布,怎么用MATLAB?谢谢!!![图片说明](https://img-ask.csdn.net/upload/201505/23/1432329404_111715.png)
  • 同样是DEA模型,这个包含有非期望产出的部分,使用时可以直接将数据粘贴到相应位置即可。代码有注释,非常清楚。
  • 估计函数期望值的重要性采样示例
  • 对样本中期望的每个元素使用用户指定的先验行选择。 该算法可以在处理链进一步(并且应该)自动丢弃某些发射线。 使用一组配置变量指定特定的处理步骤,参数和算法。 :construction:正在施工:construction:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,787
精华内容 4,314
关键字:

matlab中求期望

matlab 订阅