Tải bản đầy đủ (.pdf) (116 trang)

Giải tích mạch và mô phỏng trên máy tính bài giảng dành cho sinh viên Đại học và cao đẳng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.42 MB, 116 trang )

TR NGă IăH CăPH MăV Nă NG
KHOA K THU T-CỌNG NGH
------

BÀIăGI NG

GI I TÍCH M CH VÀ
MÔ PH NG TRÊN MÁY TÍNH
(B C:ăCAOă

NG)

GV:
Tr ngăQuangăSanh
B MÔN: i n- i n t
KHOA:
K thu t-Công ngh

Qu ng Ngãi, 2014

0


TR NGă IăH CăPH MăV Nă NG
KHOA K THU T-CỌNG NGH
------

BÀIăGI NG

GI I TÍCH M CH VÀ
MÔ PH NG TRÊN MÁY TÍNH


B C:ăCAOă

(45ăti t)

GV:
B MÔN:
KHOA:

NG

Tr ng Quang Sanh
i n- i n t
K thu t-Công ngh

Qu ng Ngãi, 2014

1


L I NịI

U

i u khi n t đ ngăhóaăđóngăvaiătròăquanătr ng trong s phát tri n c a khoa
h c và k thu t.ă L nhă v c này s d ng r t r ng rãi t h th ng phi thuy n không
gian, h th ngăđi u khi n tên l a, máy bayăkhôngăng

iălái,ărobot,ăng

i máy tay,


máy trong các quá trình s n xu t hi nă đ i và ngay c trongă đ i s ng hàng ngày:
i u khi n nhi tăđ ,ăđ

m,ăầ

Khi các máy móc hi năđ i ngày nay càng ph c t păh nănhi u tín hi u vào và
ra thì vi c mô t h th ngăđi u khi năđòiăh i c n ph i tính toán nhanh và x lý m t
l

ng l n các l nh ph c t p.
Nh m t o k n ngă l p trình và mô ph ngă đ gi i quy tă cácă bƠiă toánă đ i s ,

ph

ngătrìnhăviăphơn,ămaătr n, các bài toán v ph

ngătrìnhătoánălý,ătrongăk thu t

đi n,ăđi n t , t đ ngầăBƠiăgi ngă“GI I TÍCH M CH VÀ MÔ PH NG TRÊN
MÁY TÍNH”ăs giúp cho chúng ta tìm hi u nh ng n iădungăc ăb n nh t v Matlab
vƠăSimulinkăc ngănh ă ng d ng gi i quy t nh ng bài toán k thu tăđi năđ năgi n.
N i dung c a bài gi ng g mă8ăch

ng:

Ch

ng 1: Các khái ni m c b n


Ch

ng 2: Tính toán trên các m ng s

Ch

ng 3: Nh p - xu t d li u trong MATLAB

Ch

ng 4: Các l nh đi u khi n trong MATLAB

Ch

ng 5: Hàm do ng

Ch

ng 6:

Ch

ng 7: Các bài toán đ i s tuy n tính và ph

Ch

ng 8: Simulink

i dùng t l p


h a trong MATLAB

Do th i gian biên so n có h nă nênă khôngă tránhă đ

ng trình vi phân

c nh ng sai sót, mong

nh ng góp ý xin g i v B mônă i n - i n t , khoa K thu t - Công ngh ,ăTr
i h c Ph măV nă

ng. Trân tr ng c mă n!
Tác gi !

2

ng


M CL C
L IăNịIă

U ............................................................................................................ 2

M C L C ................................................................................................................... 3
Ch

ngă1 ..................................................................................................................... 7

CÁC KHÁI NI MăC ăB N ...................................................................................... 7

1.1. Gi i thi u ph n m m matlab ............................................................................ 7
1.2. Làm vi cătrongămôiătr

ng Matlab................................................................... 9

1.3. Các l p d li u .................................................................................................. 9
1.4. Bi n và c u trúc m ng c a bi n trong MatLab ............................................... 10
1.4.1. Bi n........................................................................................................... 10
1.4.2. C u trúc m ng c a bi n ............................................................................ 11
Ch

ngă2 ................................................................................................................... 15

