我需要用matlab证明下面给出的E[aX+;b],var[aX+;b]

我需要用matlab证明下面给出的E[aX+;b],var[aX+;b],matlab,Matlab,使用10000个样本的样本组,通过模拟验证以下内容 我必须用matlab证明这是正确的 E[aX+b]=aE[x]+b var[aX+b]=a2var[X] 我找到了这个代码,通过使用它,我想证明1,2是真的 sum1=0; for i=1:length(A) sum1=sum1+A(i); end M=sum1/length(A); %the mean sum2=0; for i=1:length(A) sum2=sum2+ (A(i)-M)^2; end V=sum2/leng

使用10000个样本的样本组,通过模拟验证以下内容 我必须用matlab证明这是正确的

  • E[aX+b]=aE[x]+b
  • var[aX+b]=a2var[X]
  • 我找到了这个代码,通过使用它,我想证明1,2是真的

    sum1=0;
    for i=1:length(A)
      sum1=sum1+A(i);
    end
    M=sum1/length(A); %the mean
    
    sum2=0;
    for i=1:length(A)
        sum2=sum2+ (A(i)-M)^2;
    end
    V=sum2/length(A); %Varaince
    

    您可以通过
    mean(a)
    简单地计算向量的平均值,也可以使用
    sum(a)
    对向量求和,方差为
    var(a)
    std(a)^2

    请记住,并非所有的编码人员都熟悉数学符号——尤其是如果他们写得如此晦涩,没有乘法或幂的符号,他们就不熟悉数学符号。向量
    X
    的经验E()是它的平均值(这是一个标量,因此通常写为小写字母)E(X):
    X=mean(X)
    。所以你想证明的是

    % create random numbers
    X = rand(10000,1);
    a = rand(1);
    b = rand(1);
    
    % 1: E[aX+b] = aE[x] + b 
    assert( mean(a*X+b) == a*mean(X)+b ,'1 failed!')
    
    % 2: var[aX+b] = a2var[X] 
    assert( var(a*X+b) == a^2*var(X) ,'2 failed!')
    
    如果函数
    assert
    的输入不正确,则会抛出错误。请注意,相等是数值计算中的一个困难条件。当它几乎可以被探测到时,最好定义一个阈值

    TH = 1e-10;
    lg = abs( mean(a*X+b) - a*mean(X)+b ) < TH
    assert( lg ,'1 failed!')
    
    TH=1e-10;
    lg=abs(平均值(a*X+b)-a*平均值(X)+b)
    我想用matlab证明高斯分布。均值和方差。E[aX+b]=aE[x]+b,var[aX+b]=a2var[x]是正确的。