Table of Contents
Variables
No need for types. i.e.,
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-6.png?resize=161%2C129&ssl=1)
All variables are created with double precision unless specified and they are matrices.
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-7.png?resize=129%2C105&ssl=1)
After these statements, the variables are 1×1 matrices with double precision
Array, Matrix
- a vector x = [1 2 5 1]
x =
1 2 5 1
- a matrix x = [1 2 3; 5 1 4; 3 2 -1]
x =
1 2 3
5 1 4
3 2 -1
transpose y = x’
y =
1
2
5
1
Long Array, Matrix
t =1:10
t =
1 2 3 4 5 6 7 8 9 10
k = 2:-0.5:-1
k =
2 1.5 1 0.5 0 -0.5 -1
B = [1:4; 5:8]
B =
1 2 3 4
5 6 7 8
Generating Vectors from functions
- zeros(M,N) :: MxN matrix of zeros
x = zeros(1,3)
x = 0 0 0
- ones(M,N) :: MxN matrix of ones
x = ones(1,3)
x = 1 1 1
- rand(M,N) MxN matrix of uniformly distributed random numbers on (0,1)
x = rand(1,3)
x = [0.9501 0.2311 0.6068]
Matrix Index
The matrix indices begin from 1 (not 0 (as in C))
The matrix indices must be positive integer
Given:
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-11.png?resize=640%2C143&ssl=1)
A(-2), A(0)
Error: ??? Subscript indices must either be real positive integers or logicals.
A(4,2)
Error: ??? Index exceeds matrix dimensions.
Concatenation of Matrices
x = [1 2], y = [4 5], z=[ 0 0]
A = [ x y]
1 2 4 5
B = [x ; y]
1 2
4 5
C = [x y ;z]
Error:
??? Error using ==> vertcat CAT arguments dimensions are not consistent.
Operators (arithmetic)
+ addition
– subtraction
* multiplication
division
^ power
‘ complex conjugate transpose
Matrices Operations
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-17.png?resize=640%2C164&ssl=1)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-19.png?resize=640%2C66&ssl=1)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-20.png?resize=640%2C134&ssl=1)
Operators (Element by Element)
.* element-by-element multiplication
./ element-by-element division
.^ element-by-element power
The use of “.” – “Element” Operation
K= x^2
Erorr:
??? Error using ==> mpower Matrix must be square.
B=x*y
Erorr:
??? Error using ==> mtimes Inner matrix dimensions must agree.
Basic Task: Plot the function sin(x) between 0≤x≤4π
Create an x-array of 100 samples between 0 and 4π.
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-22.png?resize=353%2C57&ssl=1)
Calculate sin(.) of the x-array
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-23.png?resize=353%2C57&ssl=1)
Plot the y-array
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-24.png?resize=353%2C57&ssl=1)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-25.png?resize=347%2C260&ssl=1)
Plot the function e-x/3sin(x) between 0≤x≤4π
Create an x-array of 100 samples between 0 and 4π.
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-26.png?resize=353%2C57&ssl=1)
Calculate sin(.) of the x-array
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-27.png?resize=353%2C57&ssl=1)
Calculate e-x/3 of the x-array
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-28.png?resize=353%2C57&ssl=1)
Multiply the arrays y and y1
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-29.png?resize=353%2C57&ssl=1)
Plot the function e-x/3sin(x) between 0≤x≤4π
Multiply the arrays y and y1 correctly
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-30.png?resize=353%2C57&ssl=1)
Plot the y2-array
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-31.png?resize=353%2C57&ssl=1)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-32.png?resize=464%2C317&ssl=1)
Display Facilities
- plot(.)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-33.png?resize=353%2C202&ssl=1)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-34.png?resize=424%2C289&ssl=1)
- stem(.)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-38.png?resize=353%2C145&ssl=1)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-39.png?resize=423%2C289&ssl=1)
- title(.)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-40.png?resize=393%2C57&ssl=1)
- xlabel(.)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-41.png?resize=393%2C57&ssl=1)
- ylabel(.)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-42.png?resize=393%2C57&ssl=1)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-43.png?resize=479%2C327&ssl=1)
Operators (relational, logical)
== Equal to
~= Not equal to
< Strictly smaller
Strictly greater
<= Smaller than or equal to
= Greater than equal to
& And operator
| Or operator
Flow Control
if
for
while
break
….
Control Structures
- If Statement Syntax
if (Condition_1)
Matlab Commands
elseif (Condition_2)
Matlab Commands
elseif (Condition_3)
Matlab Commands
else
Matlab Commands
end
Some Dummy Examples
if ((a>3) & (b==5))
Some Matlab Commands;
end
if (a<3)
Some Matlab Commands;
elseif (b~=5)
Some Matlab Commands;
end
if (a<3)
Some Matlab Commands;
else
Some Matlab Commands;
end
- For loop syntax
for i=Index_Array
Matlab Commands
end
Some Dummy Examples
for i=1:100
Some Matlab Commands;
end
for j=1:3:200
Some Matlab Commands;
end
for m=13:-0.2:-21
Some Matlab Commands;
end
for k=[0.1 0.3 -13 12 7 -9.3]
Some Matlab Commands;
end
- While Loop Syntax
while (condition)
Matlab Commands
end
Dummy Example
while ((a>3) & (b==5))
Some Matlab Commands;
end
Use of M-File
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-44.png?resize=640%2C369&ssl=1)
- Extension “.m”
- A text file containing script or function or program to run
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-46.png?resize=640%2C515&ssl=1)
Writing User Defined Function
- Functions are m-files which can be executed by specifying some inputs and supply some desired outputs.
- The code telling the Matlab that an m-file is actually a function is
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-47.png?resize=561%2C105&ssl=1)
- You should write this command at the beginning of the m-file and you should save the m-file with a file name same as the function name
- Examples
- Write a function : out=squarer (A, ind)
- Which takes the square of the input matrix if the input indicator is equal to 1
- And takes the element by element square of the input matrix if the input indicator is equal to 2
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-48.png?resize=640%2C336&ssl=1)
- Another function which takes an input array and returns the sum and product of its elements as outputs
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-49.png?resize=640%2C317&ssl=1)
- The function sumprod(.) can be called from command window or an m-file as
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-50.png?resize=640%2C316&ssl=1)
Notes:
- “%” is the neglect sign for Matlab (equaivalent of “//” in C). Anything after it on the same line is neglected by Matlab compiler.
- Sometimes slowing down the execution is done deliberately for observation purposes. You can use the command “pause” for this purpose
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-51.png?resize=433%2C97&ssl=1)
Useful Commands
The two commands used most by Matlab users are
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-52.png?resize=345%2C97&ssl=1)
![](https://i0.wp.com/mevihub.com/wp-content/uploads/2021/06/image-53.png?resize=345%2C65&ssl=1)