Filter löschen
Filter löschen

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

1 Ansicht (letzte 30 Tage)
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

Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 30 Okt. 2012
You could use diary:
doc diary
Or fopen/fprintf/fclose
  3 Kommentare
Jonathan Epperl
Jonathan Epperl am 30 Okt. 2012
Bearbeitet: Jonathan Epperl am 30 Okt. 2012
Use the diary suggestion, it doesn't get any easier than that!
diary mydiaryfile.txt
%%Your Code %%
diary off
and now you have a file mydiaryfile.txt in your current working directory with all the output in it.
joy
joy am 31 Okt. 2012
yes Sean de Wolsk & Jonathan Epperl
Diary really works for me, thanx

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Kye Taylor
Kye Taylor am 30 Okt. 2012
Bearbeitet: Kye Taylor am 30 Okt. 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!

Translated by