introduction to matlab 1. outline: what is matlab? matlab screen variables, array, matrix, indexing...
TRANSCRIPT
![Page 1: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/1.jpg)
Introduction to Matlab
1
![Page 2: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/2.jpg)
Outline:
• What is Matlab?• Matlab Screen• Variables, array, matrix, indexing • Operators • Plotting• Flow Control• Using of M-File• Writing User Defined Functions
2
![Page 3: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/3.jpg)
3
– MATrix LABoratory: MATLAB is a programing language for doing numerical computation. It was originally designed for solving linear algebra type problems using matrices. It’s name is derived from MATrix LABoratory.
– MATLAB has since been expanded and now has built-in functions for solving problems requiring data analysis, signal processing, optimization, and several other types of scientific computations. It also contains functions for 2-D and 3-D graphics and animation.
– Official website: www.mathworks.com
What is Matlab?
![Page 4: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/4.jpg)
What is Matlab?• Matlab is a high level programming language• You don’t need to compile the code before
running• Executes line-by-line
Assembly Language
Languages such as C, Pascal , Fortran, etc.
Matlab, Basic,..
4
High level
Medium level
low Level
Machine Code, Firmware ,Binary Digits
![Page 5: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/5.jpg)
What are we interested in?• The main features that you need to know
include:
Matlab
CommandLine
m-files
functions
mat-files
5
Data storage
/ loading
Command execution like DOS
command window
InputOutput
capability
Series of Matlab
commands
![Page 6: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/6.jpg)
• Workspace– View program variables– Double click on a variable to see it in the Array Editor
• Command Window– type commands
• Current Directory– View folders and m-files
• Command History– view past commands– save a whole session using diary
Workspace
Current DIrectory
Command Window
History
Matlab Screen
6
Help
Menu &Toolbars
![Page 7: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/7.jpg)
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 1x1 matrices with double precision
• MATLAB is case sensitive, i.e. small and capital letters are different. ( A ≠ a)
int a;double b;float c;
Example:>>x=5;>>x1=2;
7
![Page 8: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/8.jpg)
Array, Matrix• a vector x = [1 2 5 1]
x = 1 2 5 1
• a matrixx = [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
8
![Page 9: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/9.jpg)
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]
x = 1 2 3 4 5 6 7 8
9
![Page 10: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/10.jpg)
Generating Vectors from functions• zeros(M,N) MxN matrix of zeros
• ones(M,N) MxN matrix of ones
• rand(M,N) MxN matrix of uniformly distributed
random numbers on (0,1)
x = zeros(1,3)
x =
0 0 0
x = ones(1,3)
x =
1 1 1
x = rand(1,3)
x =
0.9501 0.2311 0.6068
10
![Page 11: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/11.jpg)
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.
11
![Page 12: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/12.jpg)
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.
12
![Page 13: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/13.jpg)
Operators+ addition- subtraction* multiplication/ division^ power‘ complex conjugate transpose
13
![Page 14: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/14.jpg)
Operators (Element by Element)
.*element-by-element multiplication
./ element-by-element division
.^element-by-element power
14
>> A=[ 1 2 3]
A =
1 2 3
>> B=[ 2 1 3]
B =
2 1 3
>> A.*B
ans =
2 2 9
Given A and B:
![Page 15: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/15.jpg)
Matrices Operations
Given A and B:
Addition Subtraction Product Transpose
15
![Page 16: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/16.jpg)
The use of “.” – “Element” Operation
K= x^2Erorr: ??? Error using ==> mpower Matrix must be square.B=x*yErorr:??? Error using ==> mtimes Inner matrix dimensions must agree.
A = [1 2 3; 5 1 4; 3 2 1] A = 1 2 3 5 1 4 3 2 -1
y = A(3 ,:)
y= 3 4 -1
b = x .* y
b= 3 8 -3
c = x . / y
c= 0.33 0.5 -3
d = x .^2
d= 1 4 9
x = A(1,:)
x= 1 2 3
16
![Page 17: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/17.jpg)
Solving the linear system of equations
A = [1 2 3; 5 1 4; 3 2 1] A = 1 2 3 5 1 4 3 2 -1
B = [-5; -1; 5 ]B= -5 -1 5
X =inv(A)*B
X =
2 1 -3
X =A^-1*B
X =
2 1 -3
X =A\B
X =
2 1 -3 17
1
2
3
1 2 3 5
5 1 4 1
3 2 1 5
x
x
x
More efficien
tMethod #1: Method #2: Method #3:
![Page 18: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/18.jpg)
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
18
![Page 19: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/19.jpg)
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
>>x=linspace(0,4*pi,100);
>>y=sin(x);
>>plot(y)0 10 20 30 40 50 60 70 80 90 100
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
19
Plotting
![Page 20: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/20.jpg)
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
>>x=linspace(0,4*pi,100);
>>y=sin(x);
>>y1=exp(-x/3);
>>y2=y*y1;20
Error using * Inner matrix dimensions must agree.
Plotting
![Page 21: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/21.jpg)
Plot the function e-x/3sin(x) between 0≤x≤4π
• Multiply the arrays y and y1 correctly
• Plot the y2-array
>>y2=y.*y1;
>>plot(y2)
0 10 20 30 40 50 60 70 80 90 100-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
21
Plotting
![Page 22: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/22.jpg)
Plotting
• plot(.)
• stem(.)
Example:>>x=linspace(0,4*pi,100);>>y=sin(x);>>plot(y)>>plot(x,y)
Example:>>stem(y)>>stem(x,y)
0 10 20 30 40 50 60 70 80 90 100-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0 10 20 30 40 50 60 70 80 90 100-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
22
![Page 23: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/23.jpg)
• title(.)
• xlabel(.)
• ylabel(.)
>>title(‘This is the sinus function’)
>>xlabel(‘x (secs)’)
>>ylabel(‘sin(x)’)0 10 20 30 40 50 60 70 80 90 100
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1This is the sinus function
x (secs)
sin(
x)
23
Plotting
![Page 24: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/24.jpg)
24
>> x = [0:0.1:2*pi];>> y = sin(x);>> plot(x, y, 'b*-')>> hold on>> plot(x, y*2, ‘r.-')>> title('Sin Plots');>> legend('sin(x)', '2*sin(x)');>> axis([0 6.2 -2 2])>> xlabel(‘x’);>> ylabel(‘y’);>> hold off 0 1 2 3 4 5 6
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2Sin Plots
x
y
sin(x)
2*sin(x)
Multiple Plots
![Page 25: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/25.jpg)
25
>> x = [-3 -2 -1 0 1 2 3];>> y1 = (x.^2) -1;>>% Plot y1 on the top>> subplot(2,1,1);>> plot(x, y1,'bo-.');>> xlabel('x values');>> ylabel('y values'); >>% Plot y2 on the bottom>> subplot(2,1,2);>> y2 = x + 2;>> plot(x, y2, 'g+:');
Subplot
![Page 26: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/26.jpg)
2626
contourf-colorbar-plot3-waterfall-contour3-mesh-surf
3 D Surface Plot
![Page 27: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/27.jpg)
Flow Control
• if • for • while • break • ….
27
![Page 28: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/28.jpg)
Control Structures • If Statement Syntax
if (Condition_1)Matlab Commands
elseif (Condition_2)Matlab Commands
elseif (Condition_3)Matlab Commands
elseMatlab Commands
end
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
28
![Page 29: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/29.jpg)
Control Structures
• For loop syntax
for i=Index_ArrayMatlab 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
29
![Page 30: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/30.jpg)
Control Structures
• While Loop Syntax
while (condition)Matlab Commands
end
Example
while ((a>3) & (b==5)) Some Matlab Commands;end
30
![Page 31: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/31.jpg)
Use of M-FileClick to create a new M-File
• Extension “.m” • A text file containing script or function or program to run
31
![Page 32: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/32.jpg)
Use of M-File
If you include “;” at the end of each statement,result will not be shown immediately
Save file as Denem430.m
32
![Page 33: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/33.jpg)
Writing User Defined Functions
• 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
function out1=functionname(in1)function out1=functionname(in1,in2,in3)function [out1,out2]=functionname(in1,in2)
33
![Page 34: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/34.jpg)
Writing User Defined Functions • 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
Same Name
34
![Page 35: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/35.jpg)
Writing User Defined Functions • 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
35
![Page 36: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/36.jpg)
Notes:• “%” is the neglect sign for Matlab. 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
• To break an execution in the middle you can press CTRL+C.
pause %wait until any keypause(3) %wait 3 seconds
36
![Page 37: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/37.jpg)
Useful Commands
• The two commands used most by Matlabusers are>>help functionname
>>lookfor keyword
37
![Page 38: Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing](https://reader033.vdocuments.site/reader033/viewer/2022061614/56649e4b5503460f94b40850/html5/thumbnails/38.jpg)
Questions
38