Multiple .txt input files
2 次查看(过去 30 天)
显示 更早的评论
Hello,
I have created a code as shown
data1=importdata('1.txt');
phase=data1(:,3);
p=phase*2*pi;
t=data1(:,1);
fd=diff(p);
sd=diff(fd);
ti=(t/86400000);
tii = fix(ti);
tiii = (ti - tii)*24 ;
tj=tiii;
tj(end,:) = [];
tk=tj;
tk(end,:) = [];
FigHandle = figure('Position', [100, 100, 560, 751]);
ax1=subplot(3,1,1);
plot(ax1,tiii,p)
title( ' 1 Oct 2012, SV 1 ')
xlabel('UT (hours)')
ylabel('Phase at L1 (cycles)')
ax2=subplot(3,1,2);
plot(ax2,tk,sd)
xlabel('UT (hours)')
ylabel('sec diff on Phase at L1 (cycles)')
ax3=subplot(3,1,3);
plot(ax3,tk,sd)
xlabel('UT (hours)')
ylabel('sec diff on Phase at L1 (cycles)')
axis(ax3,[0 24 -2 2])
axis(ax2,[-inf inf -2 2])
axis(ax1,[-inf inf -inf inf])
This code runs on input text files with structured numerical data to do a calculation and generate a figure with the results. How can I run the program on multiple input files (say, 1.txt , 2.txt, 3.txt, 16.txt, 27.txt etc)all at once and get a plot for each input?
Please help.
PS:I am attaching two input files 10.txt and 27.txt
0 个评论
采纳的回答
Massimo Zanetti
2017-2-23
编辑:Massimo Zanetti
2017-2-23
Use dir function to list files with .txt extension
%list folder files
files = dir('*.txt');
and put your code in a function
function myFunction(fname)
%%your code....
end
and run the function for every file in your folder using a for loop Like this:
for k=1:length(files)
%get file name
fname = files(k).name;
%run your code on the current file
myFunction(fname);
end
3 个评论
Massimo Zanetti
2017-2-23
编辑:Massimo Zanetti
2017-2-23
Play around this (in the body of myFunction):
function myFunction(fname)
%%your code....
figure;
plot(something);
title(['file: ',fname]);
end
If this answer helped you, please accept it.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Entering Commands 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!