📄 fit.txt
字号:
Sub FIT(X(), Y(), NDATA, SIG(), MWT, A, B, SIGA, SIGB, CHI2, Q)
SX = 0#
SY = 0#
ST2 = 0#
B = 0#
If MWT <> 0 Then
SS = 0#
For I = 1 To NDATA
WT = 1# / (SIG(I) ^ 2)
SS = SS + WT
SX = SX + X(I) * WT
SY = SY + Y(I) * WT
Next I
Else
For I = 1 To NDATA
SX = SX + X(I)
SY = SY + Y(I)
Next I
SS = NDATA
End If
SXOSS = SX / SS
If MWT <> 0 Then
For I = 1 To NDATA
T = (X(I) - SXOSS) / SIG(I)
ST2 = ST2 + T * T
B = B + T * Y(I) / SIG(I)
Next I
Else
For I = 1 To NDATA
T = X(I) - SXOSS
ST2 = ST2 + T * T
B = B + T * Y(I)
Next I
End If
B = B / ST2
A = (SY - SX * B) / SS
SIGA = Sqr((1# + SX * SX / (SS * ST2)) / SS)
SIGB = Sqr(1# / ST2)
CHI2 = 0#
If MWT = 0 Then
For I = 1 To NDATA
CHI2 = CHI2 + (Y(I) - A - B * X(I)) ^ 2
Next I
Q = 1#
SIGDAT = Sqr(CHI2 / (NDATA - 2))
SIGA = SIGA * SIGDAT
SIGB = SIGB * SIGDAT
Else
For I = 1 To NDATA
CHI2 = CHI2 + ((Y(I) - A - B * X(I)) / SIG(I)) ^ 2
Next I
Q = GAMMQ(0.5 * (NDATA - 2), 0.5 * CHI2)
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -