0
私はimage_name
というフィールドを持つ構造体のMATLAB配列を持っています。私は構造体のMATLAB配列から空の文字列を削除する方法
idx = [x.image_name] == []
x(idx) = [];
の線に沿って何かをしようとして削除したい
x(n).image_name = []
数のエントリ(つまり、構造体配列のn番目の行が空だimage_name
を持っている)
があります。
ただし、空の文字列のインデックスを取得することはできません。試したすべてのバリエーションでエラーが発生します。
空の文字列の行インデックスを見つけるには、どうすれば削除できますか?
+1。完全性のために: 'cellfun'への文字列引数の使用は、匿名関数(' cellfun( 'isempty'、{x.image_name}) ')を使うよりもずっと高速でした。最近のMATLABでもこれが本当であるかどうかはわかりません。 –
@RodyOldenhuisああ、ちょうどそれをテストしたところ、それはまだ真のようです。ありがとう! – Suever
まだ分かりません:)他の可能な文字列引数を必ずチェックしてください。昔ながらの、しかし、かなり大きなセル配列に便利です。 –