Help with a function in a loop

1 vue (au cours des 30 derniers jours)
googo
googo le 17 Avr 2013
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!

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 17 Avr 2013
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 commentaire
googo
googo le 17 Avr 2013
Thank you!

Connectez-vous pour commenter.

Plus de réponses (1)

Yao Li
Yao Li le 17 Avr 2013
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
  4 commentaires
googo
googo le 17 Avr 2013
maybe a simple question that whould help figure this out. when I'm writing [x{1} y{2}] , what does it mean?
googo
googo le 17 Avr 2013
He explain how to store a series of vectors from a for loop but each vector has the same length. How could I store it when the lengths are diffrent?
I understand you use x{i} y{i} but when i'm typing x{1} [2 2 2] for example I get "Cell contents assignment to a non-cell array object." and don't understand the meaning.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by