matlab tutorial - university of waterloo

45
Matlab Tutorial

Upload: others

Post on 18-Dec-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Matlab Tutorial

�� � �� � ��� � � �� � � � � � � � � � � �� � � � �� � � � � �

���� � �� ��� � � !

"

Outline

� � � �� � ��� � � � ��

� ��� � � � � � � �� � �

� � � �� � � � � � � � � � � �

� � �� � � � � �

� � � �� �� � � � � � � � � ��

� � � � � � � � � � � ��

What is Matlab?

� � � � � � � � � ��� ��� ��� � ���

� �� � �� ��� �� � � ���� � � ��� � ��� !"� � � # $% &' � � � � � �( � � $ � % � � �

� ! � � $% ) � � � � � ' % � � � $% &' � � � � $ �+* � �( �� � �� � � & ! � � � � �

( ��� ' � # ��, � � � $ �+* � � � � ! �� !.- #�( � # & � $� � �% % � � � # �� � ' �� �+/

0 12 3 14 576 8 9": ;=<> ?: 6 ;"@ < ;> A B B: 6 8 C 5 A6 > B A@D

E FHG CG G 6 G 9JI > 5> G 6 ;JK 5> : G 9 5ML G C 5 A6

E N : O< @ 5 8 G 6 ;> I O P A 9 5 8 8 A OQ : CG C 5 A6

E RM6 S 576 < < @ 576 S G 6 ;> 8 5 < 6 C 5 T 8 S@ G Q ? 5 8>

E 0 A ; < 9 576 SVU > 5 O: 9G C 5 A6 U G 6 ; Q @ A C A C I Q 576 S

E W @ A S@ G O O 576 SVU G Q Q 9 5 8G C 5 A6 ; < K < 9 A Q O< 6 C U G 6 ; XYZ ; <> 5 S6

[

Getting Started

� � � � �� �� � ��

� � �� � � � � � � � � �

� � � ��� �� �� � ��� � � �

� � � � ��� ��� � � � ���� �� � � � � �� � � � � � � �� � � �� � � � � � � �

�� � �� ���� �� � � �� �� � � �� �� �� � �� � � �� � � �� �

Running Matlab

� � � � � � �� � � �� �

� �� � � �� � �� matlab

� � � � � � �� � �� � �� � � � ��

�� � � � � ��� � � �� matlab -nodesktop -nosplash

� � � � � � � �� � � �

� � � � � �� � � � � � matlab -h

� �� � � � �� � �� � � � � �� � � � � � � � �� � � � � � � �� � � � �

�� ��� �� � � � � � � � � � ����� �� � � �� � � �� � �� �� � � � � � ! � " � #

! �� $ ��

�� ��� % � � � � ! �� � � � � &� � (' � " � � � � � � � � � � � ) �� $ ��

E Y > < 0G C 9G P* + , A@ 9G C < @ B A@ G 9 9 G > > 5 S6 O< 6 C>

-

�� � � ! �� �� � � � � � � �� � �� " � ! � � � � �� ! � � ! &

� � � � � �

%� #� �� & � � �� � � � � �� & � � � � &� � � � !�� � � ��

� �� ! � � �� �� �� � � � � � � � � � � � � ! � � �

� � � � � � � ��

� � � � ! � �� � � "� � # � � � � � � & � ! �� & � � � �� & � � " � ! �� � � " � ���

� � � � " � � � � � � � � � � �� $ ! � � � �� � � � & � � � � !� �� ��

� �

!

How does Matlab work?

� ��� � � � �� � � � � � � � � � �

� �� � � � � � �� � � � � � � � �� �� � � � � � � � � � ��

� � � � � � � � � � �� �

� � � � � � � � � � �� � � � � � � � � � � � � � � � �� � � � � �� � � � � � �

� � � � � � �

� � � �� � � � � � �� �� � � � � � � � � � � � � � � � � � � �� � �� �

� � � �� � � � �� �� �� � �� � �� � � �� � �� � � � � � � � � � � � � � � � � �

� � which � � � �� � � � � �� � � � � �� � �

Basic Operations

� � ��� � � � �� � � � � �� � � � � �

� � � � � � � �� � � � � �� �� � � ��

� � � � �� � � �� �� �� � � � ��

� � � � � � � � � � � � � � � � � � � � � � � � � � � �� �� � � � � �

��� � �

� ��

� � �� � �� � � � � � � � � � � � � �� � � � � � � �� � � �

� � � � � �� � � � � � � � � � � �� �� � �

Basic Example 1

� � ��� �� � � � � � � �

� �

� � �

� � �

� � � � ! � � �� �

� � � �� � � � � ! �� � � � �

� � � �� � � � � � " � � � ! � � ! � � ! � �� � � ��

� � � � ! � � �� ��

� � ! � �� � ��

�� � �

Basic Example 2

� � ��� �� � � � � �

� �

� �

� �

� � �� �

� � ! �� � �

� � � �

� � �� � �

� � ! �� �

� � �

" �

Transposes

� � � � � �� � � � �� � � �� � �� � � � �� � � �� � � �� � � � �

� ��� � � � � � � � � � � � � � �� � � � � � � �� � �� �� �

� � � ��� �� � � � �� � � � � �

� ��� � � � � � �� � � � � �� � � � � � �� � � � � �� � � � � � �� � � � �

� � ��� � ! �

�� � � � � � �� � � � �

�� � � � � � �� � � � �

�� � � � � � �� � � � �

� � �� �

� � ! ��� � � � � � �� � � � �

�� � � � � � �� � � � �

�� � � � � � �� � � � �

" "

Basic Example 3 - Solving Ax=b

� � ��� �� � � �� � � � � � �� � � � �� � �� � � �

� � � � �� � � � � � � �

� � � � � ��

� �

�� � � � �

� �� � � � �

�� � � � �

� � � � � $ � � � � �

� �

�� � � � �

� �� � � � �

�� � � � �

" �

Useful commands

� ��� ��� � � � � � � � � �� � � � � � � � � � � � � � � �

� ��� � � � � � �� � � � �� � � � � � �� �

� �� � � � � � � � � ��� � �� �

� � � � � � � � �� � � � �� � � ��

� � ��� � � � � � �� � � �� � � � � �� �

� � �� � � � �� � � � � �� � � � � � � �� � � ��

� � � � � � � � � �� � � � �� � �� �� � � � � � � � � � � �

� � � � � � � � � � �� � � � � � � � � � �" [

help

� ��� ��� ��� � � � � � � � � �� �� � � � � � �� � �� � � � � � �� � � � � � � � �

� � �� � ��� � � � � � � � � � � � � � �� � � � � � � � �

� � � � � � � � � � �� � � � � � � �� � � � � � � � � �� � � � � ��

� � �� � � � �� � � � �� � � � � � �

� � �� � � � � � � � �� � � � � � � � � �� � � � � � �� � �� � �

� ��� � � � � � � �� � � � � � � � � � � �� � � � � � �

� ��� ��� � �� �� � �� � � �� � �� � �� � � � � � �� � � � � � � � �� � � �

" �

lookfor

� � � � � � � �� � � � � � � � � � � �� � � � � � �

� ��� � � � � �� � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �

� ��

� ��� � � � � � �� � � � ��� �� � � � � � � � � � � � �� � � � � � � ��

� � � � � � � � � �� �

� � � � � � � � ��

" -

more

� �� � � � � � � �

� �� � � � � � � � � � � � � � � � � �

� � � �� � � � � � � � � �� more � � � �� �

" !

clear

� � � � � � � � � �� � � � � � �� � � � �

� � � � � � � � � � �� � � � � � � �� � � �� � � � � � � � � � �� � �

� � � � � � � � �� � � � � � � �� � � ��

� � � � � � � � � � � �� �� �� �� � �� � �� � �� � � ��� � � � � � � �� � � � � � ��

� � � � � � �� ��

� � � � � � � � � � � � � � � � � � � � � � � � �� � � ��

� � � � � � � � � � �� � � �� �� � � � �" �

close

� � ��� � � � � � �� � � � � � � � � �� �

� � ��� � � � � � � � � �� � � � � � �� � � �� �� �

� ��� � � � � � � � � � � � �� � � ��" �

whos

� � �� � � �� � � � � � �� � � ��

� � �� � � � �� � � � � � �� � � ��� � � � � ��� � � � � �� � � �

� � � &� !

� � � � ) ' � � # � � ! % � � ! !

� � ! � � � � � � � & �� �� � � #

� � �� � � � � � � "� �� � � �� � � #

# � �� � � � � � � "� �� � � �� � � #

' � �� � � � � � � "� �� � � �� � � #

�� � � " � � � �� ! � � � � � � � � � � ! � ! �� �� �� � # � � !

E Y > < B: 9 5 B I A : �< < Q S< C C 576 S G @ @ G I > 5ML < O 5> OG C 8 ?<> � @ < O< O P < @ C ?G C

0G C 9G P 5> ��� A > < C

" �

format

� � � � � �

� � ! ��� � � � �

E � � � � � � � � � ��

� � � � �

� � ! ��� � � � � � � � � � � � � � �

E � � � � � � � ! &� � � �

� � � � �

� � ! ��� � � � � � � � �

E ?< 9 Q B A@ OG C

� �

Command line tricks

� � � � �� � � �� � �� � � �� � � � � �� � � � � � �� � ��

� ��� �� � �� � � �� � � � � � �� � � � � � � � � � � � �� � � � � � �� � �

� � � � � �� � � � � �

� � � � � � � �� � � � � �� � � � � �� � �� � � � � � � � � � � �� � � � �

� �� � � � �� � � �� � � � �� � � � � � � � � � � � � � � � � �� � � � �� � ��

� � � � � �� � � � � � � � � � � � � � �� �� � � � � � ... � � � � � � � �

� � � � � �

� "

Constructing Matrices

� �� � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � �� ��

� �� � � �� �� �

� ��� � ones � zeros

� ��� � � � � � � � � � � � � � �

� � � � � �� � � � � � � �� �� �� � � � � �� � �

� � � � � �� � � � � � �� �� � � �� �� �� � � � � � �� � �

� � � � � � � � � � � � � �� � � �� � �

� � � � � � �� � � � � � � � � � � � � � � � � �� � �� � � �� � � � � � � � �� � � � �� �

� � � � � � � � � � � � � � � � � �� � � �� � � � � � � � � � � � � � � � � � �

� � � � �� � � � � � � � � �� � � � � � � � � �

� �

Example

� � �� � ' � � � ! � � � � �

�� �

� � �

� � �� � � � � ! � � �

�� �� � �

� � �

� � �

� � � � � �� ��� � � � �� � ��� � � ��� �� � � �

� � �

� � �

� � �

� � �

� [

Dimensions of Matrices and Vectors

� � ��� � � � � �� � � � ��� � � � � � � � � � � � �

� � � ��� �� � � � � � � �

� �

� � �

� � �

� � � � � � � ! (' � � � �

��

��

� � � � �� � � � �

� �

� � � �

� � � � �� � & �� �

� � ! ��

� �

Control Structures

� � � � � � � � � � �

� � � � �� ��

� � � � �� ��

� � � � � � � � � � � � � � � � �

� � �

� � �

E � ? 5 9< 9 A A Q >

�� � � � � � � �

� � � � � �

� � �

� -

Control Structures (cont.)

� � � � � � � � � �

� �� � � ! ! � �

! � � � � � � � � !

� � ) � � �� � � ! ! � �

! � � � � � � � � !

��

�� � ) �

! � � � � � � � � !

� � �

� !

Relational and Logical Operators

� � �� � � � � � �� � � � �

� � �� � � �� � � %� �� �

E 3 A S 5 8G 9 A Q < @ G C A@>

� � � � �� %

� � � � � �

� � � � �

� � � �

E � � ��� �� �

� �

� � � � � � � � �

� � � � � � � � � � � � � �

� �

� � � � � � � � �

� �

Vectorizing Loops

� � � ! � � � � �� � ! � �� � � � � � �� � � � � � � � �

� � � � � �� � � �� � & � � ! � � � � �� � ! �

� ! � � � � �� � ! � � � � � � � ! � � � � �� � ! � � � � � � � � �

� � "

� � � ! � � � � �� � !

� ! � � � � �� � ! �

��� � � �� � �� � � � � � �� � � �� � �� � � � � � �� � � � �

� �� � �� � � �� � �� �

� � � ! � � � � �� � ! � �� � � � � � �� � � � � � � � �

� � � ! � � � � �� � ! � � � � � ! � � � � �� � !� � � � � � �

� ! � � � � �� � ! �

��� � � �� � �� � � � � � �� � � �� � �� � � � � � �� � � � �

� �� � �� � � �� � �� �

� �

Script files

� � � �� � � � � �� � �� � � � � � � �� � � �� � � � �� � � �� � � � � � � � � �

� � � � � � � �� � � � � �� � � � � � � �� � � � � � � � � � � � � � � ��

� � � � � � � � �� � � � �� � � �� � � � � � � � �

� � � � � � � � �� � � � � � � � � � � �� � � � � � � �� � � � �� �� � � � � ��

� � �� � � �� � �� � � � � � � � � � � �� � � �� � � � � � �� � � � � �

� � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � �� �

� � � � � � � �� � � ��

� � � � � � � �� � � � � � �� � � � � � � �� � � � � � � �� � � � �

� �

Script Example

� � � �� �� � �

� � � ! � �� � �

� � � � �� " � � �

� � � � � � � � � � � � � � � �

# � � � � � � � � � � � � � � � �

�� � � �� � & �� � �

� � � � �� (' � �

� � ' �� � ! � ! ' � �� � � �

� % &� � ! � � � � � � �� � � � �� � &

� � � �� �

" � � ! �� � � �� � � �� � � � � � � � � � # � � � # � � � � � � � � �

� � � � � � � � � � " � �

� � "

[ �

Function Files

� � � � � � �� � � � �� � � �� � � � � � � � � �

� � � � � � �� � � �� � � � � � � � � � � � � �� �

� �� � � � � � � � � � �� � � � � � �� � � � �� �� � � � �� � � �� � � �� � � �

� � �� �

� �� � � � � � � �� � � � � �� � � � � � � � � � � � � �� ��

� � � � � � � �� � �� � � � � � � � � � � � � � � �� �� � � � � � � �

� � � �� �

return�� � � � �� � � �

[ "

Function Example

� � � � � � � � � � � �� � ! � � � � � � � � � " � �� � ! � � � � &� " �

� � & � � � $ �� � � �� ! & � � � ! " ! � � # � " � & � � � & � � ! ��

� � # � ! � & � � � � � � �

� & ! � � � � � � �� � � � �� � � & � & � � � �� �

� � � &� "� � �

� � � � �� � ! � � � � � � " � �� � !� � � � � � � �

� � ! � � � � &� "� � �

� � � � �� � ! � � � " � �� � ! � � � � � � � ! � � � � � �� � & � � � " � �� � ! � � �

� � ! �� � � � �� � ! � � � " � �� � ! �

� � "� � � �� �

[ �

Function Example

� � & � � � � � �

� & � � � $ �� � � �� ! & � � � ! " ! � � # � " � & � � � & � � ! ��

� # � ! � & � � � � � � �

� � �� �� � � � � � � � � � � � � �

� � � � � � � �� � �

� � ! �� �� � � � � � �� � � � � � �� � � � � � �� � � � � � �� � �� � � �� � �� �

� � ��

� � � � � � � � � �� � �

��

� � � �� � � � � � � � � � � �

[ [

Debugging

� � � � ��� ��� �� �� �

� � � � � �� �� � �� � � � � � � � �

� � � � � � �� � � � � � � � � � � � � � � � � � � �

� � � �� � � � � � � � � � � � � � � � � � � � � � �

� � � � �� � � � � � � � � � � � � � � � � �

� � � � � � � � � �� � � � � ��� � � �[ �

Text Strings

� ��� � � �� � � � �� � �� � � � � � � � � � � �� � �

� ��� � � � � � �� � ��� � � � � � � � � � � � � � �� � � � �� � � � � � � �

� � �� � � � �� � � � �� � � ��

� � � � �� � � � � � �� � � �� �� � � � � � � � � � � �� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � �� � � �� � � � � � � � � �

� � � �� �

� � �� � �

� � � � � �

� � � � � � � � � � � � � �� ! � � � � � � � � � � �� ! � � � � � � �

� � " ! � � �

� � � � � � �

[ -

Graphics

� � � �� � �� � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � �

� �

� � � � � � � � � � �� � � �� � �� � �� � � � �� � � � �� � � �� � � �� � �� � � � � � � �

� � � �� ��

� � � �� � � � � �� � �� � �� � � �� � � � � � � � � � �� � � � � � �� � � ��

� � � � � � � � � � � �� � � �� � �� � �� � � � � � � � � � � � � �

[ !

Plots

� � ��� � ��� �

� � � � � � � � � � � � � � � � �� �

� � ��� � ��� �� � � � � � � � � � � � � � � � � � � �� � �� � � � �� � �� � � � � � � �

� � � � �� � � � � � � � � �� � � �

� ��� ��� � ��� � � � � � � �� � � � � � � � � � � � � �� � � �

� � � � � � � �� � �� � � � � � �� � � � � �� � � � � �� ��

� ��� � �� � � � � � � � � � � � � � �� � �� � � � � � � �

� � � � �� � � �

� � � � � � � �� � �� �� � � �� � � � � � � � � � � � � � �� �� �

� � � �� � �

[ �

2D plots

� � � � ��� �� � � � �

� � #�

� �� � �

� � #�

� � � "� ��� � � �

� � ! �� � � � � � � � � � �� � � � �� � #

�� �� � � �� � �

� � � � � � � � � � � �� � � � � � �� �

� � � � �� � � � � � �� ! � �

� � #� �� � � � � � �� ! � �

� � ! �� � � � � � � � � � �� � � � �� � #

� � � "� � � � � � �

� � � � � � " � ! �� �� � !

� � � � � ! �

[ �

1 2 3 4 5 6 7 8 9 100

2

4

6

8

10Linear Function

X axis

Y a

xis

1 2 3 4 5 6 7 8 9 100

20

40

60

80

100[ �

2D plots (cont.)

� � � � � � ! � � � � � � � �� � � � �

� � #�

� �� �

#�

� ��� � � � � � � � � � �

� � #�

� � � � � � � ! � � � � �� � � � � �

#�

� � � �%� � � � � ! � � &� � �� & �

�� � � � � �� � � � � �� � �� � �� � � � � �� �� � � �� � � � �

%� � � � � ! � � &� � �� & � �

�� � �� � �� � � �� �� � �� � � �� � � � �

� � � � � �� � #�

� �� � � �� � �

� � &� � " � �

� � � � � �� � #�

� � � � � � � � � �

� � �� ! � � � � � � � � � �

� � � �� � � " � � � � � �� � � � �� � � � � � �� � �

� �

0 5 10 150

1

2

3

4

5

6

7

8

9

10

11

linear exponential

� "

3D plots

� � �� �� �

� � � � � �� � � � � �� � � � �

� � #� � �

� � ' � ! � �� � � � �� ! � # � �

� � ! �� �� � #� ' �

� � �� � � � � � � � � � � � � �

� � $ � � � � � �� � � �

� � � � � � " � ! � � ! & � "� � !

� �

01

23

45

67

01

23

45

67

−1

−0.5

0

0.5

1

� [

Efficiency Issues

� � � � � ��� � � � �� � � � � � �� � � �� � � � � �

� �� � � � � � � �� � � �� � � � � � �� � � �� � � � � �

� � � � � � � � � � � � � �� � � �� � � � � � � �

� � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � �� � � � �

� �

Summary

� ��� � help � �

lookfor � � � � �� �� � � � ��

� ��� � more on � � � � � � � � � � � � � � �� �� � �� � � �� � � � � � � � � � �� � ���

� � � � � � � � � � �� � � � � �� � � � ��� � � � � � � �� � � � � � �� � � ��

� � �� � � � ��

� ��� � � � �� � � �� � � � � � � � � � � � � � �� � � � � � �� � � � ��

� � � � � �� � �� � � � �� �� � � �� � � � � � � �� � � �� � � � � � � �

� �� � � � � �� � � � � � � � � � � � � � �� � � ��� �� � � � � � � ��

� � � � � � � �

� -