自动读取文件夹中的所有同类型数据文件,记录每个数据文件的峰值,并将所有峰值保存在excel中。
数据是负的峰值类型,寻峰的逻辑是:设定一个阈值(-0.002),挨个读取某一数据文件中的数据,如果当前数据大于阈值,则读取下一个数据。当当前数据小于阈值时,触发,取当前数据之后2000个数据,使用min函数找这2000个数的最小值,作为本次触发找到的一个峰值。
之后继续依次比较后面数据和阈值的大小,找到某一个数据文件中的所有峰值,存放在peak_matrix_k矩阵中。
再找到所有数据文件的所有峰值,存放在peak_matrix矩阵中,最后将peak_matrix矩阵数据写入excel中,完成。

%%自动读取文件夹中的所有同类型数据文件,记录每个数据文件的峰值,并将所有峰值保存在excel中%%
%%数据是负的峰值类型,寻峰的逻辑是:设定一个阈值(-0.002),挨个读取某一数据文件中的数据,
%%如果当前数据大于阈值,则读取下一个数据。当当前数据小于阈值时,触发,取当前数据之后2000个数据,
%%使用min函数找这2000个数的最小值,作为本次触发找到的一个峰值。
%%之后继续依次比较后面数据和阈值的大小,找到某一个数据文件中的所有峰值,存放在peak_matrix_k矩阵中。
%%再找到所有数据文件的所有峰值,存放在peak_matrix矩阵中,最后将peak_matrix矩阵数据写入excel中,完成。
clc;
clear all;
%获取文件夹下某类型数据的所有文件名
Path = 'C:\Users\xxx\Desktop\实验记录\20221010-新\运行程序用数据\';   % 找到数据存放的文件夹路径
File = dir(fullfile(Path,'*.csv'));  % 显示文件夹下所有符合后缀名为.txt文件的完整信息
FileNames = {File.name}';            % 提取符合后缀名为.txt的所有文件的文件名,转换为n行1列
%读取特定格式的所有数据
Length_Names = size(FileNames,1);    % 获取所提取数据文件的个数
threshold_value = -0.002;%设置阈值,过阈值之后取2000个数据,最小值作为峰值。
peak_matrix = [];%存放所有峰值数据的矩阵
peak_matrix_k = [];%存放第k个文件的峰值
judge_noise = 0;%噪声信号的标识%循环读取.csv文件,找到数据中的最小值,记录到txt文件或excel文件中
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)]);first_column = data(:,1);%将data文件的第一列,传递给first_column数组i = 1;j = length(first_column);%%利用数据中,均值和方差的特征,判断是否是噪声信号judge_first_column = first_column(1:2000);%取前2000个数据,计算均值和方差judge_mean = mean(judge_first_column);judge_var = var(judge_first_column);if judge_mean<0 && judge_var>(1*10^(-7))judge_noise = 1;else judge_noise = 0;end%%数据含有多个峰值(且数据为负脉冲),且需要排除噪声数据的干扰while(i<j && judge_noise==0)while(first_column(i)>=threshold_value && i<j)%当数据大于阈值时,继续读下一个数据i = i + 1;endwhile(first_column(i)<threshold_value)%当数据小于阈值时,取后面2000个数据最小值作为峰值if i<(j-2000)part_first_column = first_column(i:i+2000);i = i + 2000;elsepart_first_column = first_column(i:j);i = j;end[m,n]=min(part_first_column);%读取最小值peak_matrix_k = [peak_matrix_k;(m-judge_mean)];%将峰值减去均值(基线值)是修正后的峰值
%             if length(peak_matrix_k)>10 %如果有10个以上的数,证明这个文件取峰值出现了问题
%                 peak_matrix_k = [];
%                 i = j ;%break
%             endendendpeak_matrix = [peak_matrix;peak_matrix_k];%依次将第k个文件峰值,存放进矩阵中peak_matrix_k = [];%将中间变量置空eval(['clearvars',' ','Data',num2str(k),';']);%清空指定变量
end
%%记录结果,将数据保存到excle文件中
xlswrite('allpeaks.xls',peak_matrix);

