【发布时间】:2013-11-21 01:30:09
【问题描述】:
我想根据字典文件逐一检查数组中的单词,最简单的方法是什么?
例如
word = nchoosek('london' , 3)
我想检查生成的 3 个字母单词中的每一个是否都在字典文件中。
例如
dictionary(word)
谢谢。
【问题讨论】:
标签: matlab
我想根据字典文件逐一检查数组中的单词,最简单的方法是什么?
例如
word = nchoosek('london' , 3)
我想检查生成的 3 个字母单词中的每一个是否都在字典文件中。
例如
dictionary(word)
谢谢。
【问题讨论】:
标签: matlab
如果您有要检查的单词元胞数组,则应使用ismember。所以,如果你有一个字典数组dict 和一组单词words,你会使用
check = ismember(words,dict);
其中check 类似于[0,1,1],如果第一个单词不在字典中,但其他两个单词在。
编辑:
我猜dictionary 是一个函数?对不起,我第一次没有意识到这一点。在这种情况下,从this 借用另一个问题的答案,您可以执行以下操作:
dict_fun = @(word,trash)dictionary(word);
check = bsxfun(dict_fun,nchoosek('london',3),1);
【讨论】:
fid=fopen('/usr/share/dict/words');dict = textscan(fid,'%s');fclose(fid); 加载单词字典,然后我就可以按照我上面描述的方式使用它。
dictionary 是一个函数。请参阅我修改后的答案。