过去和现在我的一项工作就是拟合谱线,这件事情本身不难。但是有时候拟合多个成分的时候会有点问题,通常人工干预一下也能解决问题。但是有时候谱线很多,比如几十万条,人工干预就有点不太现实了,最终还是要靠程序自动拟合。
我经常遇到的情况是两个高斯成分。拟合的时候我通常是先拟合一个高斯成分,然后减去这个高斯成分,然后再拟合第二个高斯成分。对于距离较远的两个高斯成分
来说,这个做法是没有问题的,通常不需要特殊考虑,直接用拟合程序拟合就行,无须限制参数范围。但是对于比较靠近的两个高斯成分问题就来了,如果不对参数加以限制,程序就会拟合出一个较宽的、矮一些的高斯成分,也就是无法分辨两个高斯成分。
拟合比较靠近的两个高斯成分,一是初值要准,两个关键参数分别是峰值位置和谱线宽度(这个读者可以自己思考如何确定);二是要对参数范围有所限制(
http://blog.sciencenet.cn/home.php?mod=space&uid=117333&do=blog&id=670583),其中要对峰值位置加较强的限制,此外还要限制谱线宽度,这样可以避免程序将两个高斯成分合并为一个较宽的高斯成分。经过这样的改进之后,现在程序自动拟合多个高斯成分就可靠些了。
https://blog.sciencenet.cn/blog-117333-671768.html
上一篇:
IDL中曲线拟合的一个注意事项下一篇:
"梦想"照进现实(一)月基射电望远镜和月球同步轨道