MATLAB 对多个数据自动寻峰/能谱图自动寻峰相关推荐

  1. MATLAB R2019a绘制时序数据小波方差图[新手向/保姆级]

    本来是想画时间序列数据的小波方差图,看看数据的周期特征,结果实验效果差到怀疑人生哈哈哈哈哈,并没有达到我一开始的目的.不过还是学会了怎么用MATLAB来算,也算是有一丢丢收获吧~ 打开MATLAB,点 ...

  2. matlab将两组数据画一张图,excel多表格数据作图-EXCEL里如何将表示两组数据的两种图形放在同一个表......

    EXCEL里如何将表示两组数据的两种图形放在同一个表... 用xlsread()函数就可以Excel中的数 假设LHMHZ.xls的数据单元格A为x数据,B为y数据可以用代码实现来你的. data=x ...

  3. matlab存储excel数据,怎么把matlab表格数据写入excel-怎么把matlab中处理的数据存入到excel中...

    怎么把matlab中处理的数据存入到excel中 1.上双开matlab 2.接着可以直接在命进行相关的操作 3.也可以直接新建一个脚本,我这里是直接在命令行进行的 4.现在我们介绍一下关于将数据变量 ...

  4. MATLAB 实现读取数据文件,画图并自动将图片保存到文件夹中

    实现读取峰值数据,增加道数筛选符合要求的道数值,画出直方图并自动将图片保存到文件夹中,也可选择将直方图中点连线. %%读取峰值数据,增加道数筛选符合要求的道数值,画出直方图并自动将图片保存到文件夹中, ...

  5. matlab抓取网页信息,如何利用Matlab抓取网页数据

    如何利用Matlab抓取网页数据 2019-01-01 %朋友需要做金融方面的分析,要求从网站上下载大量的数据,一个一个复制粘贴太费事.我写了一个简单的网络爬虫,主要用到正则表达式,可以自动下载网页源 ...

  6. 使用Matlab提取ADC采样数据中的噪声

    正常波形与噪声波形的区别 正常方波信号的特征:一个周期内的数据按时间单调变化,则仅有2种情况:① 数据在上升或下降边沿时,其两边的数据则是一边大一边小(如下图中C和D点):② 数据处于平稳时,则两边大 ...

  7. 用Matlab提取图片中泰文,利用Matlab提取图片中的数据

    [实例简介] 从事科研或者工程的人员在文档撰写过程中,常需要将文献中的曲线与自己的结果对比,为获取原始数据,一种常用的办法是手动描点,即将原始曲线放大然后打印出来,选取一定数量的点,读出其横纵坐标,然 ...

  8. matlab保存和载入数据,matlab数据的导入导出-总结篇

    支持的导入和导出文件格式 下表显示了可以从 MATLAB 应用程序导入和导出的文件格式. 文件内容扩展名说明导入函数导出函数MATLAB 格式化数据MAT保存的 MATLAB 工作区 访问 MATLA ...

  9. matlab 多个表数据相加,Excel合并计算完成多表格数据汇总求和

    Excel合并计算完成多表格数据汇总求和 多表格数据汇总可以使用透视表,使用函数,今天读书屋OFFICE网陈飞老师分享一个通过合并计算完成多表格数据汇总方法,合并计算分为两种情况,一种情况是:多个表格 ...

最新文章

  1. android的布局流程,Android View 布局流程(Layout)全面解析
  2. HDU_1003 Max Sum
  3. 微众WeCross 跨链平台(5)“UBI通用区块链接口”设计
  4. [Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒
  5. Wincc V7.3SE安装截图
  6. Andrew Ng机器学习公开课笔记 -- Logistic Regression
  7. 孙宇晨:BM跑路或是觉得做项目是一种负担
  8. IE css HACK
  9. 软考中级软件设计师--考试准备
  10. 机器学习进阶 第一节 第一课
  11. 光照模型-PBS在Unity中的应用
  12. [Python图像识别] 四十七.Keras深度学习构建CNN识别阿拉伯手写文字图像
  13. HBase读写性能调优(一)
  14. 睡眠健康与肠道健康之间的双向联系
  15. fastapi——快速入门
  16. MATLAB中图像标注工具——Image Labeler的使用方法
  17. 清华“差生”10年奋斗经历,只写事业,不写女人
  18. 链表_第10章_基本数据结构_算法导论
  19. Windows 7 Ultimate with Service Pack 1 (x64)
  20. 抖音落地页跳转微信加好友怎么实现的?

热门文章

  1. czy的后宫——矩阵快速幂优化DP
  2. 7.PCIE配置空间读写软件
  3. 凌波微步 出与洛神赋
  4. Excel使用---excel2016___2维表转1维表(搬,侵删)
  5. HashMap源码解析——构造方法
  6. android扇形动画弹出icon的功能
  7. ISP(图像信号处理)白平衡White Balance
  8. 2023年社交平台研究报告
  9. 解决mac登录APPLE ID无限重复弹窗提示登录
  10. YunEngine SDK已经开始发放了!!!