0% found this document useful (0 votes)
195 views

MATLAB Notes1

The document provides an overview of MATLAB. It discusses that MATLAB is a numerical computing environment and programming language used for matrix computations. It then covers various topics related to MATLAB including the basic MATLAB interface, declaring and manipulating variables, plotting graphs, conditional operators, functions, and the MATLAB programming environment.

Uploaded by

Abdullah Ammar
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
195 views

MATLAB Notes1

The document provides an overview of MATLAB. It discusses that MATLAB is a numerical computing environment and programming language used for matrix computations. It then covers various topics related to MATLAB including the basic MATLAB interface, declaring and manipulating variables, plotting graphs, conditional operators, functions, and the MATLAB programming environment.

Uploaded by

Abdullah Ammar
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 159

What we will learn in this session

 Introduction to Matlab
 The basic MATLAB interface.
 Basic commands.
 Declaring & manipulating variables.
 Plotting graphs.
 Conditional Operators.
 Functions.
What is Matlab?
 The name MATLAB stands for matrix
laboratory.
 MATLAB was originally written to provide
easy access to matrix software developed
by the LINPACK and EISPACK projects,
which together represent the state-of-the-art
in software for matrix computation.
 MATLAB is a numerical computing
environment and fourth generation
programming language. Developed by The
MathWorks
 Matlab had many functions and toolboxes
to help in various applications
 It allows you to solve many technical
computing problems, especially those with
matrix and vector formulas, in a fraction of
the time it would take to write a program in
a scalar non-interactive language such as
C or Fortran.
What is Matlab?
 MATLAB is a high-performance language for technical
computing.
 It integrates computation, visualization, and programming
in an easy-to-use environment where problems and
solutions are expressed in familiar mathematical notation.
 Typical uses include:
 Algorithm development
 Math and computation
 Modeling, simulation, and prototyping
 Data analysis, exploration, and visualization
 Scientific and engineering graphics
 Application development, including Graphical User
Interface building.
Matlab Programming Environment
 Matlab (Matrix Laboratory) is a
dynamic, interpreted,
environment for matrix/vector
analysis
 Variables are created at run-time,
matrices are dynamically re-sized,

 User can build programs (in .m
files or at command line) using a
C/Java-like syntax
 Ideal environment for model
building, system identification and
control (both discrete and
continuous time)
 Wide variety of libraries
(toolboxes) available
Matlab Programming Environment
Variable Command
 Click on the Matlab window
icon/start menu browser
initialises the Matlab
environment:

 The main window is


the dynamic
command interpreter
which allows the
user to issue Matlab
commands

 The variable
browser shows
which variables Command history
currently exist in the
The MATLAB System
MATLAB system consists of these main
parts:
 Desktop Tools and Development Environment
 Includes the MATLAB desktop and Command
Window, an editor and debugger, a code analyzer,
browsers for viewing help, the workspace, files, and
other tools
 Mathematical Function Library
 vast collection of computational algorithms ranging
from elementary functions, like sine, cosine, and
complex arithmetic, to more sophisticated functions
like matrix inverse, matrix eigenvalues, Bessel
functions, and fast Fourier transforms.
 The Language
 The MATLAB language is a high-level matrix/array
language with control flow statements, functions, data
structures, input/output, and object-oriented programming
features.
 Graphics
 MATLAB has extensive facilities for displaying vectors and
matrices as graphs, as well as editing and printing these
graphs. It also includes functions that allow you to
customize the appearance of graphics as well as build
complete graphical user interfaces on your MATLAB
applications.
 External Interfaces
 The external interfaces library allows you to write C and
Fortran programs that interact with MATLAB.
Main Matlab Window
Basic MATLAB
Interface
Command window: Type your
instructions here and press
ENTER to execute them.
Example: Declare a column matrix with
values 1,2 and 3.
Command history: a list of instructions
executed by MATLAB is shown here.
Workspace: shows a list of
variables created by MATLAB.
As you can see, the value of ‘aaa’
is shown.
Another way to create a variable
Is to press this button.
MATLAB will prompt you to enter
the variable name.
As you can see, the variable
name has been changed to bbb.
2) Or by double clicking
on bbb.

