Introduction To Matlab
Introduction To Matlab
Introduction To Matlab
CSE-318
What is Matlab?
Matlab is basically a high level language
which has many specialized toolboxes for
making things easier for us
Provide interactive environment for numerical
computation, visualization and programming.
Developed by MathWorks
MATLAB- Matrix Laboratory
Typical Uses:
• Math and Computation
• Signal processing and Communications
• Data Acquisition
• Modeling, Simulation and Prototyping
• Data analysis, exploration and visualization
• Scientific and Engineering graphics
• Application development, including graphical
user interface building
What are we interested in?
MatLab is too broad for our purposes in
this course.
The features we are going to require is
MatLab
Command
m-files mat-files
Line
Current Directory
View folders and m-files
Workspace
View program variables
Double click on a variable
to see it in the Array Editor
Command History
view past commands
save a whole session
using diary
Variables
int a;
double b;
float c;
>> x=[1,2,3]
x =
1 2 3
x =
1
2
3
4
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 5 3
2 1 2
3 4 -1
Long Array, Matrix
t =1:10 t = start : end
t =
1 2 3 4 5 6 7 8 9 10
k =2:-0.5:-1 k = start : increment : end
k =
2 1.5 1 0.5 0 -0.5 -1
x = [1:4; 5:8]
x =
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
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
Built-in Functions
Trigonometric sin, cos, tan, sin, acos, atan,
functions sinh, cosh, tanh, asinh,
acosh, atanh, csc, sec, cot,
acsc, …
Exponential exp, log, log10, sqrt
functions
Complex abs, angle, imag, real, conj
functions
Rounding and floor, ceil, round, mod, rem,
Remainder sign
functions
Matrices Operations
Given A and B:
.* element-by-element multiplication
./ element-by-element division
.^ element-by-element power
The use of “.” – “Element” Operation
A = [1 2 3; 5 1 4; 3 2 -1]
A=
1 2 3
5 1 4
3 2 -1
b = x .* y c=x./y d = x .^2
x = A(1,:) y = A(3 ,:)
b= c= d=
x= y= 3 8 -3 0.33 0.5 -3 1 4 9
1 2 3 3 4 -1
K= x^2
Error:
??? Error using ==> mpower Matrix must be square.
B=x*y
Error:
??? Error using ==> mtimes Inner matrix dimensions must agree.
Input and Output
== 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
Some Dummy Examples
If Statement Syntax
if ((a>3) & (b==5))
Some Matlab Commands;
if (Condition_1) end
Matlab Commands
if (a<3)
elseif (Condition_2) Some Matlab Commands;
Matlab Commands elseif (b~=5)
Some Matlab Commands;
elseif (Condition_3) end
Matlab Commands
if (a<3)
else Some Matlab Commands;
Matlab Commands else
end Some Matlab Commands;
end
Control Structures
Some Dummy Examples
For loop syntax for i=1:100
Some Matlab Commands;
end
Dummy Example
while (condition)
Matlab Commands while ((a>3) & (b==5))
Some Matlab Commands;
end end
Example
x=ceil(10*rand(1,1));
y=input(‘Guess my number between 1 and 10:’);
if(x==y)
‘you are right’
elseif(x>y)
‘No,my number is smaller’
else
‘No,my number is greater’
end
Another example:
x=ceil(10*rand(1,1));
sum=0;
for y=1:x
sum=sum+y;
end
Task:
Output the summation of each content of a
matrix
Use of M-File
Click to create
a new M-File
• Extension “.m”
• A text file containing script or function or program to run
Use of M-File Save file as Denem430.m
Same Name
Writing User Defined Functions
Another function which takes an input array and returns the sum and product
of its elements as outputs
>>lookfor keyword
Basic Task: Plot the function sin(x)
between 0≤x≤4π
Create an x-array of 100 samples between 0
and 4π.
>>x=linspace(0,4*pi,100);
0.8
0.6
>>y=sin(x); 0.4
0.2
-0.4
-0.6
>>plot(y) -0.8
-1
0 10 20 30 40 50 60 70 80 90 100
Plot the function e-x/3sin(x) between
0≤x≤4π
Create an x-array of 100 samples between 0
and 4π.
>>x=linspace(0,4*pi,100);
>>plot(y2) 0.6
0.5
0.4
0.3
0.2
0.1
-0.1
-0.2
-0.3
0 10 20 30 40 50 60 70 80 90 100
Display Facilities 0.7
0.6
0.5
plot(.) 0.4
0.3
Example:
0.2
0.1
>>x=linspace(0,4*pi,100); 0
>>y=sin(x); -0.1
>>plot(y) -0.2
>>plot(x,y) -0.3
0 10 20 30 40 50 60 70 80 90 100
0.7
stem(.) 0.6
0.5
0.4
0.3
Example:
0.2
0.1
>>stem(y) 0
>>stem(x,y) -0.1
-0.2
-0.3
0 10 20 30 40 50 60 70 80 90 100
Display Facilities
Setting Colors on Graph:
Code Code
w White
k Black
b Blue
r Red
c Cyan
g Green
m Magenta
y Yellow
Display Facilities
title(.)
>>title(‘This is the sinus function’)
This is the sinus function
1
0.8
xlabel(.) 0.6
0.4
sin(x)
0
ylabel(.) -0.2
-0.4
-0.6
-0.8
>>ylabel(‘sin(x)’) -1
0 10 20 30 40 50 60 70 80 90 100
x (secs)
Thank You…