Scilab/C4/Linear-equations-Gaussian-Methods/Gujarati
From Script | Spoken-Tutorial
Revision as of 11:43, 14 December 2015 by Jyotisolanki (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 practice 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 parenthesis A comma b close parenthesis |
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 square 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 parenthesis A comma b close parenthesis |
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 summarizes 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. |