To assign a value to bbb, you can do it in


two ways: 1) Using the command window.
When you click on bbb, the variable
editor window appears. You can type
in new values into bbb by filling in the
cells.
An example is shown here.
Try and do it yourself.
To display variables at the console,
you can type the variable name,
or you can type disp(variable_name).
To clear all variables from
memory and close all
figures, use the
clear, close all command.
As you can see, all workspace
variables are deleted when
you execute this command.
To clear the command window,
use the clc (clear console) command.
As you can see, all console
entries are deleted when
you execute this command.
If you want to see help,
you can type help at the
command window.
Or you can press F1
to display the help
window. Click on
Open Help Browser
to search for a
specific function.
Example: search for
function mean
To create an m-file, 1) type edit at
the command window, or
2) Press this button.
The previous command will
display the editor window.
The editor creates an m-file
that can be used to write
your MATLAB programs.
To execute a program, press
the RUN button.
This window will appear. Press the
Change Directory button.
You can see that the program has
created two new variables in the
Workspace.
Basic Commands
Variables
 MATLAB can be used to initialize and
manipulate many types of variables.
 Single value.
 Matrix
 String
Declaring Single Variables
 To declare single variables, type in a
variable name and type in its value.
 MATLAB will decide on the data type
automatically, so you don’t have to declare
its data type.
 Example:
 var1 = 3;
 thisIsAVariable = 56;
Declaring Single Variables
 Variables cannot have numbers or
symbols in front of them.
 Example of illegal variable names:
 1var
 #aaa
Matrix Variables
 Matrix variables are initialized similar to
single variables.
 The values in a matrix variable is defined
in square brackets.
 Example:
 aaa = [1,2,3,4];
 bbb = [1;2;3;4];
Row Matrix
 To create a row matrix, use the comma to
separate the values.
 Example:
 rowMatrix = [1,2,3,4,5];
Example
Try It Yourself
 Create a row matrix named var1 with the
values of 1, 3, 5 in it.
 Create a row matrix named mat1 with the
values of 10, 20, 30, 40, 50, 60 in it.
 Create a row matrix named var2 with the
values of 1, 3, 5, 6, 8, 10, 11 in it.
Column Matrix
 To create a column matrix, use the
semicolon to separate the values.
 Example:
 colMatrix = [1;2;3;4;5];
Example
Try It Yourself
 Clear and close all variables, and clear console.
 Create a column matrix named col1 with the
values of 2, 6, 9 in it.
 Create a column matrix named mat3 with the
values of 15, 23, 37, 48, 59, 61 in it.
 Create a column matrix named colMatrix with
the values of 1, 3, 5, 6, 8, 10, 11 in it.
Regular Matrix
 To create a regular matrix, use the comma
to separate each value in a row, and a
semicolon to enter the value for a new
row.
 Example:
 mat1 = [1,2,3;4,5,6;7,8,9];
Example
Try It Yourself
 Create this matrix:

1 2
A 
3 4 
Try It Yourself
 Create this matrix:

2 4 5

matrixB  2 4 5
5 3 5
Accessing Matrix Values
 To access a specific value inside a matrix,
use this command:
 matrixName(rowNumber, colNumber)
 Example: to access a value inside row 3
and column 2.
 matrixName(3,2)
Try It Yourself
 Create this matrix:

3 4 5 

matrixB  8 9 10
6 7 1 

 Try to get values 9, 3 and 1 from the matrix


and save it into three variables.
Accessing Whole Columns and
Rows
 To get a whole column, use this
command:
 varA = matName(:,colNumber);
 To get a whole row, use this command:
 varA = matName(rowNumber,:);
Example
Try it Yourself
 Create this matrix:

3 4 5 

matrixB  8 9 10
6 7 1 
 Get all the values from row 3 and save it into a new
variable.
 Get all the values from column 1 and save it into a new
variable.
Creating a Matrix of Zeros
 To create a matrix of zeros, use the zeros
command.
 Example: create a 6 X 5 matrix of zeros.
 zeros(6,5)
Example
Creating a Matrix of Ones
 To create a matrix of ones, use the ones
command.
 Example: create a 5 X 3 matrix of ones.
 ones(5,3)
