Printing a sentence using one random element from each cell array?

Question: Write a script that will initalize cell arrays and print sentences using one random element from each cell array (ex. 'Harry loves cats').
What I have so far is this:
names = {'Harry', 'Sarah', 'Sue'};
verbs = {'loves', 'likes'};
nouns = {'cats', 'dogs', 'zebras'};
for i=1:length(names)
fprintf('%s\n',i,names{i})
end
However, this only gives me the 'names' array.
How can I print a sentence using one random element from each cell array?

Más respuestas (1)

Image Analyst
Image Analyst el 20 de Oct. de 2013
Editada: Image Analyst el 20 de Oct. de 2013
Homework Hint: If your cells start out as sentences like 'Harry loves cats', use regexp() or strtok() to get the individual words, or simpler and better yet, use allwords: http://www.mathworks.com/matlabcentral/fileexchange/27184-allwords
But if your words are already extracted out like you showed in your test code, then just get 3 random integers using randi() and print all of them, not just names like you did
fprintf('%s %s %s\n', names{rand1}, verbs{rand2}, nouns{rand3});

2 comentarios

The fprintf above doesn't work. MATLAB is saying that rand1 is unidentified?
Did you get three random integers using randi() ?

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Centro de ayuda y File Exchange.

Preguntada:

el 20 de Oct. de 2013

Comentada:

el 20 de Oct. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by