weeddata.m

来自「matlab 电子测量 包括误差分析的很多函数」· M 代码 · 共 35 行

M
35
字号
function [x1 x2 aa]=weeddata(x,index,p)
% 判别异常数据
% index 1莱特准则 2肖维纳准则 
% 3格布拉斯准则 p=1 0.95;p=2 0.99

if index==3
    [m n]=size(x);
    c=elcf(index,n,p);
else
    [m n]=size(x);
    c=elcf(index,n);
end

aa=0;
y1=mean(x);  % 均值
y2=std(x);   % 试验方差
vk=x-y1;     % 残差


if max(abs(vk))>c*y2
    x2= vk( find(abs(vk)==max(abs(vk))));
    fprintf('存在异常数据为:\n');
    disp(x2+y1);
    [x1,n]=deletedata(x,x2+y1);
    aa=1;
    x2=x2+y1;
else
    fprintf('不存在异常数据\n');
    x1=x;
    x2='None';
end

    
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?