Scilab/C4/Linear-equations-Gaussian-Methods/English-timed
From Script | Spoken-Tutorial
Revision as of 15:17, 11 March 2014 by PoojaMoolya (Talk | contribs)
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. |