我想将包含来自文本文档中单个单词的字符串的[1 * 232]单元格与包含来自同一文本的单个句子的[1 * 23]单元格进行比较,任何人都可以帮助我如何在Matlab中对其进行编程? 例如: "污染"和"树"在单独的单元格中有两个单词 以下是单独单元格中的两个句子: 1.树木减少污染。 2.树木防止洪水。
我想要做的是在将污染和树木与两个句子或我的情况下比较后放0或1" n"句子并以矩阵的形式放置1和0。 任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用cellfun
和strfind
的组合。这是一个尝试:
Sentences = {'trees reduce pollution' ; ...
'trees prevent floods' ; ...
'pollution is bad' ; ...
'flood is worse'};
Words = {'trees', 'pollution', 'bad'};
Out = NaN(numel(Sentences), numel(Words));
for i = 1:numel(Words)
Out(:,i) = cellfun(@(x) numel(strfind(x, Words{i})), Sentences);
end
Out
包含:
Out =
1 1 0
1 0 0
0 1 1
0 0 0
希望这有帮助。