Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 删除整行并合并矩阵中的下一行_Matlab_Matrix_Delete Row_Cell Array - Fatal编程技术网

Matlab 删除整行并合并矩阵中的下一行

Matlab 删除整行并合并矩阵中的下一行,matlab,matrix,delete-row,cell-array,Matlab,Matrix,Delete Row,Cell Array,我有一个矩阵a= '30' 'X' '@NA' '15' 'Y' [231.001] '00' 'Y' [21.110] '20' 'W' '@NA' '55' 'X' [9.001] '10' 'X' [11.211] >>whos A Name Size Bytes Class Attributes aaa 6x3 226 cell 如果第1列

我有一个矩阵a=

'30'  'X' '@NA'
'15'  'Y' [231.001] 
'00'  'Y' [21.110]
'20'  'W' '@NA'
'55'  'X' [9.001]
'10'  'X' [11.211]


>>whos A
  Name        Size              Bytes  Class    Attributes

  aaa         6x3               226    cell     
如果第1列中除“10”、“15”、“20”…“55”或第3列中的任何“@NA”之外还有其他内容,我如何获得一个新的矩阵B来删除矩阵a的整行,并合并下一个限定行

例如,第1行和第4行应该删除,因为第3列中有“@NA”。第3行也应删除,因为第1列中有“00”

矩阵B应该是

>>B

B = 
    '15'  'Y' [231.001] 
    '55'  'X' [9.001]
    '10'  'X' [11.211]
B是一个3*3单元矩阵


欢迎任何建议

在您的示例中,您没有说明“合并下一个限定行”的含义。您所要做的就是选择在某个条件下失败的行,然后删除它们。如果这就是你真正想要做的,那么像这样的事情就可以了:

validnums = arrayfun( @num2str, 10:5:55, 'uni', 0 );
column1valid = ismember( A(:,1), validnums );
column3valid = cellfun( @isnumeric, A(:,3) )
B = A( column1valid & column3valid, : );

在您的示例中,您没有说明“合并下一个限定行”的含义。您所要做的就是选择在某个条件下失败的行,然后删除它们。如果这就是你真正想要做的,那么像这样的事情就可以了:

validnums = arrayfun( @num2str, 10:5:55, 'uni', 0 );
column1valid = ismember( A(:,1), validnums );
column3valid = cellfun( @isnumeric, A(:,3) )
B = A( column1valid & column3valid, : );
对的回答有一点不同:

idx = ismember(A(:,1), num2str((10:5:55)')) & ~strcmp(A(:,3),'@NA');
B = A(idx,:);
对的回答有一点不同:

idx = ismember(A(:,1), num2str((10:5:55)')) & ~strcmp(A(:,3),'@NA');
B = A(idx,:);

逻辑索引是如此强大!逻辑索引是如此强大!