MATLAB Matlab Help -- code to randomly select a file and a sentence in that file

  • Thread starter Thread starter tinglin
  • Start date Start date
  • Tags Tags
    Code File Matlab
AI Thread Summary
The discussion revolves around a MATLAB code snippet designed to randomly select a sentence from one of two text files, 'fire.txt' or 'flood.txt'. The user successfully generates a random identifier to choose a file and reads sentences from it. However, they encounter issues when attempting to store multiple randomly selected sentences in an array during a loop. Specifically, they receive errors when trying to assign the selected sentence to an array and express confusion about saving the text after closing the file. The responses highlight the need for clarity on how to properly store the selected sentences and suggest that the current loop structure may not be correctly implemented for the intended functionality. Additionally, there is a call for more details to effectively address the user's problem.
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.
 
Back
Top