在MMA v13的帮助文档“ref/VoigtDistribution”中的Applications下有关于PsuedoVoigtDistribution的如下定义:
PseudoVoigtDistribution[\[Delta]_, \[Sigma]_] :=
Block[{g = (\[Delta]^5 + \[Sigma]^5 + 2.69296 \[Sigma]^4 \[Delta] +
2.42843 \[Sigma]^3 \[Delta]^2 + 4.47163 \[Sigma]^2 \[Delta]^3 +
0.07842 \[Sigma] \[Delta]^4)^(1/5), \[Eta]},
\[Eta] = \[Delta]/g;
\[Eta] = \[Eta]*(1.36603 - 0.47719 \[Eta] + 0.11116 \[Eta]^2);
MixtureDistribution[{1 - \[Eta], \[Eta]}, {NormalDistribution[0, g],
CauchyDistribution[0, g]}]
]
虽然没有标明citation,这个关于VoigtDistribution的近似式应该是出自于这篇文章:Thompson, P., Cox, D. E. & Hastings, J. B. (1987). J. Appl. Crystallogr. 20, 79-83. 这个PsuedoVoigt近似式最早用于拟合X射线衍射峰形,正好是我的领域所以一眼认出来。
但是原文里这个近似式是作用于高斯峰形(正态分布)和洛伦兹峰形(柯西分布)的半高宽(FWHM)的。上面的定义中却将近似式作用于高斯峰形(正态分布)的方差σ和洛伦兹峰形(柯西分布)的半高半宽(δ)。它们的关系是:FWHM_Gauss = Sqrt[8Log[2]] σ, FWHM_Lorentz = 2δ
将原文中的近似式正确地书写出来, 应该是:
PseudoVoigtDistributionOriginal[\[Delta]_, \[Sigma]_] :=
Block[{FWHMg = \[Sigma] Sqrt[8 Log[2]], FWHMl = 2 \[Delta],
FWHMv = (FWHMl^5 + FWHMg^5 + 2.69296 FWHMg^4 FWHMl +
2.42843 FWHMg^3 FWHMl^2 + 4.47163 FWHMg^2 FWHMl^3 +
0.07842 FWHMg FWHMl^4)^(1/5), \[Eta]},
\[Eta] = FWHMl/FWHMv;
\[Eta] = \[Eta]*(1.36603 - 0.47719 \[Eta] + 0.11116 \[Eta]^2);
MixtureDistribution[{1 - \[Eta], \[Eta]}, {NormalDistribution[0,
FWHMv/Sqrt[8 Log[2]]], CauchyDistribution[0, FWHMv/2]}]
]
比起帮助文档中的错误的近似式,原文中的近似式能更好地拟合Voigt分布:
Manipulate[Plot[
{PDF[VoigtDistribution[\[Delta], \[Sigma]], x] -
PDF[PseudoVoigtDistribution[\[Delta], \[Sigma]], x],
PDF[VoigtDistribution[\[Delta], \[Sigma]], x] -
PDF[PseudoVoigtDistributionOriginal[\[Delta], \[Sigma]], x]}
, {x, -30, 30},
PlotLegends ->
Placed[{"Voigt minus Current PseudoVoigt",
"Voigt minus Original PseudoVoigt"}, Above],
PlotRange -> All],
{\[Delta], 0.1, 2}, {\[Sigma], 0.1, 2}]
![](http://tiebapic.baidu.com/forum/w%3D580/sign=aef3c74d5e4f78f0800b9afb49310a83/a4c9983df8dcd100efbfa1382f8b4710b9122f92.jpg?tbpicau=2024-07-16-05_28b4072444dbef8531f7f24cb65f86eb)
PseudoVoigtDistribution[\[Delta]_, \[Sigma]_] :=
Block[{g = (\[Delta]^5 + \[Sigma]^5 + 2.69296 \[Sigma]^4 \[Delta] +
2.42843 \[Sigma]^3 \[Delta]^2 + 4.47163 \[Sigma]^2 \[Delta]^3 +
0.07842 \[Sigma] \[Delta]^4)^(1/5), \[Eta]},
\[Eta] = \[Delta]/g;
\[Eta] = \[Eta]*(1.36603 - 0.47719 \[Eta] + 0.11116 \[Eta]^2);
MixtureDistribution[{1 - \[Eta], \[Eta]}, {NormalDistribution[0, g],
CauchyDistribution[0, g]}]
]
虽然没有标明citation,这个关于VoigtDistribution的近似式应该是出自于这篇文章:Thompson, P., Cox, D. E. & Hastings, J. B. (1987). J. Appl. Crystallogr. 20, 79-83. 这个PsuedoVoigt近似式最早用于拟合X射线衍射峰形,正好是我的领域所以一眼认出来。
但是原文里这个近似式是作用于高斯峰形(正态分布)和洛伦兹峰形(柯西分布)的半高宽(FWHM)的。上面的定义中却将近似式作用于高斯峰形(正态分布)的方差σ和洛伦兹峰形(柯西分布)的半高半宽(δ)。它们的关系是:FWHM_Gauss = Sqrt[8Log[2]] σ, FWHM_Lorentz = 2δ
将原文中的近似式正确地书写出来, 应该是:
PseudoVoigtDistributionOriginal[\[Delta]_, \[Sigma]_] :=
Block[{FWHMg = \[Sigma] Sqrt[8 Log[2]], FWHMl = 2 \[Delta],
FWHMv = (FWHMl^5 + FWHMg^5 + 2.69296 FWHMg^4 FWHMl +
2.42843 FWHMg^3 FWHMl^2 + 4.47163 FWHMg^2 FWHMl^3 +
0.07842 FWHMg FWHMl^4)^(1/5), \[Eta]},
\[Eta] = FWHMl/FWHMv;
\[Eta] = \[Eta]*(1.36603 - 0.47719 \[Eta] + 0.11116 \[Eta]^2);
MixtureDistribution[{1 - \[Eta], \[Eta]}, {NormalDistribution[0,
FWHMv/Sqrt[8 Log[2]]], CauchyDistribution[0, FWHMv/2]}]
]
比起帮助文档中的错误的近似式,原文中的近似式能更好地拟合Voigt分布:
Manipulate[Plot[
{PDF[VoigtDistribution[\[Delta], \[Sigma]], x] -
PDF[PseudoVoigtDistribution[\[Delta], \[Sigma]], x],
PDF[VoigtDistribution[\[Delta], \[Sigma]], x] -
PDF[PseudoVoigtDistributionOriginal[\[Delta], \[Sigma]], x]}
, {x, -30, 30},
PlotLegends ->
Placed[{"Voigt minus Current PseudoVoigt",
"Voigt minus Original PseudoVoigt"}, Above],
PlotRange -> All],
{\[Delta], 0.1, 2}, {\[Sigma], 0.1, 2}]
![](http://tiebapic.baidu.com/forum/w%3D580/sign=aef3c74d5e4f78f0800b9afb49310a83/a4c9983df8dcd100efbfa1382f8b4710b9122f92.jpg?tbpicau=2024-07-16-05_28b4072444dbef8531f7f24cb65f86eb)