Storing randomly selected sentences in Matlab array

  • Context: MATLAB 
  • Thread starter Thread starter tinglin
  • Start date Start date
  • Tags Tags
    Code File Matlab
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 3K views
tinglin
Messages
1
Reaction score
0
clc
Matlab:
for ii=1:1:3  % start looping
  
rand_id= rand(1,1) *3; % Randomly generte a number between 1 to 3.if (rand_id<1)
    rand_id=1; % 0 is ommitted.
else rand_id=floor(rand_id);
end

% rand_id will be used to open a previously saved file randomly.

if (rand_id==1)
f_id_1=fopen('fire.txt','r');% Open and read a file.
elseif (rand_id==2)
f_id_1=fopen('flood.txt','r'); % Open and read a file.
end

%saning the file to read the text.
events_1=textscan(f_id_1, '%s', 'Delimiter', '\n');
fclose(f_id_1);
events_1=events_1{1}; % saving the text.
rand_event=events_1{randi(numel(events_1))}; % selects one text randomly.end

I wrote the above code to randomly select a file. The file contains number of sentences. My aim is to randomly pick a sentence . I did that. Now, my problem is I can't save all the picked sentences inside the loop.

When I declare S(ii)=rand_event. It shows error. When I try S(ii)=rand)event(ii). It only retruns 1, 2, 3 characters in the three loops.

Please help.
 
Last edited by a moderator:
Physics news on Phys.org
I am not content with this statement of yours:
tinglin said:
Code:
events_1=events_1{1}; % saving the text.
What are you trying to save and how? events_1 will have the text even after you are closing the file.
tinglin said:
I can't save all the picked sentences inside the loop.
Your loop is at the beginning of the code where you're not doing any read/write from text file. What other loop are you talking about?

I believe that this question cannot be worked upon unless more details are provided.