MATLAB で文字列のリストを反復処理しようとしています。問題は、「for」ループ内で、イテレータが文字列ではなく「セル」と見なされることです。
for str = {'aaa','bbb'}
fprintf('%s\n',str);
end
??? Error using ==> fprintf
Function is not defined for 'cell' inputs.
これを修正する正しい\エレガントな方法は何ですか?
str{1}
正しくするには、次のようにセルのコンテンツを呼び出す必要があります。
for str = {'aaa','bbb'}
fprintf('%s\n',str{1});
end
これは、セル配列の内容を出力する、より洗練された例です。
str={'aaa','bbb'};
fprintf('%s\n',str{:});
for
ループは必要ありません。
編集: も参照してください:cellfun