2015-01-25 3 views
1

현재 gnuplot을 명령 아래의 간단한 데이터 세트에 맞게 사용하려고합니다. 그러나 좋은 초기 추측을 포함하여 운이 좋지 않습니다.Gnuplot 피팅이 잘 작동하지 않음 (KaleidaGraph와 다름)

명령 :

gnuplot> f(x) = 1/(2*pi) * 1/m1 * 1/(b + x**2)**(-3/2) 
gnuplot> m1 = 150 
gnuplot> m2 = 17 
gnuplot> fit f(x) "data.txt" using 1:2 via m1, m2 

데이터 (X : Y)

2 1.2643E-05 
3 7.90515E-06 
4 5.67976E-06 
5 4.70381E-06 
6 3.65957E-06 
7 2.69824E-06 
8 2.06054E-06 
9 1.52311E-06 
10 1.0627E-06 
11 7.88733E-07 
12 5.89984E-07 
13 4.70111E-07 
14 3.62744E-07 
15 2.48113E-07 
16 1.84463E-07 
17 1.28446E-07 
18 1.09519E-07 
19 9.40524E-08 
20 8.20673E-08 

그러나의 gnuplot 반환 M1 = 2.45e14 및 m2 = 3.64e9받는 비해 단지 잘못된 거대한있는 (대략 올바른) 초기 값

나는 정확한 데이터 세트와 피팅 기능을 KaleidaGraph (데모 버전)에서 사용하려고 시도했다. 이다. 올바른 결과를 반환하고 gnuplot이 작동하지 않으면 gnuplot을 사용할 수 있지만 gnuplot을 사용하면 KaleidaGraphs에 명령이 있다는 것을 믿지 않으므로 많은 데이터 파일에 대한 프로세스를 자동화 할 수 있습니다. 라인 터미널. 의 gnuplot은 야생 값을 반환하는 이유

KaleidaGraph fit

는 아는 사람 있나요?

모든 도움을

많은 감사, 제임스

답변

3

두 가지를 (내가 윈도우 8.1 64를 사용하고 도움이된다면) : 올바른 지수를 얻을 수 3/2.0를 사용해야합니다 GNUPLOT는, 정수 나눗셈을한다 .

f(x) = 1/(2*pi) * 1/m1 * 1/(m2 + x**2)**(3/2.0) 
m1 = 150 
m2 = 17 
fit f(x) "data.txt" using 1:2 via m1,m2 

제공 : 당신이 b이 곳 긍정적 (3/2.0)하고 m2를 사용해야 지수가되어야합니다

둘째,의 gnuplot의 기능은 KaleidaGraph에서 사용하는 것과 동일하지 않습니다

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

m1    = 127.11   +/- 11.31  (8.898%) 
m2    = 18.1347   +/- 1.54   (8.492%) 
+0

아, 네, 게시물의 오타이지만 나머지는 환상적인 도움이됩니다, 대단히 감사합니다 !! – user1763328