MATLAB对数据的处理(导入,异常处理)

发布时间:2024年01月04日

MATLAB对数据的处理

1、MATLAB导入数据

最常用的就是导入excel表格数据,主页选项卡-导入数据-选择excel文件。

导入的范围
  • 导入数据的范围默认是从第二行开始的,第一行—般是标题行。
  • 如果不想导入所有数据,可以按住ctrl键,选择想导入的内容,例如某行、某列。
  • 变量名称行"也就是导入之后,matlab里表格最上方会显示变量,一般默认选择原文件第一行。但是只能识别英文,如果是汉字则变成"VerName"。
导入类型

“输出类型"决定了导入的数据以什么类型存储。一般选择表。如果选择"数值矩阵”,那么所有字符串都变成NaN,反之亦然。

选择的选项导入数据的方式
列向量将所选数据的每一列导入为单个m×1向量。
数值矩阵将所选数据导入为m×n数值数组。其余类型可以缺省,删除。
字符串数组将所选数据导入为m×n字符串数组。其余类型可以缺省,删除。
元胞数组将所选数据导入为可包含多种数据类型的元胞数组。
将所选数据导入为表。(什么类型都可以保存)

注意,导入后数据在工作区。关闭matlab后数据消失。如果想保存数据的话,记得保存工作区文件!

2、MATLAB处理缺失值和异常值

清理缺失数

实时编辑器 -->选择任务—>清理缺失数据

但是这个功能是在2019b以及之后的版本才有。

首先,先写一组包含缺失值和异常值的例子

x = 1 : 100;%构造一个数组,元素为1,2,3,.......108
%randn(1,10日)意味着生成一个1行1ee列的矩阵
%矩阵元素的均值为e,方差o^2 = 1,且是正态分布的随机数
data = randn(1,100) ;
data(20:20:80)= NaN;%设置第2e,40,6e,80个元素为缺失值
% data的值都是在e附近的,设置4个异常值
data(10) = -50;
data(40) =  45;
data(70) = -40;
data(90) =  50;
plot(x,data)

原本的数据:

image-20240104133016189

在MATLAB中(在实时编辑器中才有这个功能,不然就将文件用实时编辑器的方式打开):

image-20240104134151106

这样,数据里面的NaN数据就被清理了,选择里面的线性插值和压条插值都可以或其他选项。(原先的位置就被线性插值计算出来的数据替换掉了)。

同样,在任务中可以选择清理离群数据来将异常的值(我们带上面的代码中是手动设置的)进行清理。

文章来源:https://blog.csdn.net/m0_63144319/article/details/135385175
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。