Example
Creating a Matrix of Random
Numbers
 To create a matrix of random numbers,
use the rand command.
 Example: create a 4 X 4 matrix of random
numbers.
 rand(4,4)
Example
Getting the Size of the Matrix
 To get the size of the matrix, use the size
command.
 Example: to get the size of matrix aaa.
 [numRow, numCol] = size(aaa);
Example
Transposing a Matrix
 A transpose operation changes the
column of a matrix into rows, and rows into
columns.
 To do a transpose, use the single quote
operator.
Example: Transposing a Row
Matrix
Example: Transposing a Column
Matrix
Example: Transposing a Regular
Matrix
Finding the Maximum Value
 To find the maximum value for a matrix,
use the max function.
 Example: find the maximum value in
matrix aaa.
 maxVal = max(aaa);
Example

Max finds the


maximum value
in each column

When it is run again


on the result, it
returns the single-largest
value in the matrix.
Finding the Minimum Value
 To find the minimum value for a matrix,
use the min function.
 Example: find the minimum value in matrix
aaa.
 minVal = min(aaa);
Example

Min finds the


minimum value
in each column

When it is run again


on the result, it
returns the minimum
value in the matrix.
Finding the Sum of Columns
 To find the sum of each column, use the
sum command.
 Example: find the sum for each column in
matrix aaa.
 colSum = sum(aaa);
Example
Adding Matrices
 To add matrices, use the + operator.
 Example: add matrices A and B.
A + B.
 Make sure that the matrices are the same
size.
Example
Subtracting Matrices
 To subtract matrices, use the - operator.
 Example: subtract matrix B from A.
A - B.
 Make sure that the matrices are the same
size.
Example
Multiplying Matrices
 To multiply matrices, use the .* operator.
 Example: multiply matrices A and B.
A .* B.
 Make sure that the matrices are the same
size.
Example
Dividing Matrices
 To divide matrices, use the ./ operator.
 Example: divide matrices A with B.
A ./ B.
 Make sure that the matrices are the same
size.
Example
Sorting Matrices
 To sort a matrix, use the sort command.
 Example: sort matrix A in ascending order.
B = sort(A,’ascend/descend’)
 Default is ascending mode.
Example: Sorting a Row Matrix
Example: Sorting a Column Matrix
Example: Sorting a Regular Matrix
Example: Sorting a Row Matrix in
Descend Mode
Flipping a Matrix
 A matrix can be flipped using the flipud or
fliplr commands.
 Command flipud flips the matrix in
UP/DOWN direction.
 Command fliplr flips the matrix in
LEFT/RIGHT direction.
Example: flipud
Example: fliplr
Matrix Operations
+ addition
- subtraction
* multiplication
/ division
^ power or exponenentiation
() specify evaluation order
Sqrt (4)
B = sqrt(4)
2 ka table 2 show increment diff kaha 20
Date current date
Clock date, time
Ver matalab ,simulink and tool box versions information
Whos all variable present in the work space
What list matlab specific files in directory
Clc to clear the screen
Clear to clear the workspace
Close all to clear all windows
Dairy
Dairy file name to keep track of every thing done during a matlab
session
Dairy off
Dairy on
Quit/exit close matlab session
Operation on Matrix
sum(A) - sum each col of A
A’ - transpose of A
diag(A) - diagonal elements
det(A) - compute determinant of A
inv(A) - compute inverse of A
Array Operations
 Evaluated element by element
.' : array transpose (non-conjugated
transpose)
.^ : array power
.* : array multiplication
./ : array division
 Very different from Matrix operations
>> A=[1 2;3 4]; But:
>> B=[5 6;7 8]; >> A.*B
>> A*B 5 12
19 22 21 32
43 50
Some Built-in functions
 mean(A):mean value of a vector
 max(A), min (A): maximum and minimum.
 sum(A): summation.
 sort(A): sorted vector
 median(A): median value
 std(A): standard deviation.
 det(A) : determinant of a square matrix
 dot(a,b): dot product of two vectors
 Cross(a,b): cross product of two vectors
 Inv(A): Inverse of a matrix A
Strings
 MATLAB also can accept and manipulate
string variables.
 A string is defined by enclosing it in single
