MATLAB删除数据表格中NaN空数据和0的数据所在行

2025-10-10 15:45:03

1、将有NaN空数据和数据为0的数据表格使用xlsread函数读入到A12。

程序如下:

A12=xlsread('有NaN空数据和数据为0的数据表格.xlsx','sheet1');  

打开工作区的A12矩阵检查是否将有NaN空数据和数据为0的数据表格正常读入。

运行结果应该是如下情况,可以看到表格中有NaN空数据和数据为0的数据。

MATLAB删除数据表格中NaN空数据和0的数据所在行

2、找出NaN数据位置。使用MATLAB自带find(isnan( ))函数。

代码为:

[m,n]=find(isnan(A12));    % 找出NaN数据位置

运行后结果。

MATLAB删除数据表格中NaN空数据和0的数据所在行

3、删除含有NaN的行,直接将这一行赋值为空[]即可删除此行数据。

matlab程序:

A12(m,:)=[];                        %删除含有NaN的行,x(:,n)=[]可以删除列

运行后的结果如下。可以看到含有NaN的行的数据全部删除掉了。

MATLAB删除数据表格中NaN空数据和0的数据所在行

4、下面将表中为0的数据所在的行删除。

首先将含有NaN的行的数据已经删除掉的数据表格矩阵A12赋值给del_data进行处理。

代码:

del_data=A12;

运行结果如下图可以看到del_data中数据正常赋值于A12。

MATLAB删除数据表格中NaN空数据和0的数据所在行

5、遍历数据表格,找出数据为0的数据位置。

程序:

 [judge,~]=find(del_data==0);

运行。

MATLAB删除数据表格中NaN空数据和0的数据所在行

6、删除数据为0的数据的行,直接将这一行赋值为空[]即可删除此行数据。

 代码:

if ~isempty(judge)

       A12(unique(judge),:)=[];

    end

运行后可以看到数据为0的数据的行删除了。

MATLAB删除数据表格中NaN空数据和0的数据所在行

7、“MATLAB删除数据表格中NaN空数据和0的数据所在行”的完整程序及MATLAB代码:

A12=xlsread('有NaN空数据和数据为0的数据表格.xlsx','sheet1');

% ******将表中的NaN空数据所在行删除掉************

[m,n]=find(isnan(A12));    % 找出NaN数据位置

A12(m,:)=[];                        %删除含有NaN的行,x(:,n)=[]可以删除列

%**********************************************

% ******将表中为0的数据所在的行删除**************

del_data=A12;

    [judge,~]=find(del_data==0);

    if ~isempty(judge)

       A12(unique(judge),:)=[];

    end

%**********************************************

MATLAB删除数据表格中NaN空数据和0的数据所在行

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