基于MATLAB进行荧光光谱数据处理包括三维荧光光谱图、等高线图、激发光谱图、发射光谱图

简介: 基于MATLAB进行荧光光谱数据处理包括三维荧光光谱图、等高线图、激发光谱图、发射光谱图

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

随着分析测量技术的发展,三维(Three-dimensional,3D)图谱的获取变得越来越容易.与传统的二维图谱相比,三维图谱由于增加了一个测定的维度,因而包含了更加丰富的待测物质的信息.因此,从理论上来说,基于三维指纹图谱对复杂体系的多个目标组分进行分析时能够获得更加准确,可靠的结果.三维荧光图谱(fluorescence3D spectrum,或excitation emission matrix,EEM)一般是由一系列不同激发波长下所获得发射光谱(或不同发射波长下的激发光谱)所组成的,与传统的二维(two-dimension,2D)荧光光谱相比,能够给出待测体系在待测波长范围内更加全面的荧光特性信息.

⛄ 代码

clear;clc;


EX=230:5:400;        %35个

EM=250:1:500;        %251个

[M,N]=meshgrid(EX,EM);


fid=fopen('chy3.txt');

A=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 %f %f %f %f %f %f %f %f %f %f','headerlines',9); %将其前9行内容去除

fclose(fid);

for i=2:36                        %将存在细胞矩阵A中的数据存到矩阵C中

   C(:,i-1)=A{i};

end

C(isnan(C)) = 0;                  %NAN无数据处等于0


figure('color','white');

subplot(2,2,1);

surf(M,N,C);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5,'Rotation',18);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5,'Rotation',-15);

zlabel('\fontname{宋体}相对荧光强度\fontname{Times New Roman}(a.u.)','FontSize',10.5);

title('初始三维荧光光谱图');

grid on;

shading interp;                   %平滑效果


subplot(2,2,2);                   %画等高线图

contour(M,N,C,20);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

title('初始等高线图');

grid on;


subplot(2,2,3);

plot(EX,C);                       %画出激发波长与荧光强度关系

grid on;

xlabel('\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}相对荧光强度\fontname{Times New Roman}(a.u.)','FontSize',10.5);

title('初始激发光谱图');


subplot(2,2,4);

plot(EM,C);                       %画发射波长与荧光强度关系

grid on

xlabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}相对荧光强度\fontname{Times New Roman}(a.u.)','FontSize',10.5);

title('初始发射光谱图');



%消除拉曼散射

fid=fopen('chy1.txt');

B=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 %f %f %f %f %f %f %f %f %f %f','headerlines',9); %将其前9行内容去除

fclose(fid);

for i=2:36                        %将存在细胞矩阵A中的数据存到矩阵C中

   D(:,i-1)=B{i};

end

D(isnan(D)) = 0;                  %NAN无数据处等于0


figure('color','white');

subplot(1,2,1);

surf(M,N,D);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5,'Rotation',18);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5,'Rotation',-15);

zlabel('\fontname{宋体}相对荧光强度\fontname{Times New Roman}(a.u.)','FontSize',10.5);

title('溶剂SDS的Raman散射光谱');

grid on;

shading interp;


subplot(1,2,2);                %画等高线图

contour(M,N,D,20);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

title('溶剂SDS的Raman散射等高线图');

grid on;


figure('color','white')

subplot(1,2,1);

contour(M,N,C,20);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

grid on;

title('未消除拉曼散射');


A1=C-D;

subplot(1,2,2);

contour(M,N,A1,20);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

grid on;

title('消除拉曼散射后');


%%提取发射波长、激发波长与荧光强度关系的数据

fid=fopen('chy2.txt');

B=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 %f %f %f %f %f %f %f %f %f %f','headerlines',9); %将其前9行内容去除


fclose(fid);

Ex1=E{2};

Ex1=Ex1(31:5:201,1);


fid=fopen('Emission Correction.txt');

F=textscan(fid,'%f %f','headerlines',1); %将其前9行内容去除

fclose(fid);

Em1=F{2};

Em1=Em1(51:1:301,1);



%%画发射波长、激发波长与荧光强度关系

figure('color','white')

subplot(2,1,1);

plot(EX,Ex1);                   %画发射波长与荧光强度关系

grid on

xlabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}相对荧光强度\fontname{Times New Roman}(a.u.)','FontSize',10.5);

grid on;

title('激发校正曲线');


subplot(2,1,2);

plot(EM,Em1);                   %画发射波长与荧光强度关系

grid on

xlabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}相对荧光强度\fontname{Times New Roman}(a.u.)','FontSize',10.5);

