BASIC MATLAB TUTORIAL: PART 3

Its the part 3 of my BASIC MATLAB TUTORIAL.

1.How to display any statements ?  For that we will use the ” disp() “function. Anything we write on the display fuction gets displayed. Eg.

>> disp('My name is Mousam Choudhury')
My name is Mousam Choudhury
>> a=magic(2);
>> disp(a)
1      3
4      2

2.How to see a particular Row of matrix or a particular column of a matrix? For it we will use the colon symbol : ” .

if we want to see all the row values of a particular matrix , then we put colon on the row part and the column no. on the column part. See below

>> a=magic(4)

a =

16     2     3     13
5     11    10      8
9      7     6     12
4     14    15      1

>> disp('see 2nd column and all row values')
see 2nd column and all row values
>> a(:,2) # 1st part is row and 2nd part is column

ans =

2
11
7
14
>> disp('see 4th column and all row values')
see 4th column and all row values
>> a(:,4)

ans =

13
8
12
1

To see all the column values of a particular row , then put colon on the column part and the row no. on the row part

>> disp('see 3rd row and all column values')
see 3rd row and all column values
>> a(3,:)

ans =

9   7   6   12

To see a particular value of a row and column , then just replace the row and column part with that value. Eg.

>> disp('see 3rd row and 4th column values')
see 3rd row and 4th column values
>> a(3,4)

ans =

12

>> disp('see 2nd row and 2nd column values')
see 2nd row and 2nd column values
>> a(2,2)

ans =

11

3.How to distribute a range in step? For this we need the minimum value , the step size and the maximum value. See the below examples:

>> disp('DISTRIBUTE A RANGE BETWEEN 1 TO 4 IN STEP SIZE 0.5')
DISTRIBUTE A RANGE BETWEEN 1 TO 4 IN STEP SIZE 0.5
>> distribute_a_range=1:0.5:4

distribute_a_range =

1.0000    1.5000    2.0000    2.5000    3.0000    3.5000    4.0000
>> disp('DISTRIBUTE A RANGE BETWEEN 11 TO 14 IN STEP SIZE 1')
DISTRIBUTE A RANGE BETWEEN 11 TO 14 IN STEP SIZE 1
>> distribute_a_range=11:1:14

distribute_a_range =

11   12   13   14

So by changing the step size

4.How to make a column matrix from a normal (row x column) matrix ?  Suppose i want to make a 3*3 matrix into a column matrix having the values from the 3*3 matrix, we can use the following method. Its basically using the “:” symbol again. See the below examples.

>> a=[1 2 3;4 5 6;7 8 9]

a =

1   2   3
4   5   6
7   8   9

>> a_column=a(:)

a_column =

1
4
7
2
5
8
3
6
9

As you can see the value were taken column after column i.e. 2nd columnwas added after 1st coulmn and the 3rd column after the second.

In order to get the values row wise, we have to use the following tweak. See below.

>> a_RowWise_column=reshape(a.',[],1)

a_RowWise_column =

1
2
3
4
5
6
7
8
9

Note: Use the variable names in such a way that they represent the operation which you are doing. like the above one, “a_RowWise_column” , because i am taking the values row wise but the output is a column matrix of those values.

5.Can we get back the original matrix from the column matrix? Yes , we can. Just see the code to do so below.

>> a_original=reshape(a_column,3,3)

a_original =

1   2   3
4   5   6
7   8   9

NOTE: “reshape” is an in built function. Read more about it in the MATLAB help section. Since the original matrix was 3*3 , so i wrote 3,3 in the parenthesis.

LET US SEE ANOTHER EXAMPLE

MAKE A 4*4 MATRIX

>> a=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]

a =

1    2    3    4
5    6    7    8
9   10   11   12
13  14   15   16

MAKE A COLUMN MATRIX OF THE ABOVE 4*4 MATRIX

>> a_column=a(:)

a_column =

1
5
9
13
2
6
10
14
3
7
11
15
4
8
12
16

MAKE THE ORIGINAL MATRIX FROM THE ABOVE COLUMN MATRIX

>> a_original=reshape(a_column,4,4)

a_original =

1    2    3    4
5    6    7    8
9   10   11   12
13  14   15   16

 

THANK YOU FOR READING AND ENCOURAGING ME TO CONTRIBUTE THE KNOWLEDGE THAT I HAVE. 

BASIC MATLAB TUTORIAL : PART 2

In this blog i will try to show you few in build matrix functions present in MATLAB. I will show you how to distribute a range of values in particular step size , see a particular row or column and see the no. of elements present in a matrix/statements.

The statements written in “GREEN” colour are ignored by the compilers and they are present in a code to help the reader/programmer understand it better.

