For loop question/ plot figure
1 次查看(过去 30 天)
显示 更早的评论
- I am using a for loop to plot muliple text files; (files go from MT_0058 to MT_0212.txt) Which represent helicopter flight data, And I am running into an issue where some of the files (60% or more) have bad data for the first 300 rows, but may have 20-30 thousand in total. I would like to adjust the headerlines to exclude this bad data, but am running into a problem where some of the files have fewer than 300 rows (shorter flights). Is there a way to adjust the headerlines and ignore text files that have fewer than the minimum amount of rows? Without stopping the program.
- When plotting these text files, is there a way to simply use the saveas function without opening the plots as to avoid cluttering my computer with a large amount of open figures?
for k = 58:212
inputFileName = sprintf('MT_%05i-000.txt',k);
outputFileName = sprintf('results%05i.tiff',k);
fid = fopen(inputFileName);
datacell = textscan(fid, '%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','HeaderLines',5);
fclose(fid);
...
saveas(gcf,outputFileName);
end
0 个评论
采纳的回答
Thomas
2012-4-10
If you are on a linux system try
for k = 58:212
inputFileName = sprintf('MT_%05i-000.txt',k);
outputFileName = sprintf('results%05i.tiff',k);
fid = fopen(inputFileName);
new_cmd=sprintf('more %s|wc -l', inputFileName);
[p,num_lines]=system(newcmd);
if num_lines<=300
datacell = textscan(fid, '%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','HeaderLines',5);
fclose(fid);
else
datacell = textscan(fid, '%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','HeaderLines',300);
fclose(fid);
...
saveas(gcf,outputFileName);
end
end
Do not have access to MATLAB currently so cannot check..
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Printing and Saving 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!