# MATLAB BASICS MATLAB Basics

## Variables

No need for types. i.e.,

All variables are created with double precision unless specified and they are matrices.

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:

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)

– subtraction

* multiplication
division
^ power
‘ complex conjugate transpose

## 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π.

Calculate sin(.) of the x-array

Plot the y-array

## Plot the function e-x/3sin(x) between 0≤x≤4π

Create an x-array of 100 samples between 0 and 4π.

Calculate sin(.) of the x-array

Calculate e-x/3 of the x-array

Multiply the arrays y and y1

## Plot the function e-x/3sin(x) between 0≤x≤4π

Multiply the arrays y and y1 correctly

Plot the y2-array

• plot(.)
• stem(.)
• title(.)
• xlabel(.)
• ylabel(.)

## 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

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

• Extension “.m”
• A text file containing script or function or program to run

## 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
• 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
• Another function which takes an input array and returns the sum and product of its elements as outputs
• The function sumprod(.) can be called from command window or an m-file as

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

## Useful Commands

The two commands used most by Matlab users are