# Matlab Exercise 1

### To complete this exercise, you may need to learn how to calculate the uncertainty.

a) Review the difference between script and a function.

b) Write a script to calculate the uncertainty of the sum of a and b when a = 2, b = 3 and uncertainty of the a is ±0.1 and uncertainty of the b is ±0.2.

Hints: Go to New Menu in Matlab window, then click on script. Then in the script editor, type the following lines.

%%%%%%%%%%%%%%%%%%%%%% This program calculates uncertainty

% This is a comment line. In matlab comment line start with % symbol.

% When a line starts with "%", it does not perticipate into the calculation.

% It is always better to write comments.

% a and b - input variables

a = 2;

b = 3;

a_sigma = 0.1;

b_sigma = 0.2;

% c and c_sigma are output variable - the sum of a and B

c = a + b

% Calculate the uncertainty of the sum of a and b

% The line below is incomplete. Please complete this

c_sigma = ……………………………

You do not need to add "%" in fron of every line.

Anyway, can you now identify the comment lines and program lines in a code?

If you can, do you understand why some program lines ends with "semicolon"(;) and some don't?

%}

Save this file as “cal_uncer_script”

Now, to run this script, go to command window and type “cal_uncer_script”;

It should print -

c =

5

c_sigma =

0.223606797749979

c) Now write a function to calculate the uncertainty of the sum of a and b, when uncertainty of the a is sigma_a and uncertainty of the b is sigma_b. Evaluate this function for a = 2, b = 3, a_sigma = ±0.1 and b_sigma = ±0.2.

Hints:

Go to New Menu in Matlab window, then click on “function”. Then in the script editor type the following lines.

function [c, c_sigma] = cal_uncer_function(a, b, a_sigma, b_sigma)

% On the left side -

% The you list all the output variables.

% On the right side -

% you write the funciton name and input variables

% For example -

% function [c, c_sigma] = cal_uncer_function(a, b, a_sigma, b_sigma)

% [ input ] function ( input )

% [ variables] name ( variables )

% This program calculates uncertainty

% Written By: Dhiman Mondal 2017-02-23

% Calculate the sum of a and b

c = a + b;

% Calculate the uncertainty of the sum of a and b

% The line below is incomplete. Please complete this

c_sigma = ……………………………;

% funciton always ends with "end" word

end

Save this file as “cal_uncer_function”

Now, to run this function, go to command window and type -

[c, c_sigma] = cal_uncer_function(2, 3, 0.1, 0.2)

It should print -

c =

5

c_sigma =

0.223606797749979

Notice that, using function you can use any number as input unlike a script which can do the same calculation but only for some specific numbers (we call it hardcoding or hardwiring).

c) Write a function to calculate the uncertainty of the sum of two columns of numbers from a data file given below. Finally plot the sum of the numbers with uncertainties.

Hints:

• Find out what is the difference between a*a and a.*a

Go to New Menu in Matlab window, then click on “function”. Then in the script editor type the following lines.

function [c , cs] = cal_un_from_file(data)

%{ This function reads data from file

Do some calculation

and finally plot the values

%}

% Now you can see a variable called in "data" is workspace

% You can see that the size of "data" is 7 X 4

% That simply means "data" variable has 7 rows and 4 columns

% now, if you have to read

% a number from 1st column and 1st row you can type data(1,1)

% a number from 2nd column and 4th row you can type data(2,4)

% all numbers from 2nd column type data(:,2)

% Read the columns into variables

a = data(:,1); % Reading column 1

b = data(:,2); % Reading column 2

a_sigma = .........; % Complete this line to read column 3

b_Sigma = .........; % Complete this line to read column 4

% Sum of two numbers

c = a + b;

% uncertainty of the sum of two numbers

c_sigma = ................; % Complete this line

figure

errorbar(c,c_sigma)

xlabel('Number of Points')

ylabel(..................) % Complete this line to print ylabel 'Sum of Two numbers'

title(...................) % Complete this line to give a title

grid on

end

Now, to run this function, go to command window and type -

[c, c_sigma] = cal_un_from_file(data)

It should print

c =

4

2

3

5

8

10

6

c_sigma =

0.223606797749979

0.316227766016838

0.282842712474619

0.58309518948453

0.608276253029822

0.806225774829855

0.509901951359279

and also a figure such as ... ZIP three matlab program files and figure, and then upload that using the form below.