TÍNH TOÁN TRÊN CÁC M NG S ..................................................................... 15
2.1. Bi u th c tính toán s ..................................................................................... 15
2.1.1. M ngăđ n.................................................................................................. 15
2.1.2. M ng nhi u chi u ..................................................................................... 16
2.2. Kh i t o các m ng s ...................................................................................... 18
2.3. Các phép tính trên m ng s ............................................................................ 21
2.3.1. Phép toán gi a m ng v i s đ n .............................................................. 21
2.3.2. Phép toán gi a m ng v i m ng ................................................................ 21
2.3.3. M ng v iăl yăth a .................................................................................... 24
2.4. Các hàm toán h c............................................................................................ 26
2.4.1. Các hàm toán h c ..................................................................................... 26
2.4.2. So sánh m ng............................................................................................ 27
2.5. X lý tính toán các m ng s ........................................................................... 28
Ch

ngă3 ................................................................................................................... 34


3


NH P - XU T D

LI U TRONG MATLAB........................................................ 34

3.1. Nh p d li u t bàn phím b ng hàm input ..................................................... 34
3.2. Nh p d li u t chu t b ng hàm menu ........................................................... 35
3.3. Xu t d li u ra c a s l nh b ng hàm disp. Hàm format và các khuôn d ng s 35
3.4. Xu t d li u ra c a s l nh b ng hàm sprintf ................................................. 38
3.5. Xu t d li u ra file b ng l nh save ................................................................. 39
3.6. Nh p d li u t file b ng l nh load ................................................................ 40
3.7. Nh p xu t d li u v iăcácăfileăv năb năcóăđ nh d ng b ng các hàm
fopen, fscanf, fprintf, fclose ................................................................................... 40
3.7.1. Hàm fopen ................................................................................................ 40
3.7.2. Hàm fprintf ............................................................................................... 41
3.7.3. Hàm fscanf ............................................................................................... 42
3.7.4. Hàm fclose ................................................................................................ 42
Ch

ngă4 ................................................................................................................... 44

CÁC L NHă I U KHI N TRONG MATLAB ...................................................... 44
4.1. Các l nh r nhánh:

if ... end, switch ... end ................................................ 44

4.1.1. L nhăifăầăend........................................................................................... 44
4.1.2. L nh switch ... end.................................................................................... 47

4.2. Các l nh l p: for ... end, while ... end ............................................................. 49
4.2.1. L nh l păforăầăend .................................................................................. 49
4.2.2. L nh l păwhileăầăend .............................................................................. 52
4.3. Các l nh chuy n trong vòng l p ..................................................................... 53
4.4. L nh chuy năđ n cu i m-file .......................................................................... 54
4.5. Hàm t m d ng ................................................................................................ 56
Ch

ngă5 ................................................................................................................... 59

HÀMăDOăNG

I DÙNG T

L P ......................................................................... 59

4


5.1. Hàm bi u th c inline....................................................................................... 59
5.2. Hàm m-file ...................................................................................................... 60
Ch

ngă6 ................................................................................................................... 63
H A TRONG MATLAB ................................................................................... 63

6.1. M đ u ............................................................................................................ 63
6.2.ă

h a 2D ....................................................................................................... 65


6.3.ă

h a 3D ....................................................................................................... 67

6.3.1. Các l nh Plots ........................................................................................... 67
6.3.2. Ph i c nhătrongăđ ho 3-D ...................................................................... 69
6.4.ă

h a chuy năđ ng ....................................................................................... 70

6.5. Thi t k giao di năđ h a................................................................................ 72
Ch

ngă7 ................................................................................................................... 76

CÁCăBÀIăTOÁNă

I S TUY N TÍNH VÀăPH

NGăTRÌNH ......................... 76

VI PHÂN ................................................................................................................... 76
7.1. Ma tr n và ánh x tuy n tính .......................................................................... 76
7.1.1. Ma tr n ..................................................................................................... 76
7.1.2 Ánh x tuy n tính: ..................................................................................... 78
7.2 H ph

ngătrìnhăđ i s tuy n tính ................................................................... 79


7.3 Gi i thu t gi iăph
Ch

ngătrìnhăviăphơn ................................................................ 86

ngă8 ................................................................................................................... 90

SIMULINK ............................................................................................................... 90
8.1 Simulink mô ph ng h th ngăđi n,ăđi n t , t đ ng ....................................... 90
8.1.1 T ng quan v Simulink: ............................................................................ 90
8.1.2. Mô ph ng b đi u khi n PID ................................................................. 102
8.1.3 Mô ph ng m chăđi n ............................................................................... 107
8.2 Simulink trong mô ph ngăđoăl

ngăđi n. ...................................................... 110

5


8.2.1ă oădòng: .................................................................................................. 110
8.2.2ă oăáp ....................................................................................................... 111
TÀI LI U THAM KH O ....................................................................................... 115

6


Ch

ng 1


CÁC KHÁI NI M C

B N