grid on;

title('发射校正曲线');



figure('color','white')

subplot(2,2,1);

contour(M,N,C,20);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

grid on;

title('未校正前');


Ex1=Ex1';

for i=1:251

   C1(i,:)=C(i,:)./Ex1;

end

subplot(2,2,2);

contour(M,N,C1,20);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

grid on;

title('激发校正后');



for i=1:35

   C2(:,i)=C(:,i)./Em1;

end

subplot(2,2,3);

contour(M,N,C2,20);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

grid on;

title('发射校正后');


for i=1:35

   C3(:,i)=C1(:,i)./Em1;

end

subplot(2,2,4);

contour(M,N,C3,20);

xlabel( '\fontname{宋体}激发波长\fontname{Times New Roman}(nm)','FontSize',10.5);

ylabel('\fontname{宋体}发射波长\fontname{Times New Roman}(nm)','FontSize',10.5);

grid on;

title('激发和发射校正后');

⛄ 运行结果

⛄ 参考文献

[1] 张晓丽. 基于同步荧光法对橙汁饮品品质的判别分析[D]. 山西大学, 2015.

[2] 杨琳. 城市污水生物脱氮过程的试验研究与荧光光谱解析[D]. 安徽建筑大学, 2014.

[3] 卢先勇、何文绚、陈昊聪、黄睿、张燕杰. 基于植物油三维荧光光谱的茶油鉴定模型[J]. 光谱学与光谱分析, 2020, 40(12):6.

[4] 陈婧. 基于三维荧光图谱分析的新方法研究[D]. 兰州大学, 2016.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
3月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
142 6
|
3月前
|
数据可视化
基于MATLAB的OFDM调制发射与接收仿真
基于MATLAB的OFDM调制发射与接收仿真
|
3月前
|
机器学习/深度学习 算法 安全
【无人机三维路径规划】基于非支配排序的鲸鱼优化算法NSWOA与多目标螳螂搜索算法MOMSA求解无人机三维路径规划研究(Matlab代码实现)
【无人机三维路径规划】基于非支配排序的鲸鱼优化算法NSWOA与多目标螳螂搜索算法MOMSA求解无人机三维路径规划研究(Matlab代码实现)
199 5
|
3月前
|
机器学习/深度学习 并行计算 算法
PINN驱动的三维声波波动方程求解(Matlab代码实现)
PINN驱动的三维声波波动方程求解(Matlab代码实现)
338 7
|
3月前
|
机器学习/深度学习 编解码 计算机视觉
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
117 2
|
3月前
|
机器学习/深度学习 算法 安全
【无人机三维路径规划】多目标螳螂搜索算法MOMSA与非支配排序的鲸鱼优化算法NSWOA求解无人机三维路径规划研究(Matlab代码实现)
【无人机三维路径规划】多目标螳螂搜索算法MOMSA与非支配排序的鲸鱼优化算法NSWOA求解无人机三维路径规划研究(Matlab代码实现)
157 0
|
3月前
|
传感器 算法 安全
【无人机三维路径规划】基于灰雁GGO实现无人机三维路径规划(目标函数:最优成本 路径 高度 威胁 转角)研究(Matlab代码代码实现)
【无人机三维路径规划】基于灰雁GGO实现无人机三维路径规划(目标函数:最优成本 路径 高度 威胁 转角)研究(Matlab代码代码实现)
131 6
【无人机三维路径规划】基于灰雁GGO实现无人机三维路径规划(目标函数:最优成本 路径 高度 威胁 转角)研究(Matlab代码代码实现)
|
2月前
|
编解码 算法 数据可视化
基于MATLAB实现海浪数据处理与谱分析
基于MATLAB实现海浪数据处理与谱分析
|
3月前
|
算法 安全 定位技术
基于改进拥挤距离的多模态多目标优化差分进化(MMODE-ICD)求解无人机三维路径规划研究(Matlab代码实现)
基于改进拥挤距离的多模态多目标优化差分进化(MMODE-ICD)求解无人机三维路径规划研究(Matlab代码实现)
113 2
|
3月前
|
机器学习/深度学习 并行计算 算法
【无人机避障三维航迹规划】基于人工原生动物优化器APO的复杂城市地形下无人机避障三维航迹规划研究(可以修改障碍物及起始点)(Matlab代码实现)
【无人机避障三维航迹规划】基于人工原生动物优化器APO的复杂城市地形下无人机避障三维航迹规划研究(可以修改障碍物及起始点)(Matlab代码实现)
183 3

热门文章

最新文章