1、将有NaN空数据和数据为0的数据表格使用xlsread函数读入到A12。程序如下:A12=xlsread('有N锾攒揉敫aN空数据和数据为0的数据表格.xlsx','sheet1');打开工作区的A12矩阵检查是否将有NaN空数据和数据为0的数据表格正常读入。运行结果应该是如下情况,可以看到表格中有NaN空数据和数据为0的数据。
2、找出NaN数据位置。使用MATLAB自带find(isnan( ))函数。代码为:[m,n]=find(isnan(A12)); % 找出NaN数据位置运行后结果。
3、删除含有NaN的行,直接将这一行赋值为空[]即可删除此行数据。matlab程序:A12(m,:)=[]; %删除含有NaN的行,x(:,n)=[]可以删除列运行后的结果如下。可以看到含有NaN的行的数据全部删除掉了。
4、下面将表中为0的数据所在的行删除。首先将含有NaN的行的数据已经删除掉的数据表格矩阵A12赋值给del_data进行处理。代码:del_data=A12;运行结果如下图可以看到del_data中数据正常赋值于A12。
5、遍历数据表格,找出数据为0的数据位置。程序:[judge,~]=find(del_data==0);运行。
6、删除数据为0的数据的行,直接将这一行赋值为空[]即可删除此行数据。代码:if ~isempty(judge) A12(unique(judge),:)=[]; end运行后可以看到数据为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%**********************************************