1.1. Gi i thi u ph n m m matlab
i v iăl nhăv căđi u khi n - t đ ngăhóaănóiăriêngăvƠătrongăl nhăv c khoa
h c - k thu t nói chung, mô ph ng là công c quan tr ng cho phép kh oăsátăcácăđ i
t

ng, h th ng hay quá trình k thu t - v t lý, mà nh t thi t không ph iă cóă đ i

t

ng hay h th ng th c. Matlab - simulinkăđ

vƠăcácăph

ngăphápămôăhìnhăhóa.

Matlab là m t b ch
b ch

c trang b công c mô ph ng m nh

ngătrìnhăph n m m l n c aăl nhăv c tính toán s . Tên

ngătrìnhăchínhălƠăch vi t t t t MATric LABoratory, th hi năđ nhăh

chính c aăch


ngătrìnhălƠăcácăphépătoánăvectorăvƠămaătr n. Ph n c t lõi c aăch

ng
ngă

trình bao g m m t s hàm toán, các ch că n ngă nh p/xu tă c ngă nh ă cácă kh n ngă
đi u khi n chu trình mà nh đóătaăcóăth d ngănênăcácăđo năch

ngătrìnhăđ th c

thi.
Thêm vào ph n c t lõi là các Toolbox (b công c ) v i ph m vi ch căn ngă
chuyên d ngă mƠă ng

i s d ng c n. Trong ph m vi giáo trình này ch gi i thi u

m t s Toolboxăliênăquanăđ n mô ph ng m ch,ăđi u khi n - t đ ngăhóa.ă

c bi t,

Simulink là m tăTooboxăcóăvaiătròăđ c bi t quan tr ng: M t công c m nh ph c v
mô hình hóa và mô ph ng các h th ng k thu t - v tălýătrênăc ăs s ăđ c u trúc
d ng kh i.
Tr

c khi kh iăđ ngăMatlab,ăthìăng

đ ch aăcácăfileăch

ngătrìnhăc a mình (ví d : E:/thuchanh_matlab).


Matlab s thông d ch các l nhăđ
đ t Matlab thì vi c kh iăđ ng ch yăch
t

i dùng ph i t o m tăth ăm c làm vi c

ng c a nó trên desktop

căl uătrongăfileăcóăd ng *.m. Sau khi cài
ngătrìnhănƠyăch đ năgi n là nh p vào bi u

, ho c vào Start\All Programs\Matlab\Matlab

R2008b.

7


Sauăkhiăđƣăkh iăđ ngăMatlabăxong,ăthìăb
c a mình cho Matlab. Nh n vào bi uăt

c k ti p là ch th ăm c làm vi c
trên thanh công c và ch năth ăm c

ng

làm vi c c a mình (ví d : E:/thuchanh_matlab).
C a s làm vi c c a Matlab s nh ăhìnhăbênăd


i. Nó bao g m 3 c a s làm

vi c chính: C a s l nh (Command Window), c a s th ă m c hi n t i (Current
Directory) và c a s ch a t p các l nhăđƣăđ

c s d ng (Command History).

t o m tăfile.mătrongăth ăm c làm vi c, ta có th th c hi n:
 Nh n vào bi uăt

ng

ho c vào File\New\M-file

 C a s so n th o xu t hi n,ăgõăch
đƣă hoƠnă t t nh n vào bi uă t
(E:/thuchanh_matlab).

8

ng

ngătrìnhăc n thi t vào file. Sau khi
đ l uă vƠoă th ă m c hi n t i


th c thi t p l nhăcóătrongăfile.mătrongăth ăm c làm vi căthìăng

i dùng ch


c năgõătênăfileăđóăvƠăMatlabăs t đ ng th c thi các dòng l nh có trong file.m này.
1.2. LƠm vi c trong môi tr
Matlab là m tămôiătr

ng Matlab
ng tính toán s và l p trình. Gi ngănh ăm t máy tính

c ăb n, nó làm t t c các phép tính toán h căc ăb nănh ăc ng, tr , nhân, chia; gi ng
nh ămáyătínhăk thu t, nó bao g m: s ph c,ăc năth c, s m ,ălogarit,ăcácăphépătoánă
l

ngăgiácănh :ăsin,ăcos,ătang,ầ;ănóăc ngăgi ngănh ămáyătính có th l p trình, có

th l uătr , tìm ki m l i d li u,ăc ngăcóăth t o, b o v và ghi trình t các l nhăđ
t đ ng phép toán khi gi i quy t các v năđ , có th soăsánhălogic,ăđi u khi n th c
hi n l nhăđ đ m b oătínhăđúngăđ n c a phép toán. Gi ngănh ăcácămáy tính hi năđ i
nh t, nó cho phép bi u di n d li uăd

