2014-07-17 5 views
4

오늘 실험 데이터를 주어진 이론 모델에 맞추려고했습니다.gnuplot이 대단위 큰 오차를 산출했습니다.

Final set of parameters   Asymptotic Standard Error 
=======================   ========================== 

A    = 1.76654e-11  +/- 2.589e-06 (1.465e+07%) 
g    = 0.000929911  +/- 1.006e-05 (1.082%) 
offset   = 0.831727   +/- 0.005273  (0.634%) 
x0    = 25.7152   +/- 3768   (1.465e+04%) 

특히, X0에 오류가 내 다음 계산을위한 중요한 조치는 다음과 같습니다 맞추기가 상당히 좋은했지만,의 gnuplot은 매우 높은 오류를 반환했습니다. 분명히,이 값은 아래 그림에서 볼 수 있듯이 절대적으로 난센스입니다.

의미있는 오류를 얻으려면 어떻게해야합니까?

screenshot

MWE :

f(x,x0,g) = -16.0*A*(g*(g**2.0-12.0*(x-x0)**2))/(pi*(g**2.0+4.0*(x-x0)**2.0)**3.0) + offset 
FIT_LIMIT = 1e-16 

A=-1e-3 
g=1e-3 
offset=0.8 
x0 = 25.71514200 

fit f(x,x0,g) "data" via A,g,offset,x0 

plot "data", f(x,x0,g) 

데이터 :Link (pastebin)

+0

실제로 무슨 일이 일어나고 있는지 배우고 호기심, 당신이 무엇을보고 재현 할 수 있습니다. – Bernhard

+0

df/dA, df/dx0 등을 평가하려고 시도 했습니까? 오류 전파에 대한 아이디어를 제공하고 뭔가 가르쳐 줄 수 있습니다. – Bernhard

+0

예, 오류 전파 분석을 수행했지만 이상한 점은 보지 못했습니다 ... 결과적으로 gnuplot을 사용하는 것이 불가능하다는 결론을 내 렸습니다. 나는 (내 인생에서 처음으로) 잘 작동하는 상용 소프트웨어를 사용하기로했다. – MrD

답변

-1

나는 그 문제는 3 매개 변수 기능을 사용하여 생각합니다. 첫 번째 줄에서 x0g은 변수로 보입니다. 그러나 fit에서는 매개 변수 (via ... 때문에)와 변수 (f(x,x0,g) 때문에)의 혼합으로 사용됩니다.

파일 "데이터"가 몇 열입니까? 2는 정답입니다.

이 시도 :

f(x) = -16.0*A*(g*(g**2.0-12.0*(x-x0)**2))/(pi*(g**2.0+4.0*(x-x0)**2.0)**3.0) + offset 
FIT_LIMIT = 1e-16 

A=-1e-3 
g=1e-3 
offset=0.8 
x0 = 25.71514200 

fit f(x) "data" via A,g,offset,x0 

plot "data", f(x) 
+2

이것은 OP 결과에 동일한 결과를 제공합니다. 실제로 평가할 함수에 값이 주어지는 방법과는 완전히 무관합니다. – Christoph

관련 문제