The syntax is simple:
In the GUI
the options can be set in a dialog (Session ‣ Settings).
The GUI configuration (colors, fonts, etc.) is changed in a different way (GUI ‣ ...) and is not covered here.
It is possible to change the value of the option temporarily:
with option1=value1 [,option2=value2] command args...
For example:
info set fitting_method # show the current fitting method
set fitting_method = nelder_mead_simplex # change the method
# change the method only for this one fit command
with fitting_method = levenberg_marquardt fit
# and now the default method is back Nelder-Mead
# multiple comma-separated options can be given
with fitting_method=levenberg_marquardt, verbosity=quiet fit
The list of available options:
The command plot controls the region of the graph that is displayed:
plot [[xrange] yrange] [@n, ...]
xrange and yrange has syntax [min:max]. If the boundaries are skipped, they are automatically determined using the given datasets.
In the GUI
there is hardly ever a need to use this command directly.
The CLI version on Unix systems visualizes the data using the gnuplot program, which has similar syntax for the plot range.
Examples:
plot [20.4:50] [10:20] # show x from 20.4 to 50 and y from 10 to 20
plot [20.4:] # x from 20.4 to the end,
# y range will be adjusted to encompass all data
plot # all data will be shown
The values of the options autoplot and fit_replot change the automatic plotting behaviour. By default, the plot is refreshed automatically after changing the data or the model (autoplot=1). It is also possible to replot the model when fitting, to show the progress (see the options fit_replot and refresh_period).
First, there is an option verbosity which sets the amount of messages displayed when executing commands.
There are three commands that print explicitely requested information:
The output of info and print can be redirected to a file:
info args > filename # truncate the file
info args >> filename # append to the file
info args > 'filename' # the filename can (and sometimes must) be in quotes
The redirection can create a file, so there is also a command to delete it:
delete file filename
The following info arguments are recognized:
Both info state and info history can be used to restore the current session.
In the GUI
Session ‣ Save State and Session ‣ Save History.
The print command is followed by a comma-separated list of expressions and/or strings:
=-> p pi, pi^2, pi^3
3.14159 9.8696 31.0063
=-> with numeric_format='%.15f' print pi
3.141592653589793
=-> p '2+3 =', 2+3
2+3 = 5
The other valid arguments are filename and title. They are useful for listing the same values for multiple datasets, e.g.:
=-> @*: print filename, F[0].area, F[0].area.error
print can also print a list where each line corresponds to one data point, as described in the section Exporting Data.
As an exception, print expression > filename does not work if the filename is not enclosed in single quotes. That is because the parser interprets > as a part of the expression. Just use quotes (print 2+3 > 'tmp.dat').
Only a few debug sub-commands are documented here:
der mathematic-function – shows derivatives:
=-> debug der sin(a) + 3*exp(b/a)
f(a, b) = sin(a)+3*exp(b/a)
df / d a = cos(a)-3*exp(b/a)*b/a^2
df / d b = 3*exp(b/a)/a
df x – compares the symbolic and numerical derivatives of F in x.
lex command – the list of tokens from the Fityk lexer
parse command – show the command as stored after parsing
expr expression – VM code from the expression
rd – derivatives for all variables
%function – bytecode, if available
$variable – derivatives
On startup, the program runs a script from the $HOME/.fityk/init file (on MS Windows XP: C:\Documents and Settings\USERNAME\.fityk\init). Following this, the program executes command passed with the --cmd option, if given, and processes command line arguments:
There are also other parameters to the CLI and GUI versions of the program. Option “-h” (“/h” on MS Windows) gives the full listing:
wojdyr@ubu:~/fityk/src$ ./fityk -h
Usage: fityk \[-h] \[-V] \[-c <str>] \[-I] \[-r] \[script or data file...]
-h, --help show this help message
-V, --version output version information and exit
-c, --cmd=<str> script passed in as string
-g, --config=<str> choose GUI configuration
-I, --no-init don't process $HOME/.fityk/init file
-r, --reorder reorder data (50.xy before 100.xy)
wojdyr@ubu:~/foo$ cfityk -h
Usage: cfityk \[-h] \[-V] \[-c <str>] \[script or data file...]
-h, --help show this help message
-V, --version output version information and exit
-c, --cmd=<str> script passed in as string
-I, --no-init don't process $HOME/.fityk/init file
-n, --no-plot disable plotting (gnuplot)
-q, --quit don't enter interactive shell
The example of non-interactive using CLI version on Linux:
wojdyr@ubu:~/foo$ ls *.rdf
dat_a.rdf dat_r.rdf out.rdf
wojdyr@ubu:~/foo$ cfityk -q -I "=-> set verbosity=-1, autoplot=0" \
> *.rdf "=-> @*: print min(x if y > 0)"
in @0 dat_a: 1.8875
in @1 dat_r: 1.5105
in @2 out: 1.8305