i nhi u d ngănh :ăbi u di năthôngăth

ma tr năđ i s , các hàm t h p và có th thao tác v i d li uăth

ng,

ngăc ngănh ăđ i

v i ma tr n.
Matlab cung c p m tămôiătr

ng phong phú cho bi u di n d li u và có kh


n ngăm nh m v đ h a, t o các giao di năriêngăchoăng

i s d ng GUIs. Thêm

vƠoă đóă Matlabă đ aă raă nh ng công c đ gi i quy t nh ng v nă đ đ c bi t, g i là
Toolbox. Ngoài ra ta còn có th t o ra các Toolbox cho riêng mình.
1.3. Các l p d li u
D li u c a Matlab th hi năd
li uăđ

i d ng ma tr n (ho c m ng) và có các ki u d

c li tăkêăsauăđơy:

- Ki uăđ năsingle,ăki u này có l i v m t b nh nh ngăkhôngăđ

c s d ng

trong các phép tính toán h căvìăcóăđ chính xác kém.
- Ki u double, ki u này là ki u thông d ng nh t c a các bi n trong Matlab.
- Ki u sqarse.
- Ki uăuint8,ăuint16,ăầ
- Ki u char.
- MatLab còn có m t s

ki u d

ki u struct (b n ghi).


9

li u khác cao c pă h n:ă ki u cell,


1.4. Bi n vƠ c u trúc m ng c a bi n trong MatLab
1.4.1. Bi n
Thông th

ng, k t qu c a các bi năđ

c gán cho ans. S d ng d uă“=”ătaăcóă

th đ nhă ngh aă m t bi n,ă đ ng th i gán giá tr cho bi nă đó.ă Khiă nh p tên c a m t
bi n mà không gán giá tr ,ătaăthuăđ

c giá tr hi n t i c a bi n. T t c các bi năđi u

là bi n global trong Workspace.
Gi ngă nh ă nh ng lo i ngôn ng l p trình khác, Matlab có nh ngă quyă đ nh
riêng v tên bi n.ăTr

c tiên tên bi n ph i là m t t , không ch a d u cách, và tên

bi n ph i tuân th theo các quy t c sau:
 Tên bi n có phân bi t ch hoa và ch th

ng.

Ví d : Iterms, iterms, itErms và ITERMS là các bi n khác nhau.

 Tên bi n có th ch a nhi u nh t 31 kí t , sau kí t th 31 s b l đi.
Ví du: mophongvalaptrinhmatlab
 Tên bi n b tă đ u ph i b ng ch cái, ti p theo có th là ch s , d u
g chăd

i.

Ví d : mo_phong_va_lap_trinh_matlab, X356a_b_c
 Kí t ch mă cơuă khôngă đ

c phép dùng vì nó có nh ngă ýă ngh aă đ c

bi t
Cùng v i nh ngă quyă đ nh trên, Matlab có nh ng bi nă đ c bi t trong b ng
sau:
Các bi năđ t bi t Giá tr
=

Gán giá tr cho bi n

+-*/^

Các phép tính

;

Nh p giá tr (còn gi vai trò d u cách khi nh p nhi u giá tr
trong cùng m t dòng)

,


D u cách khi xu t nhi u giá tr trong cùng m t dòng

10


Eps

C păchínhăxácăt

i j

Toán t

Inf

Vôăcùngă(∞)

NaN

Not a Number

Pi

H ng s

ngăđ i khi s d ng giá tr d u ph yăđ ng

o


1.4.2. C u trúc m ng c a bi n
ti n cho vi c qu n lý và s d ng, ta có th t p h p nhi u bi n l i trong m t
c uătrúc.ăTrongăđóăm i m ng có m tătênăriêngăđ t gi a hai d u (ăằăằ)ăcóăkèmătheoăgiáă
tr . M t c uă trúcă đ

c t o nên b i l nh struct(‘name_1’, value_1, ‘name_2’,

value_2,…)
C u trúc móc vòng
Các c uătrúcăđ

ngănhiênăc ngăcóăth đ

c t o nên móc vòng v i nhau. Ví d

sauăđơyăminhăh a kh n ngăđó:ăTaăkhaiăbáoăm t c u trúc có tên componist v i m ng
đ u tiên có tên là name,ăđ

c gán giá tr là chu i kí t ‘ Quang Ngai’. M t c u trúc

