Gnuplot/C2/Errorbarsanddatafitting/English
Visual Cue  Narration 
Slide Number 1
Title Slide 
Welcome to the tutorial on
Error bars and data fitting in gnuplot. 
Slide Number 2
Learning Objectives 
In this tutorial, we will,

Slide Number 3
Learning Objectives 

Slide Number 4
System and Software Requirement 
To record this tutorial, I am using,

Slide Number 5
Prerequisites https://spokentutorials.org 
To follow this tutorial,

Slide Number 6
Code files 

Go to Desktop.  Go to Desktop.
I have a, x, y, yerror type data, in a text file. 
Hover mouse over x, y and dy columns on the screen for the file.  The first column is x data.
The second column is y data. The third column is error in the y data. 
Close gedit.
Press Ctrl+Alt+T. 
Open a terminal. 
Enter the command cd Desktop .
Enter the command gnuplot. 
Change the directory to Desktop and open gnuplot. 
Press Ctrl+L.  I will clear the screen. 
Cursor on the terminal.  Let's plot the data to see the trend. 
Enter the command plot 'xydy.txt' using 1:2:3 with yerrorbars .  Enter the plot command as seen on the screen. 
Hover mouse over :3 .  The command, colon 3 with y error bars adds the error to the plot. 
Hover mouse over yerrorbars.  If error limits are on the x data, we have to use, xerrorbars term for plotting.
The graphic window opens. 
Hover mouse over decay curve.  Let's fit this graph to an equation. 
Cursor on the graph.  Here, the data points are likely to follow an exponential decay. 
Hover mouse on the graph.  The points deviate from an accurate exponential decay.
This could be due to measurement errors. 
Point mouse next to data.  We will fit the given data points to an exponential decay function. 
Cursor on the screen.  Let's see a few steps involved in fitting data points to an equation. 
Slide Number 7
Steps for Fitting Data 

Slide Number 8
Steps for Fitting Data 

Type, f(x) = a * exp(k*x)
and press Enter. 
First, let's define the function.
In the gnuplot prompt, type f of x is equal to a times e to the power minus k x. 
Go to graphical window.  Make an educated initial guess for the values of a and k.
Go to the graphical window. 
Hover mouse near top of y axis.  From the graph, I will place the initial value of a at 1,50,000. 
Hover mouse to show ½ decay.  For an exponential decay, I will place the initial guess of k around 0.5 . 
Close the graphical window.  Close the graphical window and go to the gnuplot terminal prompt. 
Enter the commands,
a=150000 k=0.5 
Enter commands to set initial guess values.
Set a to 150 thousand and k to 0.5 . 
Type, fit f(x) ‘xydy.txt’ using 1:2:3 via a,k
and press Enter. 
To fit the data type the command,
fit f of x in single quotes the file name. Here it is xydy dot txt. Then using 1 colon 2 colon 3 via a comma k . Here a and k are the coefficients. 
Hover mouse over :3 .  We could leave out the colon 3 part in the command.
Then, errors in the y data are not considered during the data fitting process. 
Press Enter.
Data fitting is seen on the screen. 
Press Enter to run the data fitting algorithm.
The coefficients in the equation are optimized by an iterative process. The output is generated on the screen. 
Scroll up.  Let's scroll up the screen. 
I see an error warning message on the top.  
Hover mouse over the chi square table.  Notice a table with chi square and new values for a and k after each iteration. 
Incorporate the number of iterations.  The program reports that, the fitting process converged after 10 iterations. 
Hover mouse over final sum of square of residuals.  Many fitting parameters are reported in the output.
Program reports, final sum of square of residuals. 
Hover mouse over iteration value.  Notice, relative change in values after the last iteration.

Hover mouse over Degrees of freedom.  Degrees of freedom is 9. 
Hover mouse over RMS.  RMS of residuals is around 2.5. 
Show a and k values on the screen.  Updated values of a and k and their error in estimation is also shown. 
Hover mouse over the correlation matrix.  The correlation matrix of variables is at the end of the output. 
Cursor on the terminal.  Now we have a function that fits the given data points.
Let's plot the data points and the function together. 
Press Ctrl+L .  I will clear the screen. 
Enter the command, plot f(x) lw 2 title 'fitted data', "xydy.txt" using 1:2:3 with yerrorbars pt 7 ps 1.5 notitle .  Enter the command as seen on the screen.
This plots the data and the function together. We are plotting the fitted equation along with the initial data points. 
Hover mouse near the legend.  The fitted data is represented by a line with a line.
I am specifying the legend for f of x as fitted data. No legend title is added for the starting dataset as no notitle is mentioned. I have specified a filled circle symbol and 1.5 for point size. 
Show the line on the graphics window.
Show symbol with error bar. 
Data points are represented by symbols with error bar and without a line style. 
Enter the command, set xrange [0.95:5.05] .  Let's also set x axis limits with set xrange command as seen. 
Type replot and press Enter to see the graphics window.  Replot to see the results. 
Show this web site address screen shot.  Check the gnuplot website for example scripts on data fitting. 
Cursor on the screen, around the (1.3,6000) region.  Next, let’s draw an arrow object in the graph. 
Move the mouse on the screen to show the arrow placement around (1.63,77200 to 1.7, 62000).  In the graph, I want to add an arrow. 
Highlight in video, the coordinates seen on the graph window.
(1.63,77200 to 1.7, 62000). 
I will note down the coordinates as seen in the graphics window. 
Go to the terminal.  Go to the terminal. 
Type, set arrow 1 from 1.63,77200 to 1.7, 62000 and press Enter.  Enter the commands as seen on the screen.
Here, one is the name I have given for the arrow object. 
Type replot and press Enter.  Replot to see the updated result. 
Cursor on the graphics window.  I will also add a second arrow in another direction. 
Type,
set arrow 2 from 1.63,77200 to 1.4, 62000 and press Enter. 
Go to the terminal and enter the command as seen on the screen.
I will name this arrow as two. 
Type replot and press Enter.  Replot to see the updated result. 
Cursor on the graphics window.  Now we see two arrows in the graphics window.
I want to remove one of the arrows. To remove the object, we have to unset the object. 
Type unset arrow first and press Enter.  Hence, go to the terminal.
Enter the command, unset space arrow space one to remove the first arrow. 
Type replot and press Enter.  Replot to see the updated result. 
Cursor on the graphics window.  The arrow that was named one is now removed from the graphics window, 
Close the graphics window.
Type quit and press Enter. 
Close the graphics window and quit gnuplot. 
Slide Number 9
Summary 
To summarize, in this tutorial, we

Slide Number 10
Assignment 
For the assignment activity, please do the following.

Slide Number 11
Assignment 

Glimpse of assignment  The completed assignment looks similar to this. 
Slide Number 12
Spoken Tutorial Project 
This video summarises the Spoken Tutorial Project .
Please download and watch it. 
Slide Number 13
Spoken Tutorial workshops 
We conduct workshops and give certificates.
For more details, please write to us. 
Slide Number 14
Forum for specific questions: 
Post your timed queries in the forum. 
Slide Number 15
Acknowledgement 
Spoken Tutorial Project is funded by MHRD, Government of India. 
This is Rani, from IIT, Bombay.
Thank you for joining. 