Displaying in command winodw but i need to store in .txt file

1 view (last 30 days)
Hello
In a code I have a random 20000 data sequence ranging form 0 to 255, I am displaying the locations of each data they occurred in a matlab code in command window such that
for i=0:1:255
i
locations=find(X==i)% finding the locations of same number in the randomly genarated vector
% X is my random generated sequence of 20000 data
I am getting output in command window such that
i =
134
locations =
Columns 1 through 10
402 802 846 1476 2101 2293 2322 2594 3408 3444
that is 134 occurs in such positions of random sequence
but due to huge no of data the complete list is not available on command window i am getting data from i=125 the rest of data are hiding some where in command window,,how can I put this i and locations in a separate notepad file.. regards

Accepted Answer

Sean de Wolski
Sean de Wolski on 30 Oct 2012
You could use diary:
doc diary
Or fopen/fprintf/fclose
  3 Comments
joy
joy on 31 Oct 2012
yes Sean de Wolsk & Jonathan Epperl
Diary really works for me, thanx

Sign in to comment.

More Answers (1)

Kye Taylor
Kye Taylor on 30 Oct 2012
Edited: Kye Taylor on 30 Oct 2012
The following code is not ideal in that two for loops are being used where one would suffice. However, it makes it clear which code is creating data, and which code is writing to a file.
X = randi(256,1,1000) - 1;% proxy for your X
v = 0:1:255; % vector of values
locations = cell(1,length(v)); % space for each vector of indices
for i = 1:length(v)
locations{i}=find(X == v(i));
end
[fid,msg] = fopen('newTextFile.txt','w');
fprintf(fid,'%s\t%s\n','idx','loc');
for i = 1:length(v)
array = [i,locations{i}];
fprintf(fid,[repmat('%d\t',1,length(array)),'\n'],array);
end
fclose(fid);

Community Treasure Hunt

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

Start Hunting!