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 là bộ tài liệu hay và rất hữu ích cho các bạn sinh viên và quý bạn đọc quan tâm. Đây là tài liệu hay trong Bộ tài liệu sưu tập gồm nhiều Bài tập THCS, THPT, luyện thi THPT Quốc gia, Giáo án, Luận văn, Khoá luận, Tiểu luận…và nhiều Giáo trình Đại học, cao đẳng của nhiều lĩnh vực: Toán, Lý, Hoá, Sinh…. Đây là nguồn tài liệu quý giá đầy đủ và rất cần thiết đối với các bạn sinh viên, học sinh, quý phụ huynh, quý đồng nghiệp và các giáo sinh tham khảo học tập. Xuất phát từ quá trình tìm tòi, trao đổi tài liệu, chúng tôi nhận thấy rằng để có được tài liệu mình cần và đủ là một điều không dễ, tốn nhiều thời gian, vì vậy, với mong muốn giúp bạn, giúp mình tôi tổng hợp và chuyển tải lên để quý vị tham khảo. Qua đây cũng gởi lời cảm ơn đến tác giả các bài viết liên quan đã tạo điều kiện cho chúng tôi có bộ sưu tập này. Trên tinh thần tôn trọng tác giả, chúng tôi vẫn giữ nguyên bản gốc. Trân trọng. ĐỊA CHỈ DANH MỤC TẠI LIỆU CẦN THAM KHẢO http:123doc.vntrangcanhan348169nguyenductrung.htm hoặc Đường dẫn: google > 123doc > Nguyễn Đức Trung > Tất cả (chọn mục Thành viên)
Trang 32
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:
Do th i gian biên so n có h nănênăkhôngătránhăđ 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 ng
i h c Ph măV nă ng Trân tr ng c mă n!
Tác gi !
Trang 43
M C L 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
Trang 54
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
Trang 65
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 ngătrìnhăviăphơn 86
Ch 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
Trang 76
8.2.1ă oădòng: 110 8.2.2ă oăáp 111
TÀI LI U THAM KH O 115
Trang 87
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ăđ c trang b công c mô ph ng m nh vƠăcácăph ngăphápămôăhìnhăhóa
Matlab là m t b ch ngătrìnhăph n m m l n c aăl nhăv c tính toán s Tên
b ch ngătrìnhăchínhălƠăch vi t t t t MATric LABoratory, th hi năđ nhăh ng
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ă
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 i dùng ph i t o m tăth ăm c làm vi c
đ 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ăđ căl uătrongăfileăcóăd ng *.m Sau khi cài
đ t Matlab thì vi c kh iăđ ng ch yăch ngătrìnhănƠyăch đ năgi n là nh p vào bi u
t ng c a nó trên desktop , ho c vào Start\All Programs\Matlab\Matlab R2008b
Trang 98
Sauăkhiăđƣăkh iăđ ngăMatlabăxong,ăthìăb c k ti p là ch th ăm c làm vi c
c a mình cho Matlab Nh n vào bi uăt ng trên thanh công c và ch năth ăm c
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 ngătrìnhăc n thi t vào file Sau khi đƣă hoƠnă t t nh n vào bi uă t ng đ l uă vƠoă th ă m c hi n t i
(E:/thuchanh_matlab)
Trang 109
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
Matlab là m tămôiătr 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 ng,
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ă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 i d ng ma tr n (ho c m ng) và có các ki u d
li uăđ 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
Trang 1110
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
Trang 12ti 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'
Trang 1312
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';
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
Trang 1413
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ăđ c c u trúc móc vòng thông qua ví
d trên
Trang 1514
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?
Trang 16- ợ ă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 ahaiă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 ngăph năt ăítăthìătaăcóăth ănh păvƠoătr căti p,ănh ngăv i
m ngăcóăs ăl 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
Trang 1716
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ă
Trang 18T 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.ă iăv iăcácăm ngăcóăs ăchi uăcaoăh n,ăkhôngăcóătên chung,ăvƠănóăc ngă
r tăkhóăt ngăt ng!
Trang 1918
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:
s = size(A) Choăn_s chi uăc aăA,ătr ăv ăvectorăhƠngăsăv iănă
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 ngăt ănh ăhƠmălength(size(A))
permute(A, order) n_s ă chi u,ă t 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 ngăph năt ăítăthìătaăcóăth ănh păvƠoătr căti p,ănh ngăv iă
m ngăcóăs ăl 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 căc ngăv iă0.1,ă
ph năt ăcu iălƠă1,ăt tăc ăcácăph năt ăc aăm ngăđ cănhơnăv iăpi:
Trang 20Cá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:
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óăđ căt oălênătheoăm tăquyă
lu tănh tăđ nh.ăNh ngăđôiăkhiăm ngăđ căyêuăc u,ănóăkhôngăthu năti năt oăcácăph nă
t ăb ngăcácăph 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
Trang 21T oăvectorăhƠngăxăch aăcácăph năt ăđ căbi t
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 :
last
T oăvectorăhƠngăxăb tăđ uăt iăfist,ă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(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
Trang 2221
x = logspace(first, last,
n)
T oăvectorăhƠngăkhôngăgianălogarithmăxăb tăđ uă
t iă10first,ăk tăthúcăt iă10last,ăcóănăph năt
Trang 24Chúă ýă 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 ngăthích
Víăd :
>> g*h
??? Error using ==> *
Trang 25MATLABă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 ă
Trang 26C ngăv iăs ăđ n A+c = [a1 +c a2 +c an+c]
Nhơnăv iăs ăđ n A*c = [a1 *c a2 *c an*c]
C ngăm ng A+b = [ a1+b1 a2+b2 an+bn ]
Nhơnăm ng a.*b = [ a1*b1 a2*b2 an*bn ]
Chiaăph iăm ng a./ b = [ a1/ b1 a2/ b2 an/ bn ]
Chiaătráiăm ng a.\ b = [ a1\ b1 a2\ b2 an\ bn ]
Lu ăth aăm ng a.^c = [ a1^c a2^c an^c ]
c.^a = [ c^a1 c^a2 c^an ] a.^b = [ a1^b1 a2^b2
an^bn ]
Trang 2726
2.4 Các hƠm toán h c
2.4.1 Các hƠm toán h c
balance(A) Cơnăb ngăđ ăt ngăđ ăchínhăxác
cdf2rdf(A) Chuy nă t ă d ngă s ă ph că chéoă sangă d ngă s ă
th căchéo
chol(A) Tìmăth aăs ăCholesky
cholinc(A, droptol) Th aăs ăCholeskyăkhôngăđ yăđ
cond(A) S ăđi uăki nămaătr n
condest(A) căl ngăs ăđi uăki nămaătr nătheoătiêu
det(A) nhăth cămaătr n
expm(A) Maătr nătheoălu tăm
expm1(A) B ăsungăM_fileăc aăexpm
expm2(A) Maă tr nă theoă lu tă hƠmă m ,ă dùngă th ă t ă
Taylor
hess(A) M uăHessenberg
inv(A) Maătr năchuy năv
logm(A) Maătr nălogarithm
lu(A) Tìmăth aăs ăv iăphépăkh ăGaussian
luinc(A, droptol) Th aăs ăLUăkhôngăđ yăđ
norm(A) Maătr năvƠăvectorătiêuăchu n
norm(A,1) Tiêuăchu nă1
norm(A, 2) Tiêuăchu nă2
norm(A, inf) Vô cùng
norm(A, p) Tiêuăchu năPă(ch ăđ iăv iăvector)
Trang 2827
normest(A) Tiêuăchu nă2ă căl ngăchoămaătr năl n
null(A) Kho ngăr ng
orth(A) Tínhătr căgiao
poly(A) aăth căđ cătr ng
polyvalm(A) Tínhăgiáătr ăc aămaătr n
qr(A) Xácăđ nhătr căgiaoătamăgiác
qrdelet(Q, R, j) Xoáăc tăt ăth aăs ăQR
qrinsert(Q, R, j, x) Chènăc tătrongăth aăs ăQR
rank(A) S ăc aăhƠngăho căc tăđ căl p
rcond(A) căl ngăđi uăki năthu năngh ch
sqrtm(A) Maătr năg căbìnhăph ng
subspace(A, B) Gócăgi aăhaiăđi m
svd(A) Phơnătíchăgiáătr ăđ n
svds(A, K) M tăs ăcácăgiáătr ăđ n
trace(A) T ngăcácăph năt ăchéo
Trang 29Hàm isequal tr ăl iăgiáătr ălogicălƠăđúngă(1)ăkhiăhaiăm ngăcóăcùngăkíchăc ,ăcác
ph năt ăgi ngănhau.ăNgoƠiăraănóătr ăl iăgiáătr ălƠăsaiă(0)
2.5 X lý tính toán các m ng s
T ăcácăm ngăvƠăcácămaătr năc ăb năc aăMATLAB,ăcóănhi uăcáchăđ ăthaoătácă
đ iăv iăchúng.ăMATLABăcungăc pănh ngăcáchăti năíchăđ ăchènăvƠo,ăl yăra,ăs păs pă
l iănh ngăb ăph năt ăconăc aăchúngăb ngăcácăch ăs ăc aăcácăph năt ăVíăd ăd iăđơyă
s ăminhăho ănh ngăđ căđi măthaoătácăđ iăv iăm ngăvƠămaătr nă ătrên:
Trang 30ăđơyămaătr năAăkhôngăcóă6ăc t,ăkíchăc ăc aămaătr năAăph iăt ngălênăchoăphùă
h p,ăcácăph năt ăt ngăthêmăđ căđi năb ngăcácăconăs ăkhông
Trang 32Khiătaăgánăc tăth ăhaiăc aămaătr năBăchoămaătr năr ngă([])ăthìănóăs ăb ăxoá,ămaă
tr năcònăl iăs ărútăb ăđiăhƠngăth ăhai
Trang 3433
Câu 1: Trình bày cách t o m ngăđ n?ăChoăvíăd ?
Câu 2: Vect ăhƠngăvƠăvect ăc t là gì? Cho ví d ?
Câu 3: Th nào là m ng nhi u chi u? Cho ví d m ng hai chi u?
Trang 35- x: Tên bi năđ c gán giá tr nh p vào;
- prompt: Dòng text mƠăng i s d ngăđánhăvƠo;
Khiăđóăbi n x s có giá tr b ng giá tr mƠăng i s d ng nh p vào
Ngoài ra ta có hàm: x = input (‘prompt’ , ‘s’) tr v chu i kí t Trong khi
th c hi n l nh ta có th s d ng m t s ký hi uăđ c bi tănh ăd u ng t xu ng dòng
\n, d uămócătrênăcaoăằăẲ(khiăth c hi nătaăthuăđ c trên màn hình duy nh t m t d uăằ)ă
và g ch nghiêng chéo \\( khi th c hi nă taă thuă đ c trên màn hình duy nh t m t
d u\)
SauăđơyălƠăm t ví d v m tăScriptăcóăkhúcăđ i tho i nh păv năb n:
Price = input ([‘What does the exchange rate \n , …
‘looke like today ?’ ]);
Currency = input (‘ DEM\\EUR ?’ , ‘s’);
Sau khi g i Script và nh p s li u, ví d ta có th nh n k t qu nh ăsau
What does the exchange rate
Look like today ? 1.93
Trang 3635
3.2 Nh p d li u t chu t b ng hƠm menu
th c hi n nh p d li u t chu t b ng hàm menu, t c a s chính c a
Matlab ta th c hi n File/ Import Data nh ăsau:
Khiăđóăs xu t hi n m t c a s import data nh ăsau:
Sauăđóătaăch năđ ng d năđ năth ăm c ch a file d li u c n nh p, và ch n nút
Trang 3736
disp : T khoá c a hàm xu t d li u,
x : tên bi n ho c các giá tr s c n xu t ra màn hình,
text :ădòngătextămƠăng i s d ng c n xu t ra màn hình
Khi xu t s li u hay chu i ký t raămƠnăhìnhătaăđ u có th đ tăđ nh d ng cho
vi c xu t L nh disp(string) có tác d ng xu t chu i ký t L nh này có th s d ng cho chu i ký t ch aăv năb năđ ng,ătrongăđóăcácăch s ph iăđ c bi n thành chu i
ký t nh l nh num2str(variable [,format] )
i v i s li u vector ta có th l păđ nh d ng xu t nh string = sprintf(string,
variable),ăsauăđó xu t b ng l nh disp Khi s d ng hai l nh num2str và sprintf, cú
pháp l păđ nh d ng v c ăb năc ngăgi ngănh ăngônăng l p trình C T t c các bi n
ph iăđ c khai báo chung trong m t ma tr n duy nh t, và m i c t là m t b tham s
xu t
Ví d : Thành l p hàm M-file, nh p vào giá tr ti t di n dây d n, nh p vào chi u dài và xu t ra giá tr đi n tr c aăđo n dây Cho dây d n b ngăđ ngă( =18.84ăămm2/km).ThƠnhăl p hàm M-file
% Nh p ti t di n dây d n - mm
F=input('Nhap tiet dien day dan :')
% Nh p chi u dài dây d n - km
l=input (' Nhap chieu dai - km :')
% Tính toán giá tr đi n tr
Trang 3837
Cú pháp : clear ho c clear all s xóa toàn b các bi nă đangă đ c s d ng trongămatlab,ăgiúpăch ngătrìnhăch yăđúng.ă
Hàm format và các khuôn d ng s
Hàm format ki m soát đ nh d ng xu t ra màn hình c a các giá tr Hàm này
ch ki m soát đ nh d ng xu t ra mà không nhăh ng t iăđ nh d ng c a d li uăđ c
Trang 39Tham s đ nh d ng thu c 1 trong 2 ki u sau:
- Chu i ký t : chu i này s đ c hi n th lên màn hình gi ng h tănh ăđ c
1) %d:ăđ i s là s nguyênăđ c vi tăd i d ng th p phân
să=ăsprintf(ằ ơyălƠăs :ă%dẲ,-24) să=ă ơyălƠăs : -2
2) %u:ăđ i s là s nguyênăđ c vi tăd i d ng th p phân không d u
să=ăsprintf(ằ ơyălƠăs :ă%uẲ,24) să=ă ơyălƠăs : 24
3) %o: đ i s là s nguyênăđ c vi tăd i d ngăc ăs 8 không d u
Trang 4039
să=ă ơyălƠăs : 11
4) %x:ăđ i s là s nguyênăđ c vi tăd i d ngăc ăs 16
să=ăsprintf(ằ ơyălƠăs :ă%xẲ,255) să=ă ơyălƠăs :ff
5) %f:ăđ i s là s nguyên đ c vi tăd i d ng cp s 10
să=ăsprintf(ằ ơyălƠăs :ă%fẲ,2550 să=ă ơyălƠăs : 255.000000
đ nh d ng ph n th p phân thì thêm vào con s ch a s th p phân c n l y
să=ăsprintf(ằ ơyălƠăs :ă%.3fẲ,ă2.5568) să=ă ơyălƠăs : 2.557
Tùy theo s l a ch n, có th thông quaă fileă đ xu t d li uă d i d ng mã
ASCII ho c mã nh phơn.ă xu t d li u ra file ta dùng l nh save file_name
[variable_1 variable_2 …]
Gi s tênăfileăđƣăđ c c t trong bi n ký t string, khi y ta ch c n ng n g n save
(string, [variable_1, variable_2…])
Khi c n c t d ng mã ASCII ta s b sung vào dòng l nh save thêm khóa ậascii.ăTrongătr ng h p này, tên c a các bi n s khôngăđ c c t kèm theo và giá tr
c a các bi năđ c ghi tu n t n iăđuôiănhauăvƠoăfile.ăDoăkhôngăc t tên các bi n, sau
này g i ra, Matlab s không có kh n ngăphơnălo i các giá tr theo bi n n a