Matlab读取excel并利用拉依达准则筛选数据的全过程

 更新时间:2021年08月12日 10:39:57   作者:逍遥233  
在Excel中录入好数据以后经常需要被matlab读取,具体该如何读取并进行筛选呢?下面这篇文章就来给大家介绍了关于Matlab读取excel并利用拉依达准则筛选数据的相关资料,需要的朋友可以参考下

1、Matlab读取Excel表格

版本:matlab R2020a,Excel2019的xlsx格式文件

1.1 导入数据

1.2 选择并打开要导入的.xlsx文件

1.3 选择数据区域,选择输出到matlab工作区的数据类型

默认刚导入时自动选择了所有数据区域(不带title的)

这里以输出为二维矩阵为例

1.4 导入成功,在工作区域命名变量名并在命令行测试输出

1.5 使用命令导入,效果一样

mat= xlsread('附录1 目标客户体验数据.xlsx','sheet1','A2:AB1961')

2、使用拉依达准则对数据进行筛选

2.1 什么是拉依达准则?

拉依达准则是指先假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除。这种判别处理原理及方法仅局限于对正态或近似正态分布的样本数据处理,它是以测量次数充分大为前提的。

所以也叫 3 σ 3\sigma 3σ准则。

2.2 根据拉依达准则用matlab对数据进行异常值筛选

clear
clc
%% 根据拉依达准则对二维数据进行筛选
mat= xlsread('附录1 目标客户体验数据.xlsx','data','A2:AB1961'); %读取数据
% ave_all=[];
% sigma_all=[];
sizes=size(mat);
for j=1:sizes(2)    
    ave(j) = mean(mat(:,j));%mean 求解平均值
    %ave_all=[ave_all,ave(j)];
    sigma(j) = std(mat(:,j));%求解标准差
    %sigma_all=[sigma_all,sigma(j)];
    for i = 1:sizes(1)
        if(abs(mat(i:j)-ave(j))>3*sigma(j));%不符合3σ准则,标记这个元素位置
            disp(['第',num2str(i),'行','第',num2str(j),'列,出现不满足拉依达准则的数据,数据id为:'])
            data_id=mat(i,1) %%如果以actxserver读取的话,这里可以设置excel中单元格格式
            mat(i,j)=-1;%% 这里用数据中没出现过的-1来替代待剔除的值
        else
            continue;
        end
    end
end

不符合条件的数值均用-1标记,然后对这些数据所在行进行删除即可。

附:用matlab实现对Excel交互的链接:https://www.jb51.net/article/219448.htm

总结

到此这篇关于Matlab读取excel并利用拉依达准则筛选数据的文章就介绍到这了,更多相关Matlab读取excel并筛选数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何对Python编译PyInstaller打包生成的exe文件进行反编译生成pyc、py源代码文件

    如何对Python编译PyInstaller打包生成的exe文件进行反编译生成pyc、py源代码文件

    很多开发者没有发布源程序代码,而是将代码封装为exe可执行文件,这样不仅更有利于程序传播,下面这篇文章主要介绍了如何对Python编译PyInstaller打包生成的exe文件进行反编译生成pyc、py源代码文件的相关资料,需要的朋友可以参考下
    2023-01-01
  • Python笔记之观察者模式

    Python笔记之观察者模式

    这篇文章主要为大家详细介绍了Python笔记之观察者模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Python socket C/S结构的聊天室应用实现

    Python socket C/S结构的聊天室应用实现

    这篇文章主要介绍了Python socket C/S结构的聊天室应用实现,需要的朋友可以参考下
    2014-11-11
  • jupyternotebook 撤销删除的操作方式

    jupyternotebook 撤销删除的操作方式

    这篇文章主要介绍了jupyternotebook 撤销删除的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python如何有效地使用迭代

    Python如何有效地使用迭代

    这篇文章主要为大家详细介绍了Python如何有效地使用迭代,文中的示例代码讲解详细,对我们深入了解Python有一定的帮助,需要的小伙伴可以学习一下
    2023-09-09
  • python实现碑帖图片横向拼接

    python实现碑帖图片横向拼接

    这篇文章主要为大家详细介绍了python实现碑帖图片横向拼接,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • pycharm实现设置自动的参数注释标识

    pycharm实现设置自动的参数注释标识

    这篇文章主要介绍了pycharm实现设置自动的参数注释标识,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 用python代码做configure文件

    用python代码做configure文件

    在lua中,我一直用lua作为config文件,或者承载数据的文件 - 好处是lua本身就很好阅读,然后无需额外写解析的代码,还支持在configure文件中读环境变量,条件判断等,方便又强大!
    2014-07-07
  • win10系统中安装scrapy-1.1

    win10系统中安装scrapy-1.1

    在win10的环境下安装scrapy,并不能直接按照官网的手册(http://doc.scrapy.org/en/1.0/intro/install.html)一次性安装成功,根据我自己的安装过程中遇到的问题,特意整理了一下安装过程
    2016-07-07
  • python链接sqlite数据库的详细代码实例

    python链接sqlite数据库的详细代码实例

    SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身,它是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低
    2021-09-09

最新评论