基于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电子书和数学建模资料


相关文章
|
6月前
|
编解码
MATLAB | 科研绘图第十一期动态趋势图
MATLAB | 科研绘图第十一期动态趋势图
68 0
|
6月前
|
存储 编解码
MATLAB | 科研绘图第十八期散点密度图
MATLAB | 科研绘图第十八期散点密度图
189 0
|
6月前
|
存储 编解码
MATLAB | 科研绘图第十九期散点密度图强化版
MATLAB | 科研绘图第十九期散点密度图强化版
104 0
|
4月前
|
算法 数据可视化 图形学
网络通信系统的voronoi图显示与能耗分析matlab仿真
在MATLAB2022a中,该程序模拟了两层基站网络,使用泊松分布随机生成Macro和Micro基站,并构建Voronoi图。它计算每个用户的信号强度,选择最强连接,并分析SINR和数据速率。程序还涉及能耗计算,包括传输、接收、处理和空闲能耗的分析。Voronoi图帮助可视化网络连接和优化能源效率。
|
1月前
|
存储 数据可视化 数据挖掘
使用Matlab绘制简单的二维与三维图形
【10月更文挑战第3天】本文详细介绍了如何在 Matlab 中绘制简单的二维和三维图形,包括曲线图、柱状图、散点图、网格图、表面图、等高线图、多边形填充图、切片图及矢量场等。文章提供了丰富的代码示例,如使用 `plot`、`bar`、`scatter`、`plot3`、`mesh`、`surf`、`contour` 等函数绘制不同类型图形的方法,并介绍了 `rotate3d`、`comet3` 和 `movie` 等工具实现图形的交互和动画效果。通过这些示例,读者可以轻松掌握 Matlab 的绘图技巧,并应用于数据可视化和分析中。
49 6
|
4月前
|
算法
基于kalman滤波的UAV三维轨迹跟踪算法matlab仿真
本文介绍了一种使用卡尔曼滤波(Kalman Filter)对无人飞行器(UAV)在三维空间中的运动轨迹进行预测和估计的方法。该方法通过状态预测和观测更新两个关键步骤,实时估计UAV的位置和速度,进而生成三维轨迹。在MATLAB 2022a环境下验证了算法的有效性(参见附图)。核心程序实现了状态估计和误差协方差矩阵的更新,并通过调整参数优化滤波效果。该算法有助于提高轨迹跟踪精度和稳定性,适用于多种应用场景,例如航拍和物流运输等领域。
230 12
|
6月前
|
移动开发
MATLAB | SCI绘图配色第1期 | 点线图 | 刺客伍六七之暗影宿命第1集
MATLAB | SCI绘图配色第1期 | 点线图 | 刺客伍六七之暗影宿命第1集
161 0
|
5月前
|
监控 数据可视化 数据挖掘
利用Matlab进行员工上网行为监控数据处理
使用Matlab处理员工上网行为监控数据,通过导入CSV数据、去除异常值并转换时间戳,进行数据预处理。然后,分析数据以计算每日上网时长并进行可视化,识别员工行为模式,如使用K-means聚类。最后,生成分析报告并自动提交结果至指定网站,提升工作效率并保障数据安全。本文提供具体代码示例,助读者实践操作。
129 2
|
6月前
|
数据安全/隐私保护
matlab批量计算地震加速度反应谱、速度谱、位移谱,伪速度谱、伪加速度谱;反应谱对比图
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
6月前
|
算法 计算机视觉
基于表面法线法的二维人脸图构建三维人脸模型matlab仿真
该内容概述了一个使用MATLAB2022a的二维人脸图像三维重建算法。首先,通过人脸检测和对齐,然后运用深度信息估计技术(如Shape from Shading)获取表面法线。接着,结合预训练的三维人脸模型库和二维关键点,通过迭代优化和全局优化构建三维模型。核心程序涉及图像处理、光源方向转换、反射率和表面法线计算,最终重构高度图并显示结果。该方法依赖多视角图像,单幅图像重建可能存在挑战。

热门文章

最新文章

下一篇
无影云桌面