th 2 có tên datum v i 3 m ng Day, Month và Year đ c t gi ngƠy,ăthángăvƠăn mă
sinh.ăSauăđóătaăgánăc u trúc datum vào m ng born c a c u trúc componist:
>> componist = struct('name','Quang Ngai')
componist =
name: 'Quang Ngai'
>> datum.day = 21;
>> datum.month = 'March';
>> datum.Year = 1989;
>> componist.born = datum;
>> componist

componist =

11


name: 'Quang Ngai'
born: [1x1 struct]
Ta gán cho m ng name c a c u trúc componist giá tr m i là chu i ký t ằă
Pham Van DongẲ.ăCácăgiáătr c a m ng born đ

c gán tr c ti p:

>> componist(2).name = 'Pham Van Dong';
>> componist(2).born.Day = 18;
>> componist(2).born.Month = 5;
>> componist(2).born.Year = 2013;
>> componist(2)
ans =
name: 'Pham Van Dong'
born: [1x1 struct]
>> componist(2).born
ans =
Day: 18
Month: 5
Year: 2013
C u trúc componist lúcănƠyămangăđ căđi m c u trúc c a các vector và vì v y
nên có th x lý các ph n t c a c uătrúcăđóănh ălƠăcácăvector.ăTrongăvíăd v a nêu,
cácăvectorăđóăchínhălƠăhaiăm ng name và born:
>> componist
componist =

1x2 struct array with fields:
name
born

12


Tóm l i: Trongă ch

ngă 1:ă Các khái ni m c b n, chúng ta c n n m v ng

cách kh i t o m t file.m, hi uăđ

c các lo i d li uătrongăMatbab,ăc ngănh ăcáchă

đ t tên bi n và các lo i bi năđ c bi t.

ng th iăđ cho ti n cho vi c qu n lý và s

d ng ta có khái ni m c u trúc c a bi n, hi uăđ
d trên.

13

c c u trúc móc vòng thông qua ví


CÂU H I ÔN T P CH

NG 1


Câu 1: Làm th nƠoăđ kh iăđ ng Matlab?
Câu 2: Làm th nƠoăđ đ nhăngh aăm t bi n?
Câu 3: Các quyăđ nhăkhiăđ t tên bi n là gì?
Câu 4: Làm th nƠoăđ khai báo m t ma tr n?
Câu 5: C u trúc m ng c a bi n là gì? Làm th nƠoăđ khai báo m t struct?
Câu 6: Trình bày các l p d li u trong Matlab?

14


Ch

ng 2

TệNH TOÁN TRểN CÁC M NG S
2.1. Bi u th c tính toán s
2.1.1. M ng đ n
2.1.1.1. C u trúc các m ng c b n
- ợ ă t oă m ng,ă taă đ tă cácă ph nă t ă c aă m ngă vƠoă gi aă haiă d uă ngo că vuông,ă
gi a haiăph năt ăc aăm ng cóăth ălƠăd uăcáchăho căd uăph y.
- V iăm ngăcóăs ăl
m ngăcóăs ăl

ngăph năt ăítăthìătaăcóăth ănh păvƠoătr căti p,ănh ngăv i

ngăl năcácăph năt ăthìătaăcóăth ădùngăcácăcáchăsau:

xă=ăfirstă:ălastă:ăt oăvect ăhƠngăxăb tăđ uăt iăfirst,ăph năt ăsauăb ngăph năt ătr


c

c ngăv iă1,ăk tăthúcălƠăph năt ăcóăgiáătr ăb ngăho cănh ăh nălast.
x = first : incrementă :ă lastă :ă t oă vect ă hƠngă xă b tă đ uă t iă first,ă giáă tr ă c ngă
là increment,ăk tăthúcălƠăph năt ăcóăgiáătr ăb ngăho cănh ăh nălast.
x = linspace(first,last,n):ăt oăvect ăhƠngăxăb tăđ uăt iăfirst,ăk tăthúcălƠălast,ăcóăn
ph năt .
x = logspace(first,last,n):ă t oă vect ă hƠngă khôngă giană logarithmă xă b tă đ uă t i
10ăfirst,ăk tăthúcăt iă10ălast,ăcóănăph năt .
Víăd :
>> a=1:5
a=
12345
>> b = [6 7 8]
b=
678
>> c = [a b]
c=
12345678

15


2.1.1.2. Vect hƠng vƠ vect c t
M ngăch aăm tăhƠngăvƠănhi uăc t,ăth

ngăg iălƠăvect ăhƠng.ăM ngăcóăm tăc tă

vƠănhi uăhƠngăg iălƠăvect ăc t.
ợ ăt oăvect ăc t,ătaădùngăd uăch măph yăđ ăphơnăcáchăcácăph năt .ăNgoƠiăra,ă

