对数函数的变换与标度

2024-05-15 14:13:48 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我需要这样做:

为普朗克函数的实验数据定义一个合适的拟合函数“Planck(l,*p)”。该函数基于普朗克公式:

Bλ(T) = (2hc^2/l^5) / (exp(hc/klt) -1)  

式中,l是波长集,k是玻尔兹曼常数,h是普朗克常数,c是光速。
我需要在p中有两个拟合参数,一个是T(温度),另一个是比例因子。在

我画出了实验数据和拟合函数aT,我通过试错找到了它的峰值等于数据的峰值,这是我的结果: plot 很明显,我需要对蓝色函数进行转换,以便它能落在实验数据上,假设是通过比例因子。什么是比例因子?如何使用它将整个图形向右移动5个单位? 这是一个对数图,所以像y=x^2 ==> y=(x-5)^2这样的东西不起作用。 有什么想法吗?在

我正在使用curve_fit来拟合数据。在


Tags: 数据函数hc参数定义常数温度比例
1条回答
网友
1楼 · 发布于 2024-05-15 14:13:48

要获得曲线沿x轴对数图的偏移,可以按常量缩放x轴参数。也就是说,使用b*L代替L,并将b视为适合的自由参数。在

对于这个特殊的问题,通常情况下,人们知道波长的绝对值(虽然我可以想象在没有校准的传感器、移动源等情况下不是这样的情况下),并且对其进行缩放是没有意义的,尤其是超过10倍。如果你知道波长,但仍然得到偏移图,波长的单位可能有误,因为这会导致类似的偏移。这可能不是一个常见的错误,但这可能不是一个常见的转变。在

缩放x轴参数或更改单位都将沿对数轴移动曲线,因为log(ab) = log(a) + log(b)。总的来说,尽管x轴上的日志是不必要的混淆,而且似乎您的数据是以线性间距获取的,所以如果您遇到问题,最好在处理日志版本之前先在一个线性轴上绘制这个工作(可能只处理接近峰值的部分)。在

但是,将上述内容称为“转移”是令人困惑的,因为这只是图像意义上的转变,而不是配合或功能的改变。相反,用b*L代替L,一个人扭曲了函数,但在某种程度上与对数轴的失真相匹配,所以这只是图片的移动,而不是函数。转换函数的一般方法是在参数中添加一个项,因此f(x),因为f(x+c),这总是有效的。在

最后,原始图形中轴的标记方式令人困惑。例如,我最初把x轴读作“波长(um)”。为了得到一个数字的log,这个数字必须是无单位的,因此将轴标记为log(L/1um)之类的东西会更准确。在

相关问题 更多 >