php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 474|回复: 0

allon方差计算方法

[复制链接]

3150

主题

3160

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7976
贡献
0
注册时间
2021-4-14
最后登录
2024-11-24
在线时间
763 小时
QQ
发表于 2022-9-10 21:32:07 | 显示全部楼层 |阅读模式
[mw_shl_code=applescript,true]function [Allan,T]=allan_cal(N,dt)
%% 计算Allan方差 %%%%%%%%%%%%%%%%%%%%%
n=length(N);              %%%%%  N:样本(浓度);n:样本数量
for j=2:length(N)         %%%%%  j:分组数(从2组--n组)
    A(j)=0;               %%%%%  每组的Allan方差初值为0
    for k=1:j           %%%%%  每组平均值的计算
        y(k)=0;           %%%%%  每组平均值初值为0
        for p=1:1:fix(n/j)                           %%%%%  每组的样本数量为 fix(n/j)
            y(k)=y(k)+N(p+fix(n/j)*(k-1));           %%%%%  每组加和的计算
        end
        y(k)=y(k)/fix(n/j);                          %%%%%  每组平均值的计算
        if k>1
            A(j)=A(j)+1/(j-1)/2*(y(k)-y(k-1))^2;     %%%%%  每组Allan方差的计算
        end
    end
end

m=2:length(N);                  %%%%%  分组数
T1=fix(n./m)*dt;                %%%%%  每组的样本数量为fix(n./m),间隔率为dt,则积分时间为T1;

for j=1:length(A)-1
    Allan1(j)=sqrt(A(j+1));      %%%%%  每个积分时间所对应的Allan方差
end

dT=diff(T1);
ndT=find(dT~=0);
T=T1(ndT);
Allan=Allan1(ndT);

subplot(211)
loglog(T,Allan);                %%%%%  画对数坐标图
subplot(212)
plot(N)
   
%% 验证浓度分布是否满足Gauss分布 %%%%%%%%%%%%%%%%%%%%%
n1=0;  n2=0;  n3=0;  n4=0;  n5=0;
dN=(max(N)-min(N))/5;
for j=1:length(N)
if N(j)<min(N)+dN
    n1=n1+1;
end
if N(j)>=min(N)+dN && N(j)<min(N)+2*dN
    n2=n2+1;
end
if N(j)>=min(N)+2*dN && N(j)<min(N)+3*dN
    n3=n3+1;
end
if N(j)>=min(N)+3*dN && N(j)<min(N)+4*dN
    n4=n4+1;
end
if N(j)>=min(N)+4*dN && N(j)<max(N)
    n5=n5+1;
end
end
nn=[n1 n2 n3 n4 n5];
x=[min(N)+0.5*dN  min(N)+1.5*dN  min(N)+2.5*dN  min(N)+3.5*dN  min(N)+4.5*dN ];
bar(x,nn);
end[/mw_shl_code]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-11-24 11:15 , Processed in 0.973408 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表