ta c ngăcóăth ădùngăcácăhƠmălinspace,ălogspace,ăhayăt ăcácăvect ăhƠng,ăsauăđóădùngă
ph

ngăphápăchuy năv .

Víăd :
>> x=linspace(0,pi,5)
x=
0 0.7854 1.5708 2.3562 2.1416
>> y= x'
y=
0
0.7854
1.5708
2.3562
2.1416
2.1.2. M ng nhi u chi u
iă v iă cácă MATLABă versionsă tr

că 5.0,ă m ngă ch ă cóă th ă cóă m tă ho că haiă

chi u.ăT ăMATLABă5.0ătr ălênăthìăs ăchi uăc aăm ngăđƣăt ngălên.ăVíăd :
>> a = [1 0; 0 1]
a=
1

0

0


1

>> b = [2 2; 2 2]
b=
2

2

16


2

2

>> c = [0 3; 3 0]
c=
0

3

3

0

>> d = cat(3,a,b,c)
d(:,:,1)=
1

0


0

1

d(:,:,2)=
2

2

2

2

d(:,:,3)=
0

3

3

0

>> size(d)
ans=
2

2

3


T oăcácăm ngăhaiăchi uăa,ăb,ăc,ăsauăđóăghépăchúngălaiăv iănhauăthƠnhăm ngăbaă
chi uăb ngăcáchăs ăd ngăhƠmăcat. Nh v yăm ngădălƠăm ngăcóăhaiăhƠng,ăhaiăc t,ăvƠă
ba trang. M ngăaăt oătrangăth ănh t,ăbălƠătrangăth ăhai,ăvƠăcălƠătrangăth ăba.ăThôngă
s ătrangădi năt ăchi uăth ăbaăc aăm ng,ăcungăc păm tăcáchăhìnhădungăv ăm ngăbaă
chi uănh m ngăhaiăchi u,ăcácătrangăx păth ăt ăt ăm tăchoăđ năcu iănh trongăm tă
quy năsách.ă
r tăkhóăt

ngăt

iăv iăcácăm ngăcóăs ăchi uăcaoăh n,ăkhôngăcóătên chung,ăvƠănóăc ngă
ng!

17


Thaoătácăv iăm ngănhi uăchi uăc ngăgi ngănh ăcácăth ăt căđ aăraă ătrênăđ iă
v iă m ngă m tă chi uă vƠă haiă chi u.ă NgoƠiă raă MATLABă cònă cungă c pă m tă s ă hƠmă
thaoătácătr căti păđ iăv iăm ngănhi uăchi u:
Choăn_s chi uăc aăA,ătr ăv ăvectorăhƠngăsăv iănă

s = size(A)

ph năt ,ăph năt ăăth ăiălƠăkíchăc ăchi uăth ăiăc aă
m ngăA
ndims(A)

S ăchi uăc aăA,ăt


permute(A, order)

n_s ă chi u,ă t

ngăt ănh ăhƠmălength(size(A))

ngă đ

ngă v iă toánă t ă chuy nă v ă

ch m.
ipermute(A, order)

Ng

căv iăhƠmăpermute(A,ăorder)

shiftdim(A, n)

Thayăđ iăs ăchi uăc aăm ngăAăb ngăs ănguyênăn.

squeeze(A)

Tr ăl iăs ăchi uăduyănh tăc aăm ng,ăt

ngăđ

ngă

v iătr ăl iăs ăchi uăl năh năba.

2.2. Kh i t o các m ng s
V iăm ngăcóăs ăl
m ngăcóăs ăl

ngăph năt ăítăthìătaăcóăth ănh păvƠoătr căti p,ănh ngăv iă

ngăl năcácăph năt ăthìătaădùngăm tătrongăhaiăcáchăsau:

- T oă m tă m ngă b tă đ uă lƠă ph nă t ă 0,ă sauă b ngă ph nă t ă tr
ph năt ăcu iălƠă1,ăt tăc ăcácăph năt ăc aăm ngăđ

că c ngă v iă 0.1,ă

cănhơnăv iăpi:

>> x= (0:0.1:1)*pi
x=
Columns 1 through 7
0

0.3142

0.6283

0.9425

1.2566

1.5708


1.8850

Columns 8 through 11
2.1991

2.5133

2.8274

3.1416

- T oăm ngăg măcácăph năt ăc aăxăb ngăhƠm linspace.ăCúăphápăc aăhƠmănƠyă
nh sau:
linspace(giáătr ăph năt ăđ u,ăgiáătr ăph năt ăcu i,ăs ăcácăph năt )

