Help with a function in a loop
1 次查看(过去 30 天)
显示 更早的评论
For example:
sampledata:
hello world
hello
hello world world
for i=1:size(sampleData,1)
[x y]=ngramsFreq(sampleData{i},n)
end
% ngramsFreq is a function that returns the frequence and sequences of n letters
I want to caculate x and y for each sentence and store it that after the loop ends and get the specific data for each sentence, how could I do it? I thought bulding a matrix but the size of x and y for each sentence is not equal.
could you help me? Thank's!
0 个评论
采纳的回答
Andrei Bobrov
2013-4-17
function [s1, f] = ngramsfreq(str,n)
n1 = numel(str) - n + 1;
s1 = str(hankel(1:n1,n1:n1+n-1));
[s1,~,c] = unique(s1,'rows','stable');
f = accumarray(c,ones(n1,1));
end
using
str = {'hello world','hello','hello world world'};
n = 2;
nn = numel(str);
S = cell(nn,1);
F = S;
for jj = 1:nn
[S{jj}, F{jj}] = ngramsfreq(str{jj},n);
end
更多回答(1 个)
Yao Li
2013-4-17
sampledata={'hello world','hello','hello world world'};
length(sampledata)
for i=1:length(sampledata)
for j=1:length(sampledata{i})
[x{i} y{i}]=%add your function here
end
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!