The codes are written in the highlighted section which we type in the command window.

1.There are few standard matrix functions available in MATLAB. In my later post i will show you how to make your own function in MATLAB and use it as you wish. Lets see few standard functions :

(a) “zero” function creates a m*n matrix having all elements as “0” , where m=no. of rows and n=no. of columns.

>> z = zeros(3,3)

z =

0   0   0
0   0   0
0   0   0

(b)”ones” function creates a m*n matrix having all elements as “1” , where m=no. of rows and n=no. of columns.

>> o = ones(3,3)

o =

1   1   1
1   1   1
1   1   1

(c)”eye” function creates a m*n matrix having all diagonal elements as “1” and rest as zero , where m=no. of rows and n=no. of columns. This type of matrix is called identity matrix.

>> e = eye(3,3)

e =

1   0   0
0   1   0
0   0   1

(d)”rand” function creates a m*n matrix having all  elements created randomly between 0 and 1, where m=no. of rows and n=no. of columns. This type of matrix is called random matrix. Every time we run the code we will get different matrix elements but they will all lie between 0 and 1 only.

>> r=rand(3,3)

r =

0.7922 0.0357 0.6787
0.9595 0.8491 0.7577
0.6557 0.9340 0.7431

To get the values in the units of 10 we can use the following tweak: here i will be taking the help of another build in function called “floor”. Suppose my value is 3.4. So, Floor(3.4) will be 3. Similarly floor(3.6) will also be 3.

You can also use “ceil”. Example ceil(4.2) will be 5.

>> r = floor(10*rand(3,3))

r =

3   7   0
6   0   0
1   2   8

I multiplied my random matrix by 10 and then took the floor. So now my values will lie in range of 0 and 10.

To get the range between 0 and 100 , multiply by 100.

>> r = floor(100*rand(3,3))

r =

69    3    76
31   43    79
95   38    18

2.There is a way to see a particular column or particular row of a matrix. “: ” symbol represents the entire array of that row or column.

NOTE: a(m,n) represents a matrix “a” having “m” rows and “n” columns.

So,

a(2,3) will mean 2nd rows 3rd columns element.

a(2,:) will mean 2nd rows entire columns elements.

See the example and try yourself to understand better.

>> a=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25]

a =

1    2    3    4    5
6    7    8    9   10
11  12   13   14   15
16  17   18   19   20
21  22   23   24   25

>> a(1,:)  %to see the 1st rows entire column

ans =

1   2   3   4   5

>> a(:,1)  %to see the 1st columns entire row

ans =

1
6
11
16
21

>> a(3,:)  %to see the 3rd rows entire column

ans =

11   12   13   14   15

>> a(:,3)  %to see the 3rd columns entire row

ans =

3
8
13
18
23

To see a particular element of a matrix we can use the same procedure. Just replace ” : ” by the value of the row or column.

a =

1     2     3     4     5
6     7     8     9    10
11   12    13    14    15
16   17    18    19    20
21   22    23    24    25


>> a(2,3)%to see the 2nd row 3rd column

ans =

8

>> a(4,5)%to see the 4th row 5th column

ans =

20

3.How to distribute a range in a particular step size ? Just see the code and the output:

>> distribute_a_range=1:0.5:4 %DISTRIBUTE A RANGE BETWEEN 1 TO 4 IN STEP SIZE 0.5

distribute_a_range =

1.0000    1.5000    2.0000    2.5000    3.0000    3.5000    4.0000
>> distribute_a_range=1:1:4 %DISTRIBUTE A RANGE BETWEEN 1 TO 4 IN STEP SIZE 1

distribute_a_range =

1    2    3    4

So, the code is formated in this manner:

Name=Initial Value : Step size : Final value.

4. There is a way to see the size of a matrix: The function for it is “size( )”. As input argument to the function we give the name of the matrix/variable. See the code and example below:

>> r = rand(3,4) %generated a 3*4 matrix

r =

0.8407    0.2435    0.1966    0.4733
0.2543    0.9293    0.2511    0.3517
0.8143    0.3500    0.6160    0.8308

>> size(r)% input argument to the function is the name of the matrix

ans =

3    4

where 3 is the no. of row and 4 is the no. of column.

We can use it to see the no. of characters in a statement. See below:

>> a='see my website regularly'

a =

see my website regularly

>> size(a)

ans =

1    24

Here 24 represents the no. of letters/characters used. Note a point that, “space bar” are also regarded as character. Count yourself and see.

Keep visiting the website.

PART 3 IS PRESENT HERE:  http://ilearn2share.com/2017/02/19/basic-matlab-tutorial-part-3/