Matlab 多个维度的逻辑阵列
执行此操作后,我得到的是1576 X 1数组,而不是788 X 2数组也许您的意思是消除包含NaN值的行。例如:Matlab 多个维度的逻辑阵列,matlab,matrix,nan,Matlab,Matrix,Nan,执行此操作后,我得到的是1576 X 1数组,而不是788 X 2数组也许您的意思是消除包含NaN值的行。例如: adc.nv is 789 X 2 array in = ~isnan(adc.nv); nv = adc.nv(in); 现在: 也许您想消除包含NaN值的行。例如: adc.nv is 789 X 2 array in = ~isnan(adc.nv); nv = adc.n
adc.nv is 789 X 2 array
in = ~isnan(adc.nv);
nv = adc.nv(in);
现在:
也许您想消除包含NaN值的行。例如:
adc.nv is 789 X 2 array
in = ~isnan(adc.nv);
nv = adc.nv(in);
现在:
这里解释了这种行为: 因为
>> newX = x(~any(isnan(x),2),:)
newX =
0.81472 0.2785
0.90579 0.54688
0.91338 0.96489
0.09754 0.97059
in
在每行和/或每列中可能有不同数量的真/假元素,结果矩阵adc.nv(in)
在每行/每列中可能有不同数量的元素,因此无法构造为矩阵,因此Matlab将其全部放在一个向量中。此行为在此处解释:
因为
>> newX = x(~any(isnan(x),2),:)
newX =
0.81472 0.2785
0.90579 0.54688
0.91338 0.96489
0.09754 0.97059
in
在每行和/或每列中可以有不同数量的真/假元素,结果矩阵adc.nv(in)
在每行/每列中有不同数量的元素,因此不能构造为矩阵,因此Matlab将其全部放在一个向量中。或者:x(any(isnan(x),2),:) = [];代码>或者:x(任意(isnan(x),2),:)=[]代码>