%%读取示波器文件中的数据,并记录其峰值%%
clc;
clear all;
%获取文件夹下某类型数据的所有文件名
Path = 'E:\单光子\'; % 设置数据存放的文件夹路径
File = dir(fullfile(Path,'*.csv')); % 显示文件夹下所有符合后缀名为.csv文件的完整信息
FileNames = {File.name}'; % 提取符合后缀名为.csv的所有文件的文件名,转换为n行1列
%读取特定格式的所有数据
Length_Names = size(FileNames,1); % 获取所提取数据文件的个数
for k = 1 : Length_Names % 连接路径和文件名得到完整的文件路径
K_Trace = strcat(Path, FileNames(k)); % 读取数据
eval(['Data',num2str(k),'=','readmatrix(K_Trace{1,1})',';']);
% 注意1:eval()函数是括号内的内容按照命令行执行,
% 即eval(['a','=''2','+','3',';'])实质为a = 2 + 3;
% 注意2:由于K_Trace是元胞数组格式,需要加{1,1}才能得到字符串
data = eval(['Data',num2str(k)]);
[m,n]=max(data);
%%记录结果,将数据保存到txt文件中
fid = fopen('fengzhi.txt','a'); %结果记录.txt是存储数据的文件,a是数据向后增加的意思
fprintf(fid,'%f\t',m); % %f\t是将数据往同一行的后面存
fprintf(fid,'%f\n',n); % %f\n是将数据往下一行存
fclose(fid);
eval(['clearvars',' ','Data',num2str(k),';']);%清空指定变量
end
1.实现matlab自动读取某文件夹内的所有同类型文件;
2.实现处理读取到的文件内容,本文实现找出文件中数据最大值以及最大值的位置;
3.实现将找出的数据最大值以及最大值的位置自动写入txt文件中,本文是存放在fengzhi.txt文件中;
4.因我需要读取的文件数量相当大,为了减少占用的内存,每个读取循环完成后,我将'Data',num2str(k)变量数据清空。如果不清空的话,运行结束后工作区会记录下Data1、Data2、Data3....Dataxxx,会导致运行起来更慢。文章来源:https://www.toymoban.com/news/detail-610933.html
5.eval()函数真好用。文章来源地址https://www.toymoban.com/news/detail-610933.html
到了这里,关于MATLAB自动读取文件夹中的所有文件,并处理文件内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!