MATLAB从文件得出数据并计算吸收光谱

这一系列就是科研用的真实程序了,也是对自己的一个备忘录

真的收购每次都重写了

但真的文件太多了找不到啊!!!

好吧是我废物

废话不多说,这就开始

基础的清理:

clear
clc
close all

读取文件中的数据(来自示波器直接保存)

data=csvread('1\DC\Tek000_ALL.csv',13,0);%csvread只能读取纯数据,跳过前面的字符
%此时data中应该储存了对应的五列数据,我提取了两个通道,中间有一个空列
%读取另一个文件
data2=csvread('1\TDC\Tek000_ALL.csv',13,0);
%将data分成两部分
ch4 = data(:,2);%4通道结果
MATH1 = data(:,5);
T_MATH1 = data2(:,5);
%分别得到两列数据

详细的注释写在每一行了

csvread函数读取文件中的数值,但是只能读取数字,需要汉字会读取失败

这里从第十三行开始读取,结果是一个矩阵

首先绘制原始数据的图像:

%绘制原始图像:
figure(1)
x = 1:length(ch4);%两信号的x轴理论上是相同的
[AX,H1,H2] = plotyy(x,ch4,x,MATH1,'plot');
set(get(AX(1),'Ylabel'),'String','ch4');%设置左边的y轴标签
set(get(AX(2),'Ylabel'),'String','MATH1');%设置右边的y轴标签
xlabel('Time');
set(H1,'Linestyle','--');%设置曲线1的线型
set(H2,'Linestyle',':');%设置曲线2的线型

这里用到了在同一张图中绘制两个y轴的数据

在我的MATLAB基础操作专栏中有详细解释:

https://blog.csdn.net/fendoudecheng/article/details/130218116

实验数据,当然是不会放效果图的,自己想象~

使用移动平均函数平滑曲线

主要是测量的时候噪音较大:

%可以看到还是有很多高频的震荡,这里再次取平均
%直接使用移动均值函数
%M = movmean(A,k) 返回由局部 k 个数据点的均值组成的数组
ave_ch4 = movmean(ch4,16);%4通道结果
ave_MATH1 = movmean(MATH1,16);%1通道相邻16个点取平均后的结果
ave_T_MATH1 = movmean(T_MATH1,16);%1通道相邻16个点取平均后的结果

这里分别取十六个采样点进行平均

移动平均就是一个数组相邻的十六个取平均

原数组长度:200000,改变后的长度:200000

注意这可不是变成十六分之一哦

绘制平滑后的曲线:

% 另一种方式绘制:
figure(2)
yyaxis left
plot(x,ave_ch4)
yyaxis right
plot(x,ave_MATH1)
set(H1,'Linestyle','--');%设置曲线1的线型
set(H2,'Linestyle',':');%设置曲线2的线型

同样是一张图两个y轴,注意这里用了一种新的方法

按照MATLAB官方的说法,这个更提倡

画图:

%比较直接透射和经过铷泡
figure(3)
plot(x,10*ave_MATH1,x,5*ave_T_MATH1);
hold on
plot(x,5*ave_T_MATH1-10*ave_MATH1);

我这里直接的投射是单调递减的,用来标定一个周期:

%得到真正的谱
[m1,index1] = max(ave_T_MATH1);%取数组的最大值和对应的序号
[m2,index2] = min(ave_T_MATH1);%取数组的最小值和对应的序号
x = index1:index2;
figure(4)
plot(x,5*ave_T_MATH1(index1:index2)-10*ave_MATH1(index1:index2));

最后是归一化:

%归一化
% T = 5*ave_T_MATH1(index1:index2)-10*ave_MATH1(index1:index2);
% T = T/max(T);
ave_MATH1 = ave_MATH1(index1:index2);
ave_MATH1 = max(ave_T_MATH1)-ave_MATH1;
ave_MATH1 = ave_MATH1/max(ave_MATH1);
figure(5);
plot(x,ave_MATH1);

注意这里,求归一化的过程,也就是归一化怎么进行:

1、用整张图的最大值减去整个图,得到吸收谱,归一化

2、用透射谱减,得到吸收谱,归一化

这里不太精确,用第一种就行

最后是保存在文件内:

saveas(gca,'my2.png')

结束

放个图做封面吧:

 (图片来自于网络)

上图搜索关键词:做实验哪有不疯的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/87508.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot案例-部门管理-修改

目录 前言 查看页面原型,明确需求 页面原型 需求 阅读接口文件 思路分析 功能接口开发 控制层(Controller类) 业务层(Service类) 业务类 业务实现类 持久层(Mapper类) 接口测试 前…

LNMP环境介绍和搭建

一.LNMP简介 1.含义 2.工作原理 二.部署LNMP环境 1.Nginx环境 (1)上传nginx包,下载编译安装工具并解包到指定目录(tar 参数 tar包 - C 目录路径) (2) 开始编译安装,每次编译后…

HTTP代理编程:Python实用技巧与代码实例

今天我要与大家分享一些关于HTTP代理编程的实用技巧和Python代码实例。作为一名HTTP代理产品供应商,希望通过这篇文章,帮助你们掌握一些高效且实用的编程技巧,提高开发和使用HTTP代理产品的能力。 一、使用Python的requests库发送HTTP请求&a…

25. K 个一组翻转链表

