我使用独特的功能在单个文件中计算了唯一的单词及其频率。
fid = fopen(filename);
words = textscan(fid, '%s');
status = fclose(fid);
unique_words = unique(words{1,1});
frequencies = zeros(numel(unique_words), 1);
for i = 1:numel(unique_words)
if max(unique_words{i} ~= ' ')
for j = 1:numel(words{1,1})
if strcmp(words{1,1}(j), unique_words{i})
frequencies(i) = frequencies(i) + 1;
end
end
end
end
任何人都可以告诉我,如何为多个文件执行此操作?我的意思是如果我有四个文件?而且,在我在单个文件中列出了唯一单词列表后,如何通过Matlab代码检查每个文件中出现多少次单词?
由于
答案 0 :(得分:2)
你可以这样做:
function [frequencies] = calc_unique_words(filename)
fid = fopen(filename);
words = textscan(fid, '%s');
status = fclose(fid);
unique_words = unique(words{1,1});
frequencies = zeros(numel(unique_words), 1);
for i = 1:numel(unique_words)
if max(unique_words{i} ~= ' ')
for j = 1:numel(words{1,1})
if strcmp(words{1,1}(j), unique_words{i})
frequencies(i) = frequencies(i) + 1;
end
end
end
end
然后在另一个文件中,说“main.m”执行此操作: 确保您的文件名列在第一行:
fileNames = {'f1.txt' , 'file2.bcd', 'filename3.txt','theLastFilename.csv'}
for ii = 1:numel(fileNames)
freq_cell{ii} = calc_unique_words(fileNames{ii});
end