あなたが内部ループの最初の反復でattributes
を上書きされています
例:
最初のiteratio内部ループj = 2
の最初の反復後
attributes{1} = 1
:内部ループj = 1
のN
attributes{1} = []
前の反復からattributes{1} = 1
ので。
attributes{i} = strfind(data{j}, attributes{i});
attributes{1} = strfind(data{2}, 1);
データ{2}に1が見つかりませんでした。あなたはおそらくやる意味は何
、次のコードのようなものです:
data{1} = 'aabbcc';
data{2} = 'bbaacc';
data{3} = 'ccaabb';
attributes{1} = 'aa';
attributes{2} = 'bb';
attributes{3} = 'cc';
%Initialize new 2D cell array.
attrib_indexes = cell(length(attributes), length(data));
for i = 1:length(attributes)
for j = 1:length(data)
%Store result in attrib_indexes{i, j} instead of attributes.
attrib_indexes{i, j} = strfind(data{j}, attributes{i});
end
end
私は、デバッガを使用して学習することをお勧めします、それがスタックオーバーフローで質問を投稿するよりも簡単だ...