水的红外振动光谱的模拟

本文探讨了纯水红外光谱的特点,通过模拟结果显示,弯曲振动吸收位于1337cm−1附近,不对称伸缩振动最强,在2530cm−1附近,对称伸缩振动较弱,出现在2620cm−1附近。同时对比了模拟结果与NISTwebbook的实际测量数据之间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看到有人做红外,发现有接近1630cm 1 的吸收峰而无法指认。有旁观者说,文献有指认吸附水的。

于是好奇,纯水的红外到底怎样。没有光谱仪,简单小分子网络上可以查标准谱图。也可以轻易模拟。这里就看下模拟的。

这里写图片描述

模拟显示,弯曲振动吸收在1337cm 1 附近,中等强度;不对称伸缩振动最强,在2530cm 1 附近;较弱的对称伸缩振动2620cm 1 附近。

看不到氢键之类的影响。

再看 NIST webbook:

这里写图片描述

还是有差别的。看上去模拟的结果跟实测比还是有较大的不同。

### 如何在MATLAB中绘制吸收峰图 #### 数据准备 为了有效地绘制吸收峰图,在 MATLAB 中需先准备好待分析的数据。这可以通过多种方式完成,比如从文件导入数据或直接定义数组。对于实际应用而言,通常会读取来自光谱仪或其他设备记录的实验数据。 ```matlab % 假设已经有一个名为 'wavelength' 和 'intensity' 的向量分别表示波长和对应的吸光度值 load('spectraData.mat'); % 加载包含 wavelength, intensity 变量的工作区文件 ``` #### 数据预处理 对原始采集到的数据进行必要的前处理操作是十分重要的一步,它能提高后续分析的质量并减少干扰因素的影响。常见的做法有去除背景噪音和平滑曲线等措施[^3]。 ```matlab % 应用Savitzky-Golay滤波器来进行平滑处理 smoothedIntensity = sgolayfilt(intensity', 2, 9); % 如果存在基线偏移,则可考虑采用多项式拟合减去的方法校正基线 [p,s,mu] = polyfit(wavelength(:), smoothedIntensity(:), 2); baseline = polyval(p,wavelength,[],mu); correctedIntensity = double(smoothedIntensity)' - baseline; ``` #### 吸收峰检测与标注 利用峰值查找函数 `findpeaks` 来定位显著的吸收位置,并标记于图形之上。此过程可以帮助识别样品中存在的特定化合物及其浓度信息。 ```matlab figure; hold on; plot(wavelength, correctedIntensity,'b','LineWidth',1.5); % 查找所有的局部极大值作为潜在的吸收峰位点 [peakValues, peakLocations] = findpeaks(-correctedIntensity, 'MinPeakHeight',-0.1); % 给找到的每一个峰添加标签显示具体数值 text(peakLocations, -peakValues,num2str([peakLocations;-peakValues]', '%.2f'), ... 'VerticalAlignment','bottom',... 'HorizontalAlignment','center'); xlabel('Wavelength (nm)'); ylabel('Absorbance'); title('Detected Absorption Peaks'); hold off; grid minor; ``` 上述代码片段展示了如何加载、清理以及可视化一组给定的光谱数据集,特别是针对其中存在的明显吸收特性进行了突出表现。通过调整参数设置还可以进一步优化绘图效果以满足不同应用场景下的需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值