Multiple .txt input files
1 回表示 (過去 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!