Scilab/C4/Linear-equations-Gaussian-Methods/English-timed

From Script | Spoken-Tutorial
Revision as of 15:17, 11 March 2014 by PoojaMoolya (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00.01 Dear Friends,
00.02 Welcome to the spoken tutorial on “Solving System of Linear Equations using Gauss Elimination and Gauss-Jordan Methods”


00.12. At the end of this tutorial, you will learn how to:
00.15 Solve system of linear equations using Scilab
00.20 Develop Scilab code to solve linear equations


00.25 To record this tutorial, I am using
00.27 Ubuntu 12.04 as the operating system


00.31 with Scilab 5.3.3 version
00.36 To practise this tutorial, a learner should have basic knowledge of Scilab
00.40 and should know how to solve Linear Equations.
00.45 To learn Scilab, please refer to the relevant tutorials available on the Spoken Tutorial website.
00.52 A system of linear equations is a
00.55 Finite collection of linear equations of the same set of variables
01.00 Let us study Gauss elimination method
01.04 Given a system of equations
01.06 A x equal to b


01.08 with m equations and
01.10 n unknowns
01.12 We write the coefficients of the variables a one to a n
01.16 along with the constants b one to b n of the system of equations
01.22 in one matrix called the augmented matrix
01.27 How do we convert the augmented matrix to an upper triangular form matrix?
01.33 We do so by performing row wise manipulation of the matrix.


01.40 Let us solve this system of equations using Gaussian elimination method


01.45 Before we solve the system, let us go through the code for Gaussian elimination method.
01.52 The first line of the code is format e comma twenty.
01.58 This defines how many digits should be displayed in the answer.


02.04 The letter 'e' within single quotes denotes that the answer should be displayed in scientific notation


02.12 The number twenty is the number of digits that should be displayed.
02.17 The command funcprot is used to let Scilab know what to do when variables are redefined.
02.26


The argument zero specifies that Scilab need not do anything if the variables are redefined.
02.33 Other arguments are used to issue warnings or errors if the variables are redefined.
02.40 Next we use the input function.
02.43 It will display a message to the user and get the values of A and B matrices.
02.51 The message should be placed within double quotes.
02.55 The matrices that the user enters, will be stored in the variables A and b.
03.02 Here A is the coefficient matrix and b is the right-hand-side matrix or the constants matrix.
03.11 Then we define the function naive gaussian elimination.


03.15 And we state that A and b are the arguments of the function naive gaussian elimination.


03.22 We store the output in variable x.
03.27 Then we find the size of matrices A and b using the size command.
03.34 Since they are two dimensional matrices, we use n and n one to store the size of matrix A.
03.42 Similarly we can use m one and p for matrix b.


03.48 Then we have to determine if the matrices are compatible with each other and


03.53 if A is a square matrix.
03.57 If n and n one are not equal, then we display a message that Matrix A must be square.


04.05 If n and m one are not equal, we display a message


04.10 incompatible dimension of A and b.


04.15 If the matrices are compatible, we place matrices A and b in one matrix, C.


04.23 This matrix C is called augmented matrix.


04.28 The next block of code performs forward elimination.
04.32 This code converts the augmented matrix to upper triangular matrix form.


04.39 Finally, we perform back substitution.


04.42 Once the upper triangular matrix is obtained, we take the last row and find the value of the variable in that row.
04.52 Then once one variable is solved, we take this variable to solve the other variables.


04.59 Thus the system of linear equations is solved.


05.03 Let us save and execute the file.
05.06 Switch to Scilab console to solve the example.
05.10 On the console, we have a prompt to enter the value of the coefficient matrix.


05.17 So we enter the values of matrix A.


05.20 Type square bracket three point four one space one point two three space minus one point zero nine semi colon


05.33 two point seven one space two point one four space one point two nine semi colon



05.41 one point eight nine space minus one point nine one space minus one point eight nine close square bracket.



05.53 Press Enter


05.54 The next prompt is for matrix b.
05.57 So we type
05.58 open square bracket four point seven two semi colon three point one semi colon two point nine one close square bracket.


06.10 Press Enter


06.13 Then we call the function by typing


06.16 naive gaussian elimination open paranthesis A comma b close paranthesis



06.24 Press Enter


06.26 The solution to the system of linear equations is shown on Scilab console.
06.32 Next we shall study the Gauss- Jordan method.
06.36 In Gauss – Jordan Method
06.38 The first step is to form the augmented matrix.
06.42 To do this place the coefficient matrix A and the right hand side matrix b together in one matrix.
06.50 Then we perform row operations to convert matrix A to diagonal form.
06.56 In diagonal form, only the elements a i i are non-zero. Rest of the elements are zero.


07.05 Then we divide the diagonal element and corresponding element of right hand side element, by the diagonal element.
07.14 We do this to get diagonal element equal to one.
07.19 The resulting value of the elements of each row of the right hand side matrix gives the value of each variable.
07.27 Let us solve this example using Gauss- Jordan Method.
07.33 Let us look at the code first.
07.36 The first line of the code uses format function to specify the format of the displayed answers.
07.44 The parameter e specifies the answer should be in scientific notation.
07.49 Twenty (20) denotes that only twenty digits should be displayed.
07.55 Then we get the A and b matrix using the input function.
08.00 We define the function Gauss Jordan Elimination with input arguments A and b and output argument x.
08.11 We get the size of matrix A and store it in m and n
08.17 Similarly, we get the size of matrix b and store it in r and s
08.23 If the sizes of A and b are not compatible, we display an error on the console using error function.
08.33 Then we perform row operations to get diagonal form of the matrix.
08.38 Here pivot refers to the first non-zero element of a column.
08.45 Then we create a matrix of zeros called x with m rows and s columns.
08.52 Once we have the diagonal form,
08.54 we divide the right hand side part of augmented matrix by the corresponding diagonal element to get the value of each variable.


09.04 We store the value of each variable in x.
09.08 Then we return the value of x.
09.11 Finally, we end the function.
09.13 Now let us save and execute the function.
09.18 The prompt requires us to enter the value of matrix A.
09.22 So we type
09.23 open square bracket zero point seven comma one seven two five semi colon


09.31 zero point four three five two comma minus five point four three three close square bracket.
09.41 Press Enter


09.43 The next prompt is for vector b.
09.45 So we type open squre bracket one seven three nine semi colon


09.51 three point two seven one close square bracket


09.55 Press Enter


09.58 Then we call the function by typing
10.01 Gauss Jordan Elimination open paranthesis A comma b close paranthesis


10.08 Press Enter


10.10 The values of x one and x two are shown on the console.
10.15 Let us summarize this tutorial.
10.18 In this tutorial, we have learnt to:


10.21 Develop Scilab code for solving system of linear equations
10.25 Find the value of the unknown variables of a system of linear equations
10.32 Watch the video available at the link shown below
10.35 It summarises the Spoken Tutorial project


10.38 If you do not have good bandwidth, you can download and watch it
10.43 The spoken tutorial project Team
10.45 Conducts workshops using spoken tutorials


10.48 Gives certificates to those who pass an online test


10.52 For more details, please write to conatct@spoken-tutorial.org


10.59 Spoken Tutorial Project is a part of the Talk to a Teacher project


11.03 It is supported by the National Mission on Eduction through ICT, MHRD, Government of India.
11.10 More information on this mission is available at http://spoken-tutorial.org/NMEICT-Intro
11.21 This is Ashwini Patil signing off.
11.23 Thank you for joining.

Contributors and Content Editors

Gaurav, PoojaMoolya, Sandhya.np14