gnuplot에서 생성 된 그림에 자동으로 적합 매개 변수를 인쇄하는 방법이 있습니까? 예를 들어, 나는 데이터 테이블 사용gnuplot- 자동으로 적합 매개 변수 인쇄하기
1 1
2 2
3 3
맞는 경우
a=1
b=1
f(x) = a*x + b
fit f(x) 'data' using 1:2 via a, b
을 나는 결과 a=1
및 b=0
에게 있습니다. 어떻게 당신이하려고하는 것은 아주 잘 수
gnuplot에서 생성 된 그림에 자동으로 적합 매개 변수를 인쇄하는 방법이 있습니까? 예를 들어, 나는 데이터 테이블 사용gnuplot- 자동으로 적합 매개 변수 인쇄하기
1 1
2 2
3 3
맞는 경우
a=1
b=1
f(x) = a*x + b
fit f(x) 'data' using 1:2 via a, b
을 나는 결과 a=1
및 b=0
에게 있습니다. 어떻게 당신이하려고하는 것은 아주 잘 수
... 난 당신이 나에게 약간의 팁을 줄 수있는 희망 때문에 작동하지 않습니다
set label 'a=$a, b=$b' at (1,1)
show label
것처럼 $ 트릭 뭔가를 사용하여 인쇄 할. 발생하는 문제는 특이한 행렬 반전으로 인해 피팅 알고리즘이 충돌한다는 것입니다. 몇 가지 방법으로 문제를 해결할 수 있습니다. 가장 쉬운 방법은 피팅 커브를 찾기 위해 반복되는 양을 제한하는 것입니다. 따라서이 스크립트는
a=1
b=1
FIT_MAXITER = 1
f(x) = a*x + b
ti = sprintf("%.2fx+%.2f", a, b)
fit f(x) 'data' using 1:2 via a, b
plot [0:3] f(x) t ti, "data" w l
과 같이 정확히 목표로하고 있습니다.
데이터가 시끄 럽거나 설정 기능이 데이터와 정확히 일치하지 않을 때 단수의 행렬 반전 문제가 발생하지 않아야합니다. 예를 들면 다음과 같습니다.
f(x) = a*x**2 + b
함수는 반복 횟수를 제한하지 않고 잘 작동합니다.
피팅 프로세스를 제어하는 다른 방법은 gnuplot 문서 (gnuplot.pdf 또는 help set fit
)에 설명되어 있습니다.
문제점을 해결할 수있는 매우 흥미로운 것을 발견했습니다 here. 해결책은 문자열에 인쇄하려면 sprintf
함수와 C의 일반적인 구문을 사용하는 것 같습니다. I. E., 링크와 동일 :
f(x) = m*x + c
fit f(x) "file" using 3:1 via m,c
set label 1 sprintf("m = %3.4f",m) at 510,75 font ",18"
set label 2 sprintf("c = %3.4f",c) at 510,70 font ",18"