趣百科

matlab如何将两列数数列中的NAN去掉

编辑:Simone 2025-04-09 13:52:37 592 阅读

matlab如何将两列数数列中的NAN去掉

matlab是一个非常强大的数据分析处理工具,当你遇到一个数组中包含有空值NAN时,你如何将其及其整行去掉呢?小生带你解决这个问题。

设置一个含空NAN数组,代码:

test=[1;2;3;nan;5;nan;7];

将其中的空值nan去掉:

test(isnan(test(:,1))==1)=[];

test_2=test;

将其中的空值nan用0代替,代码:

test(isnan(test(:,1))==1)=0;

test_3=test;

将其用上一个数值代替,代码:

for i=1:7 if isnan(test(i,1))==1 test(i,1)=test(i-1,1); endendtest_4=test;

for i=1:7 if isnan(test(i,1))==1 test(i,1)=test(i-1,1); endendtest_4=test;

for i=1:7 if isnan(test(i,1))==1 test(i,1)=test(i-1,1); endendtest_4=test;

for i=1:7 if isnan(test(i,1))==1 test(i,1)=test(i-1,1); endendtest_4=test;

for i=1:7

if isnan(test(i,1))==1 test(i,1)=test(i-1,1); endendtest_4=test;

if isnan(test(i,1))==1

test(i,1)=test(i-1,1); endendtest_4=test;

test(i,1)=test(i-1,1);

endendtest_4=test;

end

endtest_4=test;

end

test_4=test;

如果是多位数组如何处理呢?这里设置一个7*2的数组,代码:

test_1=[1,1;2,2;3,3;nan,nan;5,5;nan,nan;7,7];

多维数组将其含空值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

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

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

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

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

for i=7:-1:1 if isnan(test_5(i,1))==1 test_1(i,:)=[]; endendtest_1

for i=7:-1:1

if isnan(test_5(i,1))==1 test_1(i,:)=[]; endendtest_1

if isnan(test_5(i,1))==1

test_1(i,:)=[]; endendtest_1

test_1(i,:)=[];

endendtest_1

end

endtest_1

end

test_1

test_1

版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/answer/173384.html

相关推荐