2014-01-05 4 views
0

Я вычислил уникальные слова и их частоты в одном файле, используя уникальную функцию ..Уникальных слова в нескольких файлах в Matlab

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, какие слова появляются, сколько раз в каждом файле?

Благодаря

+2

введите ваш код в файл функции и вызовите эту функцию из цикла for, итерации по вашим именам файлов. И о вашем редактировании: вы должны спросить об этом в отдельном вопросе. – thewaywewalk

ответ

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 
+0

Эй NKN благодаря FOH помочь, но функция: функция [частоты] = calc_unique_words (имя файла) Является ли это для одного файла Потому что я хочу сделать это для кратные ... Еще раз спасибо ..... .... –

+0

функция - это ваш собственный код, и вы будете использовать его несколько раз. – NKN

+0

, и вы имеете в виду, что все четыре файла или несколько файлов будут помещены в последнюю функцию freq_cell, которую вы упомянули правильно? –

Смежные вопросы