quotes.
 Example: aString = ‘Hello World!’
Example: Initializing a String
Converting a String to Lowercase

 To convert a string to lowercase, use the


lower command.
 Example: change string in matrix A to
lowercase:
B = lower(A)
Example: Change String to
Lowercase
Converting a String to Uppercase

 To convert a string to uppercase, use the


upper command.
 Example: change string in matrix A to
uppercase:
B = upper(A)
Example: Change String to
Uppercase
Concatenate Strings
 Concatenating string means merging two
or more strings together.
 To concatenate strings, use the strcat
command.
 Example: to concatenate str1 and str2:
 newStr = strcat(str1,str2)
Example: Concatenate String
Replace String
 To replace part of the string with a new
value, use the strrep command.
 Example: replace the word ‘lama’ with the
word ‘baru’ in the string str1.
 strrep(str1,’lama’,’baru’)
Example: Replace String
Plot
Plot Function
 The plot function can be used to draw the
relationship between two variables.
 Format:
 plot(x,y,lineParameters)
Example: Plot the values of a
random matrix
clear, close all
clc

xxx = 1:100

yyy = rand(1,100)

plot(xxx,yyy)
Example
Example: Draw sin(x)
clear, close all
clc

x = 0:pi/36:10*pi
y = sin(x)

plot(x,y,‘m')
Example
Plot Styles
Plot Styles
Example: Plotting the lines using
line parameters
clear, close all
clc

xxx = 1:100

yyy = rand(1,100)

plot(xxx,yyy)
figure, plot(xxx,yyy,'g:') % the command figure is
figure, plot(xxx,yyy,'r--')% used to create a new
figure, plot(xxx,yyy,':mo')% figure each time a plot
% is made.
Example: Drawing two plots in the
same figure
clear, close all
clc

xxx = 1:100
yyy = rand(1,100)

aaa = 1:100
bbb = rand(1,100)

plot(xxx,yyy,'r')
hold on
plot(aaa,bbb,'-.m')
hold off
Example: Drawing Bar Graphs
clear, close all
clc

x = 0:pi/36:2*pi
y = cos(x)
bar(x,y,‘r')
Example
Example: Drawing a Stair-Step Plot

clear, close all


clc

x = -10:0.5:10
y = x.^2 + 2.*x + 2
stairs(x,y,'b')
Example
Image Manipulation
Reading and Displaying an Image

 To read an image, use the imread


command.
 Example: read an image file named
‘c:\aaa.jpg’ and store it in matrix A.
A = imread(‘c:\aaa.jpg’)
 To display an image, use the imshow(A)
command.
Example: Read and Display Image
Manipulating an Image: Convert to
Grayscale
 To convert an RGB image to grayscale,
use the rgb2gray command.
 Example: convert image A to grayscale:
B = rgb2gray(A)
Example: Convert to Grayscale
clear, close all
clc

aaa = imread('d:\My Documents\My Pictures\50294.jpg');


figure, imshow(aaa)
bbb = rgb2gray(aaa)
figure, imshow(bbb)
Saving an Image
 To save an image, use the imwrite
command.
 Example: write image a into file xxx.jpg:
 imwrite(A,’xxx.jpg’,’jpg’)
Conditional
Operators
If…else Operator
 The if…else operator tests a condition.
 If the condition is true, then execute the if
block.
 If the condition is false, execute the else
block.
If…else Operator
if (condition)
% if block
else
% else block
end

% conditions that can be tested


% == : is equal to
% ~= : is not equal to
% > : larger than
% >= : larger than or equal
% <= : less than or equal
% < : less than
Example
clear, close all
clc

aaa = rand(1,100);
bbb = 1:1:100

color = 1;

if (color == 1)
% if block
figure, plot(bbb,aaa,':r');
else
% else block
figure, plot(bbb,aaa,'b');
end
Example
clear, close all
clc

x = 3;

if (x > 5)
disp('The number is more than 5.')
elseif (x == 5)
disp('The number is equal to 5.')
else
disp('The number is less than 5.')
end
For loop
 Used to repeat a set of statements
multiple times.
 The for loop format is:
 for(startingvalue:increment:endingvalue)
For Loop

clear, close all


clc

% i is the value of the counter


for i = initial_value:increment:ending_value

% statements in this block will be executed


until i
% reaches the ending_value

end
Example: Display value inside for
loop
clear, close all
clc

for i = 1:1:15
st1 = strcat('The value of i inside the
loop is: ',int2str(i));
disp(st1)
end
Example: Display “Hello World” 10
Times
st1 = 'Hello World!';

for i = 1:1:10
disp(st1)
end
Example: Check Value Inside
Matrix
clear, close all
clc

matA = [1.4,4.2,6.7,7.0; 5.5,6.7,8.9,3.0; 0.6,6.12,5.44,8.94]


[row,col] = size(matA)

for i = 1:1:row
for j = 1:1:col

currNo = matA(i,j);
st1 = strcat('The value being tested is: ', num2str(currNo),'.');
disp(st1)

if (currNo > 3)
disp('The current value is larger than 3.')
else
disp('The current value is less or equal than 3.')
end

end
end
While loop
 Used to repeat a set of statements while
the tested condition is true.
 The while loop format is:
 while(condition)

 The tested condition is the same as


if…else
Conditions that can be tested
% conditions that can be tested
% == : is equal to
% ~= : is not equal to
% > : larger than
% >= : larger than or equal
% <= : less than or equal
% < : less than
Example: Display value inside for
loop
clear, close all
clc

counter = 1;

while(counter <= 15)


st1 = strcat('The value of i inside the loop is:
',int2str(counter));
disp(st1)
counter = counter + 1;
end
Example: Display “Hello World” 10
Times
clear, close all
clc

st1 = 'Hello World!';


counter = 1;

while(counter <= 10)


disp(st1)
counter = counter + 1;
end
Functions
Functions
 A complex program may be divided into
several functions.
 These functions can improve readability of
the code, as well as promote re-usability of
the code.
 Each function must be saved into a
different file, with the filename similar to
the function.
Function
 The format of a function is:
 function returnValue = fcnName(inputValue)
Example
function hasil = addFcn(number1, number2)

hasil = number1 + number2;

% to call this function, call the fcn name


% using your own parameters.
% e.g. c = addFcn(3,4)
% e.g. c = addFcn(a,b)
Example: Using Functions
clear, close all
clc

number1 = 4;
number2 = 5;
selection = 1;

if selection == 1
hasil = addFcn(number1,number2);
elseif selection == 2
hasil = subFcn(number1,number2);
elseif selection == 3
hasil = mulFcn(number1,number2);
elseif selection == 4
hasil = divFcn(number1,number2);
else
disp('The selection is invalid.')
end

disp(strcat('The result is:', num2str(hasil)));


addFcn
function hasil = addFcn(number1, number2)

hasil = number1 + number2;


subFcn
function hasil = subFcn(number1, number2)

hasil = number1 - number2;


mulFcn
function hasil = mulFcn(number1, number2)

hasil = number1 * number2;


divFcn
function hasil = divFcn(number1, number2)

hasil = number1 / number2;


Sample Problems
Problem 1
 Write a program that
calculates and displays
the volume of a sphere
4 3
V  j
when given the radius.
The volume calculation
must be performed in a
function called


calcSphereVolume.
The formula for volume
3
is:
Problem 2
 Write a program that plots the function:

y  x  x  3x  6
3 2
 for values of x = -50 to 50
 Solutions: x = -50:1:50;
 y = x.^3+x.^2+3*x+6
 plot(x,y)
xlabel('x');
ylabel('y');
title(' y = x.^3+x.^2+3*x+6');
plot(x,y,'p')
Problem 3
 Generate a 100x50 matrix of random
numbers called A.
 For each value inside the matrix, if the
value is above 0.5, change its value to 1.
If it is below 0.5, change its value to zero.
 Then, count and display how many ones
inside the matrix.
Problem 4
 Use the plot function to draw this figure:
Problem 5
 Write a program that reads an image and
converts the image into its negative.
 To convert to a negative image, for each pixel
value:
 If the current pixel value is black (0), then change it to
white (255).
 If the current pixel value is white (255), then change it
to black (0).
 Show the original image and the changed
image.
White = 255, Black = 0
The End

You might also like