我想提前为这个问题的冗长表示歉意:我有使用MATLAB的经验,但对Python比较陌生,因此我无法用比用文字描述更合适的代码来表达这个问题
我有一个测量光谱,它由两个成分组成:a和B
因此,x给定值下的吸光度为:
Abs(x)~c*[(f*A(x))+((1-f)*B(x)]
其中,f是混合物中A的分数,c与A和B的总浓度成比例。由于测量光谱中存在噪声,吸光度仅为近似值
Absorbance of individual components
Absorbance of mixture with noise
我的问题是如何最好地去卷积测得的光谱(在整个x值范围内)通过确定各成分的相对贡献,并计算A+B的浓度-即,确定上述方程中给出最佳拟合的c和f值的组合
作为新手,一种应该有效但效率低下的方法是在不同的时间间隔选择f的值(例如,0.1个时间间隔中的0到1)然后找到c的值,它给出了每个f的最小残差平方和,R^2。然后可以将给出最佳拟合的组合用作初始猜测,以优化f到所选数量的有效数字。然而,我想,这种方法是时间-一次运行数千个光谱以上的环路时,强度会非常高
Python是否包含任何功能,使这种反褶积能够比上述过程(部分或全部)更有效地完成
提前谢谢
也许不是解决问题的最佳方法,尽管结果令人满意,而且现在知道了一般方法,我可以在将来调整代码
相关问题 更多 >
编程相关推荐