. , . , , . , gnuplot.
gnuplot
Gnuplot – , , 1986 . gnuplot , Linux, OS/2, MS Windows, OSX, VMS . gnuplot MS Windows gnuplot.info, «Download» sourceforge.net. – 30 , 100 .
( ), «Select Additional Tasks», wxt, «Add application directory to your PATH environment variable». , «gnuplot» «gnuplot console version». , , :
pwd
, , gnuplot.
plot sin(x)
wxt .
gnuplot ( ), , . gnuplot help . gnuplot MS Windows ( Notepad).
, « ». - , .
, . , . , , . .
– , – .
gnuplot , . , . , . , . , model.gpl
gnuplot- :
reset # gnuplot
set angles degrees #
set xrange [0:350] #
set samples 36 #
set format x "%5.1f" #
set format y "%5.3f" #
# - ''
# ,
# D.
# gnuplot - , rand(x):
err(D) = D * cos(360*rand(0))*sqrt(-2*log(rand(0)))
# :
U(x) = Uo * cos(x + err(D) - To)**2 + B
Uo = 0.65 # Uo
To = 71. # θo
B = 0.02 #
D = 1.0 #
set table "exp.dat" #
plot U(x) #
unset table #
gnuplot load 'model.gpl'.
, , , cd 'your_path'
. c
exp.dat
, :
# Curve 0 of 1, 36 points
# Curve title: "U(x)"
# x y type
0.0 0.089 i
10.0 0.176 i
20.0 0.283 i
30.0 0.395 i
40.0 0.505 i
50.0 0.595 i
60.0 0.643 i
...
( ). . - :
( ) ,
– x, ,
– ,
– ,
– .
gnuplot WSSR / NDF, «Weighted Sum of Squared Residuals» «Number of Degrees of Freedom».
, / , «» . , . gnuplot fit, — . «fit function to data» « ».
look.gpl
gnuplot.
reset
set angles degrees
f(x) = Uo * cos(x-To)**2 + B #
Uo = 0.6 # Uo
To = 10 # To
B = 0.05 # B
set fit nolog #
# -, 1
# "exp.dat" X[i], - Y[i].
# Uo, B, To
fit f(x) "exp.dat" using 1:2 via Uo, To, B
#
L = sprintf(" : {/Symbol s} = %.2f []", 1000*FIT_STDFIT)
#
T = sprintf(" {/Symbol q_0} = %.2f° ± %.2f°", To, To_err)
set title T #
set grid #
set key box width -14 #
set xlabel ' {/Symbol q} [ ° ]'
set ylabel ' U [ ]'
set yrange [0:0.8] #
set terminal png size 800, 600 # - png
set out 'look.png' #
# :
plot f(x) with line title L ls 3 lw 2, \
"exp.dat" u 1:2 title '' with points ls 7 ps 1.5
set out #
«\» . gnuplot load 'look.gpl'
, look.png
:
, , « » . 0.2 . , 9 . ?
fit
( №11 look.gpl), , , . . « » . () ? : -, , – 8.88 , .
, , . , :
(. model.gpl
) «» , 1 . , . , ( ), pdf.
reset
set angles degrees
f(x) = Uo * cos(x-To)**2 + B #
v(x) = Uo * sin(2*(To-x))*pi/180 # f(x)
Uo = 0.6 # Uo
To = 10 # To
B = 0.05 # B
dT = 1.0 #
set fit nolog
# (- -)
fit f(x) "exp.dat" using 1:2 via Uo, To, B
# ( -)
fit f(x) "exp.dat" using 1:2:(dT*v($1)) via Uo, To, B
L = sprintf(": {/Symbol c^2}/NDF = %.1f/%2d\n \
: %.2f \%", FIT_WSSR, FIT_NDF, 100*FIT_P)
T = sprintf(" {/Symbol q_0} = %.2f° ± %.2f°", To, To_err)
set title T #
set key box left opaque width -12 spacing 2
unset border #
unset xtics # x
unset ytics # y
set polar #
set grid polar linetype 2 lc rgb 'black' lw 0.25 dashtype 2
set rtics 0.1 format '%.1f'
unset raxis
Umax = 0.76 #
set rrange [0:Umax]
set rlabel 'U_{} []'
set trange[0:360]
set for [i=0:330:30] label at first Umax*cos(i), \
first Rmax*sin(i) center sprintf('%d°', i)
set terminal pdf background rgb '0xFFFFF0' size 5, 5 # - pdf
set out 'closelook.pdf' #
plot f(t) with line title L ls 3 lw 2, \
"exp.dat" u 1:2:(dT*v($1)) title '' with err ls 7 ps 0.5
set out #
- closelook.pdf.
- . - gnuplot (p-value) , . - 42%.
gnuplot, , - . . , , .