18


Víăd :
>> x = linspace(0,pi,11)
x=
Columns 1 through 7
0

0.3142

0.6283

0.9425


1.2566

1.5708

1.8850

Columns 8 through 11
2.1991

2.5133

2.8274

3.1416

Cáchăth ănh tăgiúpătaăt oăm ngămƠăch ăc năvƠoăkho ngăcáchăgiáătr ăgi aăcácă
ph năt ă(khôngăc năbi tăs ăph năt ),ăcònăcáchăth ăhaiătaăch ăc năvƠoăs ăph năt ăc aă
m ngă(khôngăc năbi tăkho ngăcáchăgiáătr ăgi aăcácăph năt ).
NgoƠiă cácă m ngă trên,ă MATLABă cònă cungă c pă m ngă khôngă giană theoă
logarithmăb ngăhƠm
logspace.ăCúăphápăc aăhƠmălogspace nh ăsau:
logspace(s m đ u, s m cu i, s ph n t )
Víăd :
>> logspace(0,2,11)
ans=
Columns 1 through 7
1.0000 1.5849 2.5119 3.9811 6.3096 10.0000

15.8489


Columns 8 though 11
25.1189 39.8107 63.0957 100.0000
T oăm ng,ăgiáătr ăb tăđ uăt iă100,ăgiáătr ăcu iălƠă102,ăch aă11ăgiáătr .
Cácăm ngătrênălƠăcácăm ngămƠăcácăph năt ăc aănóăđ
lu tănh tăđ nh.ăNh ngăđôiăkhiăm ngăđ
t ăb ngăcácăph

căt oălênătheoăm tăquyă

căyêuăc u,ănóăkhôngăthu năti năt oăcácăph nă

ngăphápătrên,ăkhôngăcóăm tăm uăchu nănƠoăđ ăt oăcácăm ngănƠy.ă

Tuyănhiênătaăcóăth ăt oăm ngăb ngăcáchăvƠoănhi uăph năt ăcùngăm tălúc

19


Víăd :
>> a = 1:5,b = 1:2:9
a=
1

2

3

4

5


1

3

5

7

9

4

5

b=

>> c = [a b]
1

2

3

1

3

5


7

9

ăvíăd ătrênătaăđƣăt oăhaiăm ngăthƠnhăph nălƠăaăvƠăbăsauăđóăt oăm ngăcăb ngă
cáchăghépăhaiăm ngăaăvƠăb.
Taăc ngăcóăth ăt oăm ngănh sau:
>> d = [a(1:2:5) 1 0 1]
d=
1

3

5

1

0

1

aălƠăm ngăg m cácăph năt ă[1ăă3ăă5],ăm ngădălƠăm ngăg măcácăph năt ăc aăaăvƠă
ghépăthêmăcácăph năt ă[1ăă0ăă1]
Tómăl iătaăcóăb ngăc uătrúcăcácăm ngăc ăb n:
x=[ 2 2*pi sqrt(2) 2-

T oăvectorăhƠngăxăch aăcácăph năt ăđ căbi t.

3j ]
x = first : last


T oăvectorăhƠngăxăb tăđ uăt iăfirst,ăph năt ăsauă
b ngăph năt ătr

căc ngăv iă1,ăk tăthúcălƠăph nă

t ăcóăgiáătr ăb ngăho cănh ăh nălastă.
x = first : increment :

T oăvectorăhƠngăxăb tăđ uăt iăfist,ăgiáătr ăc ngălƠă

last

increment,ă k tă thúcă lƠă ph nă t ă cóă giáă tr ă b ngă
ho cănh ăh nălast.

x = linspace(fist, last, n)

T oă vectoră hƠngă xă b tă đ uă t iă first,ă k tă thúcă lƠă
last,ăcóănăph năt .

20


x = logspace(first, last,

T oăvectorăhƠngăkhôngăgianălogarithmăxăb tăđ uă

n)


t iă10first,ăk tăthúcăt iă10last,ăcóănăph năt .

2.3. Các phép tính trên m ng s
2.3.1. Phép toán gi a m ng v i s đ n
Cácă phépă toánă đ nă gi nă khácă gi aă m ngă v iă s ă đ nă lƠă phépă c ng,ă phépă tr ,ă
phépănhơn,ăvƠăphépăchiaăc aăm ngăchoăs ăđóăb ngăcáchăth căhi năphépătoánăđ iăv iă
t ngăph năt ăc aăm ng.
Víăd :
>> g = [1 2 3 4; 5 6 7 8; 9 10 11 12];
% Tr các ph n t c a m ng g đi 2

