Random function from a text file?

10 vues (au cours des 30 derniers jours)
Chris
Chris le 3 Déc 2011
Basically, I have a text file with a bunch of words on it. I'm not sure how I can use MATLAB to randomly select one word.

Réponse acceptée

Jan
Jan le 3 Déc 2011
  1. Read the file word by word.
  2. Use rand to determine which word to choose.
fid = fopen('FileName.txt', 'r');
if fid < 0, error('Cannot open file.'); end
CC = textscan(fid, '%s');
C = CC{1};
fclose(fid);
index = ceil(rand * numel(C));
chosen = C{index};
  1 commentaire
Chris
Chris le 3 Déc 2011
Nevermind! Thank you.

Connectez-vous pour commenter.

Plus de réponses (1)

the cyclist
the cyclist le 3 Déc 2011
There are many MATLAB functions that can read text from files. One possibility that might work for you is the textscan() function. That will read the file into a cell array. Then, you could randomly select one element of the cell array, perhaps using the randi() command.
>> doc textscan
>> doc randi
Those help files give the detailed syntax, and also point to other functions you might prefer to use.
  1 commentaire
Chris
Chris le 3 Déc 2011
Thank you still!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by