フィールドごとに構造体の配列を編集するたびに、実際に数週間かかることがあり、Matlabを実際に学習する必要があることがわかります。今、私は構造体の配列を持っています。各構造体には、次の行に沿ってフィールドがあります。特定のstruct.field値のためにMatlab配列から構造体を削除する方法
x.fruit, x.color, x.season, x.source, x.flibbertigibbet
これらのフィールドはそれぞれ文字列です。
Y = {「りんご」、「バナナ」、「花崗岩の手のひら」}
Iはx.fruitをyにあるすべての構造体を削除したい(EGX:私はまた、文字列のセル配列を有します果物== 'リンゴ')、しかし、これを行う方法は、yをループする以外の方法では見つからないようです。
bad_idx = [x(:).fruit in y];
x(bad_idx) = [];
これはなんとかです:
私はの線に沿って何かを期待していましたか?これを行うためにcellfunを使用するのはどこかありますか?
これらのメソッドは1つの果物でうまく機能しますが、それらのリストがあります。私は自分のセル配列(y)に含まれる果物をループする必要がありますか、それぞれからxを取り除く必要がありますか、暗黙のループでこれを行うための「Matlab-y」方法がありますか? – user1245262
@ user1245262このユースケースを含むように更新されました。 – Suever