29

MATLAB で文字列のリストを反復処理しようとしています。問題は、「for」ループ内で、イテレータが文字列ではなく「セル」と見なされることです。

for str = {'aaa','bbb'}
  fprintf('%s\n',str);
end

??? Error using ==> fprintf
Function is not defined for 'cell' inputs.

これを修正する正しい\エレガントな方法は何ですか?

4

3 に答える 3

31

str{1}正しくするには、次のようにセルのコンテンツを呼び出す必要があります。

for str = {'aaa','bbb'}
  fprintf('%s\n',str{1});
end

これは、セル配列の内容を出力する、より洗練された例です。

于 2012-05-21T14:57:06.713 に答える
6
str={'aaa','bbb'};
fprintf('%s\n',str{:});

forループは必要ありません。

編集: も参照してください:cellfun

于 2012-05-21T15:01:20.990 に答える