Introduction to Matlab
description
Transcript of Introduction to Matlab
![Page 1: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/1.jpg)
Introduction to Matlab
Electromagnetic Theory LABElectromagnetic Theory LABbyby
Engr. Mian Shahzad IqbalEngr. Mian Shahzad Iqbal
![Page 2: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/2.jpg)
Topics
• Introduction• MATLAB Environment• Getting Help• Variables• Vectors, Matrices, and Linear Algebra• Plotting• Built in Functions• Selection Programming• M-Files• User Defined Functions• Specific Topics
![Page 3: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/3.jpg)
Introduction
What is MATLAB ?• MATLAB is a computer program that combines computation and
visualization power that makes it particularly useful tool for engineers.• MATLAB is an executive program, and a script can be made with a list
of MATLAB commands like other programming language.
MATLAB Stands for MATrix LABoratory.• The system was designed to make matrix computation particularly easy.
The MATLAB environment allows the user to:• manage variables• import and export data• perform calculations• generate plots• develop and manage files for use with MATLAB.
![Page 4: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/4.jpg)
To start MATLAB:
START PROGRAMS MATLAB 7.0 MATLAB 7.0
MATLABEnvironment
![Page 5: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/5.jpg)
Display Windows
![Page 6: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/6.jpg)
Display Windows (con’t…)
• Graphic (Figure) Window– Displays plots and graphs– Created in response to graphics commands.
• M-file editor/debugger window– Create and edit scripts of commands called M-files.
![Page 7: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/7.jpg)
Getting Help
• type one of following commands in the command window:– help – lists all the help topic– help topic – provides help for the specified topic– help command – provides help for the specified command
• help help – provides information on use of the help command
– helpwin – opens a separate help window for navigation– lookfor keyword – Search all M-files for keyword
![Page 8: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/8.jpg)
Getting Help (con’t…)
• Google “MATLAB helpdesk”• Go to the online HelpDesk provided by
www.mathworks.com
You can find EVERYTHING you need to know about MATLAB from the online HelpDesk.
![Page 9: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/9.jpg)
Variables
• Variable names:– Must start with a letter
– May contain only letters, digits, and the underscore “_”
– Matlab is case sensitive, i.e. one & OnE are different variables.
– Matlab only recognizes the first 31 characters in a variable name.
• Assignment statement:– Variable = number;
– Variable = expression;
• Example:>> tutorial = 1234;
>> tutorial = 1234
tutorial =
1234
NOTE: when a semi-colon ”;” is placed at the end of each command, the result is not displayed.
![Page 10: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/10.jpg)
Variables (con’t…)
• Special variables:– ans : default variable name for the result– pi: = 3.1415926…………– eps: = 2.2204e-016, smallest amount by which 2 numbers can differ.
– Inf or inf : , infinity– NaN or nan: not-a-number
• Commands involving variables:– who: lists the names of defined variables– whos: lists the names and sizes of defined variables– clear: clears all varialbes, reset the default values of special
variables.– clear name: clears the variable name– clc: clears the command window– clf: clears the current figure and the graph window.
![Page 11: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/11.jpg)
Vectors, Matrices and Linear Algebra
• Vectors
• Array Operations
• Matrices
• Solutions to Systems of Linear Equations.
![Page 12: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/12.jpg)
MATLAB BASICSMATLAB BASICS
Variables and Arrays• Array: A collection of data values organized into rows
and columns, and known by a single name.
Row 1
Row 2
Row 3
Row 4
Col 1 Col 2 Col 3 Col 4 Col 5
arr(3,2)
![Page 13: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/13.jpg)
MATLAB BASICSMATLAB BASICS
Arrays
• The fundamental unit of data in MATLAB
• Scalars are also treated as arrays by MATLAB (1 row and 1 column).
• Row and column indices of an array start from 1.
• Arrays can be classified as vectors and matrices.
![Page 14: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/14.jpg)
MATLAB BASICSMATLAB BASICS
• Vector: Array with one dimension
• Matrix: Array with more than one dimension
• Size of an array is specified by the number of rows and the number of columns, with the number of rows mentioned first (For example: n x m array).
Total number of elements in an array is the product of the number of rows and the number of columns.
![Page 15: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/15.jpg)
MATLAB BASICSMATLAB BASICS
1 23 45 6
a= 3x2 matrix 6 elements
b=[1 2 3 4] 1x4 array 4 elements, row vector
c=135
3x1 array 3 elements, column vector
a(2,1)=3 b(3)=3 c(2)=3
Row # Column #
![Page 16: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/16.jpg)
Vectors
• A row vector in MATLAB can be created by an explicit list, starting with a left bracket, entering the values separated by spaces (or commas) and closing the vector with a right bracket.
• A column vector can be created the same way, and the rows are separated by semicolons.
• Example:>> x = [ 0 0.25*pi 0.5*pi 0.75*pi pi ]x = 0 0.7854 1.5708 2.3562 3.1416>> y = [ 0; 0.25*pi; 0.5*pi; 0.75*pi; pi ]y = 0 0.7854 1.5708 2.3562 3.1416
x is a row vector.
y is a column vector.
![Page 17: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/17.jpg)
Vectors (con’t…)
• Vector Addressing – A vector element is addressed in MATLAB with an integer index enclosed in parentheses.
• Example:>> x(3)ans = 1.5708
1st to 3rd elements of vector x
• The colon notation may be used to address a block of elements.
(start : increment : end)start is the starting index, increment is the amount to add to each successive index, and end is the ending index. A shortened format (start : end) may be used if increment is 1.
• Example:>> x(1:3)
ans =
0 0.7854 1.5708
NOTE: MATLAB index starts at 1.
3rd element of vector x
![Page 18: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/18.jpg)
Vectors (con’t…)
Some useful commands:
x = start:end create row vector x starting with start, counting by one, ending at end
x = start:increment:end create row vector x starting with start, counting by increment, ending at or before end
length(x) returns the length of vector x
y = x’ transpose of vector x
dot (x, y) returns the scalar dot product of the vector x and y.
![Page 19: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/19.jpg)
Array Operations
•Scalar-Array MathematicsFor addition, subtraction, multiplication, and division of an array by a
scalar simply apply the operations to all elements of the array.•Example:>> f = [ 1 2; 3 4]f = 1 2 3 4>> g = 2*f – 1g = 1 3 5 7
Each element in the array f is multiplied by 2, then subtracted by 1.
![Page 20: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/20.jpg)
Array Operations (con’t…)
• Element-by-Element Array-Array Mathematics.
Operation Algebraic Form MATLAB
Addition a + b a + b
Subtraction a – b a – b
Multiplication a x b a .* b
Division a b a ./ b
Exponentiation ab a .^ b
• Example:>> x = [ 1 2 3 ];
>> y = [ 4 5 6 ];
>> z = x .* y
z =
4 10 18
Each element in x is multiplied by the corresponding element in y.
![Page 21: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/21.jpg)
Matrices
A is an m x n matrix.
A Matrix array is two-dimensional, having both multiple rows and multiple columns, similar to vector arrays:
it begins with [, and end with ] spaces or commas are used to separate elements in a row semicolon or enter is used to separate rows.
•Example:>> f = [ 1 2 3; 4 5 6]f = 1 2 3 4 5 6>> h = [ 2 4 61 3 5]h = 2 4 6 1 3 5the main
diagonal
![Page 22: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/22.jpg)
Matrices (con’t…)
• Matrix Addressing:-- matrixname(row, column)-- colon may be used in place of a row or column reference to select the
entire row or column.
recall:f = 1 2 3 4 5 6h = 2 4 6 1 3 5
Example:
>> f(2,3)
ans =
6
>> h(:,1)
ans =
2
1
![Page 23: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/23.jpg)
Matrices (con’t…)
Some useful commands:
zeros(n)zeros(m,n)
ones(n)ones(m,n)
size (A)
length(A)
returns a n x n matrix of zerosreturns a m x n matrix of zeros
returns a n x n matrix of onesreturns a m x n matrix of ones
for a m x n matrix A, returns the row vector [m,n] containing the number of rows and columns in matrix.
returns the larger of the number of rows or columns in A.
![Page 24: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/24.jpg)
Matrices (con’t…)
Transpose B = A’
Identity Matrix eye(n) returns an n x n identity matrixeye(m,n) returns an m x n matrix with ones on the main diagonal and zeros elsewhere.
Addition and subtraction C = A + BC = A – B
Scalar Multiplication B = A, where is a scalar.
Matrix Multiplication C = A*B
Matrix Inverse B = inv(A), A must be a square matrix in this case.rank (A) returns the rank of the matrix A.
Matrix Powers B = A.^2 squares each element in the matrixC = A * A computes A*A, and A must be a square matrix.
Determinant det (A), and A must be a square matrix.
more commands
A, B, C are matrices, and m, n, are scalars.
![Page 25: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/25.jpg)
Solutions to Systems of Linear Equations
• Example: a system of 3 linear equations with 3 unknowns (x1, x2, x3):3x1 + 2x2 – x3 = 10-x1 + 3x2 + 2x3 = 5 x1 – x2 – x3 = -1
Then, the system can be described as:
Ax = b
111
231
123
A
3
2
1
x
x
x
x
1
5
10
b
Let :
![Page 26: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/26.jpg)
Solutions to Systems of Linear Equations (con’t…)
• Solution by Matrix Inverse:Ax = bA-1Ax = A-1bx = A-1b
• MATLAB:>> A = [ 3 2 -1; -1 3 2; 1 -1
-1];>> b = [ 10; 5; -1];>> x = inv(A)*bx = -2.0000 5.0000 -6.0000Answer:
x1 = -2, x2 = 5, x3 = -6
• Solution by Matrix Division:The solution to the equation
Ax = bcan be computed using left division.
Answer:
x1 = -2, x2 = 5, x3 = -6
NOTE: left division: A\b b A right division: x/y x y
MATLAB:>> A = [ 3 2 -1; -1 3 2; 1 -1 -1];>> b = [ 10; 5; -1];>> x = A\bx = -2.0000 5.0000 -6.0000
![Page 27: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/27.jpg)
• The input function displays a prompt string in the Command Window and then waits for the user to respond.
my_val = input( ‘Enter an input value: ’ );
in1 = input( ‘Enter data: ’ );
in2 = input( ‘Enter data: ’ ,`s`);
Initializing with Keyboard Input
![Page 28: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/28.jpg)
How to display dataHow to display data
The disp( ) function>> disp( 'Hello' )
Hello
>> disp(5)
5
>> disp( [ 'Bilkent ' 'University' ] )
Bilkent University
>> name = 'Alper';
>> disp( [ 'Hello ' name ] )
Hello Alper
![Page 29: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/29.jpg)
Plotting
• For more information on 2-D plotting, type help graph2d• Plotting a point:
>> plot ( variablename, ‘symbol’)the function plot () creates a graphics window, called a Figure window, and named by default “Figure No. 1”
Example : Complex number>> z = 1 + 0.5j;>> plot (z, ‘.’)
![Page 30: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/30.jpg)
Plotting (con’t…)
![Page 31: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/31.jpg)
Built-in MATLAB Functions
result = function_name( input );– abs, sign– log, log10, log2– exp– sqrt– sin, cos, tan– asin, acos, atan– max, min– round, floor, ceil, fix– mod, rem
• help elfun help for elementary math functions
![Page 32: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/32.jpg)
Selection Programming
• Flow Control
• Loops
![Page 33: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/33.jpg)
Flow Control
• Simple if statement:if logical expression
commandsend
• Example: (Nested)if d <50
count = count + 1;disp(d);if b>d
b=0;end
end• Example: (else and elseif clauses)
if temperature > 100disp (‘Too hot – equipment malfunctioning.’)
elseif temperature > 90disp (‘Normal operating range.’);
elseif (‘Below desired operating range.’)else
disp (‘Too cold – turn off equipment.’)end
![Page 34: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/34.jpg)
Flow Control (con’t…)
• The switch statement:switch expression
case test expression 1commands
case test expression 2commands
otherwisecommands
end• Example:
switch interval < 1case 1
xinc = interval /10;case 0
xinc = 0.1;end
![Page 35: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/35.jpg)
Loops
• for loopfor variable = expression
commands
end
• while loopwhile expression
commands
end
•Example (for loop):for t = 1:5000
y(t) = sin (2*pi*t/10);end
•Example (while loop):EPS = 1;while ( 1+EPS) >1
EPS = EPS/2;endEPS = 2*EPS
the break statementbreak – is used to terminate the execution of the loop.
![Page 36: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/36.jpg)
M-Files
• The M-file is a text file that consists a group of MATLAB commands.
• MATLAB can open and execute the commands exactly as if they were entered at the MATLAB command window.
• To run the M-files, just type the file name in the command window. (make sure the current working directory is set correctly)
All MATLAB commands are M-files.
So far, we have executed the commands in the command window. But a more practical way is to create a M-file.
![Page 37: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/37.jpg)
User-Defined Function
• Add the following command in the beginning of your m-file:function [output variables] = function_name (input variables);
NOTE: the function_name should be the same as your file name to avoid confusion.
calling your function:-- a user-defined function is called by the name of the m-file, not the name given in the function definition.-- type in the m-file name like other pre-defined commands. Comments:-- The first few lines should be comments, as they will be displayed if help is requested for the function name. the first comment line is reference by the lookfor command.
![Page 38: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/38.jpg)
Specific Topics
• This tutorial gives you a general background on the usage of MATLAB.
• There are thousands of MATLAB commands for many different applications, therefore it is impossible to cover all topics here.
• For a specific topic relating to a class, you should consult the TA or the Instructor.
![Page 39: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/39.jpg)
Questions?
![Page 40: Introduction to Matlab](https://reader036.fdocuments.us/reader036/viewer/2022070405/56813ca6550346895da655f1/html5/thumbnails/40.jpg)
Topics
• Introduction• MATLAB Environment• Getting Help• Variables• Vectors, Matrices, and Linear Algebra• Mathematical Functions and Applications• Plotting• Selection Programming• M-Files• User Defined Functions• Specific Topics