matlab是一个非常强大的数据分析处理工具,当你遇到一个数组中包含有空值NAN时,你如何将其及其整行去掉呢?小生带你解决这个问题。
工具/原料
matlab
方法/步骤
1
设置一个含空NAN数组,代码:test=[1;2;3;nan;5;nan;7];
3
将其中的空值nan用0代替,代码:test(isnan(test(:,1))==1)=0;test_3=test;
4
将其用上一个数值代替,代码:for i=1:7 if isnan(test(i,1))==1 test(i,1)=test(i-1,1); endendtest_4=test;
5
如果是多位数组如何处理呢?这里设置一个7*2的数组,代码:test_1=[1,1;2,2;3,3;nan,nan;5,5;nan,nan;7,7];
6
多维数组将其含空值nan的整行数组全部去掉,代码:test_5=test_1(:,1).*test_1(:,2)for i=7:-1:1 if isnan(test_5(i,1))==1 test_1(i,:)=[]; endendtest_1
注意事项
帮到你就点个赞吧!