25. K 个一组翻转链表 题目-困难难度示例1. 链表转列表 -> 计算 -> 列表转链表2. 反转合并 题目-困难难度 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果…

mac harbor的安装

harbor的安装 为什么要整这个呢,因为我在学习k8s,但是需要一个自己的镜像仓库。于是,最开始想到的就是在本地直接部署一个,还比较安全、快速。 直接下载了官方的项目,运行脚本发现出了异常,这种异常我已经…

Ajax 笔记(一)—— Ajax 入门

笔记目录 1. Ajax 入门1.1 Ajax 概念1.2 axios 使用1.2.1 URL1.2.2 URL 查询参数1.2.3 小案例-查询地区列表1.2.4 常用请求方法和数据提交1.2.5 错误处理 1.3 HTTP 协议1.3.1 请求报文1.3.2 响应报文 1.4 接口文档1.5 案例1.5.1 用户登录(主要业务)1.5.2…

SpringBoot3集成Quartz

标签:Quartz.Job.Scheduler; 一、简介 Quartz由Java编写的功能丰富的开源作业调度框架,可以集成到几乎任何Java应用程序中,并且能够创建多个作业调度; 在实际的业务中,有很多场景依赖定时任务&#xff0c…

Java SpringBoot 加载 yml 配置文件中字典项

实际项目中,如果将该类信息放配置文件中的话,一般会结合Nocas一起使用 将字典数据,配置在 yml 文件中,通过加载yml将数据加载到 Map中 Spring Boot 中 yml 配置、引用其它 yml 中的配置。# 在配置文件目录(如&#xff…

Ajax-概念、Http协议、Ajax请求及其常见问题

Ajax Ajax概念Ajax优缺点HTTP协议请求报文响应报文 Ajax案例准备工作express基本使用创建一个服务器 发送AJAX请求GET请求POST请求JSON响应 Ajax请求出现的问题IE缓存问题Ajax请求超时与网络异常处理Ajax手动取消请求Ajax重复发送请求问题 Ajax概念 AJAX 全称为Asynchronous J…

Maven从入门到好难

参考文献 永远最好的官网 超赞maven系列文章 1. 为啥要有maven 想当初,刚毕业刚工作,之前学的C,java不懂,部门用的Spring,于是开始学习SSM,妈的,jar包好难整,还要一个个下载好放到…

腾讯云服务器标准型CVM实例详细介绍S5/S6/SA2/SR1/SA3/S4等

腾讯云CVM服务器标准型实例的各项性能参数平衡,标准型云服务器适用于大多数常规业务,例如:web网站及中间件等,常见的标准型云服务器有CVM标准型S5、S6、SA3、SR1、S5se等规格,腾讯云服务器网来详细说下云服务器CVM标准…

HCIP BGP实验

题目 拓扑图 配置IP地址及环回 R1 <Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]sysname r1 [r1]int l0 [r1-LoopBack0]ip add 1.1.1.1 24 [r1-LoopBack0]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 12.1.1.1 24R2 <Huawei>sy Enter …

AI lightning学习

真的是没有mmlab的框架好理解&#xff0c;hook调用没问题&#xff0c;就是代码写的不整洁&#xff0c;hook放的到处都是&#xff0c;而且hook的名字和run的名字也不好对应。 又是捧mmengine的一天 &#x1f603;

2023国赛数学建模A题B题C题D题E题思路分析 2023全国大学生数学建模思路

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

jupyter文档转换成markdown

背景 上一篇文章**《如何优雅地用python生成模拟数据》**我就使用jupyter写的&#xff0c;这个真的是万能的&#xff0c;可以插入markdown格式的内容&#xff0c;也可写代码&#xff0c;关键是像ipython一样&#xff0c;可以分步执行。 我可以这样自由的写我的博客内容&#x…

div 中元素居中的N种常用方法

本文主要记录几种常用的div盒子水平垂直都居中的方法。本文主要参考了该篇博文并实践加以记录说明以加深理解记忆 css之div盒子居中常用方法大全 本文例子使用的 html body结构下的div 盒子模型如下&#xff1a; <body><div class"container"><div c…

论文阅读:《Waymo Public Road Safety Performance Data》

文章目录 1 背景2 方法2.1 数据来源2.2 碰撞数据 3 碰撞事件分析4 讨论 1 背景 这篇文章是讲waymo道路安全性能数据分析的&#xff0c;主要想表达的是waymo自动驾驶系统在安全上面的出色表现&#xff0c;以向政府、大众提高自己产品的公信力。 这篇文章分析的数据是自从2019年到…

备战秋招012(20230808)

文章目录 前言一、今天学习了什么&#xff1f;二、动态规划1.概念2.题目 总结 前言 提示&#xff1a;这里为每天自己的学习内容心情总结&#xff1b; Learn By Doing&#xff0c;Now or Never&#xff0c;Writing is organized thinking. 提示&#xff1a;以下是本篇文章正文…

Vue主面板组件模板(简洁版)

文章目录 &#x1f412;个人主页&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;源码如下&#xff1a; &#x1f412;个人主页 &#x1f3c5;JavaEE系列专栏 &#x1f4d6;前言&#xff1a; 本篇博客主要以介绍【&#x1f380;主面板组件模板&#xf…

【计算机视觉|生成对抗】用深度卷积生成对抗网络进行无监督表示学习(DCGAN)

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks 链接&#xff1a;[1511.06434] Unsupervised Representation Learning with Deep Conv…