我有一个由 Names 列和 Data 列组成的结构。
我需要通过对特定名称施加条件来删除一系列行。我在另一个练习中使用了这段代码,它似乎很好,但我想它是不正确的:
sn = {'Adattamento ad una distrib._HID',...
'Adattamento ad una distrib._HI1',...
'TUTTI','Modelling','Sheet37','Sheet52'}; % fogli da escludere
SheetNames = {S.Name}; %%
for jj = 1:length(sn)
SheetNames = {S.Name};
S = S(~strncmp(SheetNames, sn(jj),jj));
%jj = numel(sn)-1; % aggiorna l'indice
end
----------------------------更新--------- --------------- 我明白了这个问题。
我的 S.Name 结构是这样制作的:
SheetNames = {S.Name};
This is {S.Name} :
{'Ar1';'Adattamento ad una distrib._HID';'Adattamento ad una distrib._HI1';...;'Ar2';'Ar35';...;
'Cos1';'Cos2';'Cos31';...;'Tex1';'Tex2';....;
'Sheet37_HID';'Tex8';.....;'Tex30';'Tu1';'Tu2';'Tu3';...;'Tu32';
'TUTTI';'Modelling';'Sheet52'}
如果
sn = {'Adattamento ad una distrib._HID',...
'Adattamento ad una distrib._HI1',...
'TUTTI','Modelling','Sheet37','Sheet52'};
最终结构 S,将不再包含以A、T、M、S开头的名称
S = 1x128 循环后它变成 S = 1x91