MATLAB: Can i delete part of a cell array based on a condition

cell arrayerase

if i have a cell array such as {'CGU'} {'UUU'} {'UAG'} {'GGU'} can i
identify if there is a member of {'UAA','UAG','UGA'} and delete the
remaining elements? eg, leaving {'CGU'} {'UUU'} once {'UAG'} is identified.

Best Answer

  • E.g.,
    >> C = {'CGU','UUU','UAG','GGU'}
    C =
    1×4 cell array
    {'CGU'} {'UUU'} {'UAG'} {'GGU'}
    >> X = {'UAA','UAG','UGA'}
    X =
    1×3 cell array
    {'UAA'} {'UAG'} {'UGA'}
    >> f = find(ismember(C,X),1)
    f =
    3
    >> C(f+1:end) = []
    C =
    1×3 cell array
    {'CGU'} {'UUU'} {'UAG'}