>> -2
ans=
-1

0

1

2

3

4

5

6

7


8

9

10
% Nhân t t c các ph n t c a m ng g v i 2 sau đó tr

>> 2*g - 1
đi 1
ans=
1

3

5

7

9

11

13

15

17

19


21

23

2.3.2. Phép toán gi a m ng v i m ng
Thu tătoánăth căhi năphépătoánăgi aăcácăm ngăkhôngăph iăđ năgi nănh ătrênămƠă
nóăcònăb ărƠngăbu căb iăcácăđi uăki năkhácănh đ iăv iăhaiăm ngăkíchăc ănh nhau
thì ta cóăcácăphépătoánăsau:ă phépă c ng,ăphépă tr ,ăphépă nhơn,ăchiaă t
cácăph năt ăc aăc aăhaiăm ng.
Víăd :
>> g

% G i l i m ng g
21

ngă ngăgi aă


g=
1

2

3

4

5


6

7

8

9

10

11

12

>> h = [1 1 1 1; 2 2 2 2; 3 3 3 3]

% T o m t m ng m i h.

h=
1

1

1

1

2

2


2

2

3

3

3

3
% C ng hai ma tr n g và h ( c ng t

>> h + g

ng ng t ng ph n t c a h

v i g)
ans =
2

3

4

5

7


8

9

10

12

13

14

15

% L y k t qu tr

>> ans - h

c tr đi m ng h, ta đ

c l i m ng g.

ans =
1

2

3

4


5

6

7

8

9

10

11

12

>> 2*g - h % Nhân ma tr n g v i 2 sau đó l y k t qu tr đi ma tr n h.
ans =
1

3

5

7

8

10


12

14

15

17

19

21

22


>> g.*h % Nhân t

ng ng các ph n t c a m ng g v i các ph n t c a m ng

h
ans =
1

2

3

4


10

12

14

16

27

30

33

36

ăvíăd ătrênătaăđƣădùngătoánăt ăch m_nhơnă(ă.*ă),ăngoƠiăraăMATLABăcònădùngă
toánăt ăch m_chiaă(ă./ăăho că.\ )ăđ ăchiaăt
d ăd

ngă ngăcácăph năt ăc aăhaiăm ngănh ăvíă

iăđơy:

>> g./h

% Chia ph i t

ng ng các ph n t c a m ng g v i các ph n t c a


m ng h
ans=
1.0000

2.0000

3.0000

4.0000

2.5000

3.0000

3.5000

4.0000

3.0000

3.3333

3.6667

4.0000

>> h.\g

% Chia trái t


ng ng các ph n t c a m ng g v i các ph n t c a

m ng h
ans=
1.0000

2.0000

3.0000

4.0000

2.5000

3.0000

3.5000

4.0000

3.0000

3.3333

3.6667

4.0000

Chúă ýă taă ch ă cóă th ă dùngă phépă nhơn_ch mă hayă phépă chia_ch mă đ iă v iă cácă
m ngăg và h mƠăkhôngăth ădùngăphépănhơnă(ă*ă)ăhayăphépăchiaă(ă/ăho că\ )ăvìăđ iăv iă

cácăphépătoánănƠyăyêuăc uăs ăc tăvƠăs ăhƠngăc aăhaiămaătr năph iăt
Víăd :
>> g*h
??? Error using ==> *

23

ngăthích.


Inner matrix dimensions must agree.
>> g/h
Warning: Rank deficient, rank = 1 tol = 503291e-15.
ans=
0

0

0.8333

0

0

2.1667

0

0


3.5000

>> h/g
Warning: Rank dificient, rank = 2 tol = 1.8757e-14.
ans=
- 0.1250

0

0.1250

- 0.2500

0

0.2500

- 0.3750

0

0.3750

2.3.3. M ng v i l y th a
MATLABădùngătoánăt ă(ă.^ă)ăđ ăđ nhăngh aălu ăth aăc aăm ng.
Víăd ătaăcóăhaiăm ngăg và h nh

ătrên,ătaăcóăth ăt oăcác m ngăm iăb ngătoánăt ă

(ă.^ă)ănh sau:

% Các ph n t c a g đ

>> g.^2

c lu th a v s m là 2.

ans =
1

4

25

36

49

64

81

100

121

144

>> g.^-1

9


16

% Các ph n t c a g đ

c lu th a v i s m là -1.

ans =
1

0.5

0.33333

0.25

0.2

0.16667

0.14286

0.125

24


×