Displaying in command winodw but i need to store in .txt file
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Sean de Wolski
2012-10-30
You could use diary:
doc diary
Or fopen/fprintf/fclose
3 个评论
Jonathan Epperl
2012-10-30
编辑:Jonathan Epperl
2012-10-30
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.
更多回答(1 个)
Kye Taylor
2012-10-30
编辑:Kye Taylor
2012-10-30
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);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!