You are on page 1of 25

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .

le .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Giao diªn cıa Matlab

Các phép toán cÏ b£n

TH‹C HÀNH LABORATORY S˚ dˆng file .m và l™p trình

Ma tr™n trong Matlab

Tr˜Ìng §i HÂc Khoa HÂc T¸ Nhiên, Tp HCM Á th‡ 2D trong Matlab

Phép tính vÓi bi∏n symbolic

Ÿng dˆng MATLAB

TH‹C HÀNH LABORATORY 2/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

1. Giao diªn cıa Matlab


Khi ch§y ch˜Ïng trình cıa Matlab, giao diªn ¶u tiên cıa ch˜Ïng
trình xußt hiªn vÓi các thành ph¶n cÏ b£n.

Giao diªn cıa Matlab

TH‹C HÀNH LABORATORY 5/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

1. Giao diªn cıa Matlab 1. Giao diªn cıa Matlab

a. C˚a sÍ lªnh - command windows


C˚a sÍ lªnh cıa Matlab cho phép ng˜Ìi s˚ dˆng các phép
tính toán, gÂi các lªnh, hàm ho∞c gÂi các ch˜Ïng trình. Trong
quá trình s˚ dˆng Matlab, ta có th∫ s˚ dˆng mÎt sË hàm trÒ
giúp sau
I help: giúp Ô, cho phép ng˜Ìi dùng tra c˘u bßt c˘ thông tin
nào liên quan ∏n Matlab.
I demo: các file, các ch˜Ïng trình ã ˜Òc Matlab t§o sÆn, ˜Òc
t™p hÒp theo các chuyên ∑.
I edit: M ch˜Ïng trình so§n th£o hàm, ch˜Ïng trình.
I ver: Xem thông tin v∑ phiên b£n cıa Matlab và các thành
ph¶n cıa nó.
I exit: Thoát ra kh‰i ch˜Ïng trình.

TH‹C HÀNH LABORATORY 6/148 TH‹C HÀNH LABORATORY 7/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

1. Giao diªn cıa Matlab

b. C˚a sÍ không gian làm viªc - work space


C˚a sÍ không gian làm viªc liªt kê tßt c£ các bi∏n hiªn ang
s˚ dˆng trong ch˜Ïng trình.

c. C˚a sÍ th˜ mˆc hiªn t§i - current directory


Hi∫n th‡ th˜ mˆc hiªn t§i mà ch˜Ïng trình Matlab ang d®n
∏n. Th˜ mˆc m∞c ‡nh là
Các phép toán cÏ b£n
C:\Programs\MATLAB\R2010b\work
Ch˜Ïng trình cho phép thi∏t l™p ˜Ìng d®n ∏n th˜ mˆc bßt
kì trên máy tính.

d. C˚a sÍ l‡ch s˚ lªnh - command history


Ghi nhÓ các lªnh ã th¸c hiªn trên c˚a sÍ lªnh, có th∫ copy
và dán l§i các mªnh lªnh ã th¸c thi ˜Ïc l˜u l§i vào ng˜Òc
l§i c˚a sÍ lªnh.

TH‹C HÀNH LABORATORY 8/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

2. Các phép toán cÏ b£n 2.1 Các phép toán sË hÂc

STT Tên hàm fi nghæa Ví dˆ K∏t qu£


Các phép toán cÏ b£n cıa Matlab ˜Òc th¸c hiªn tr¸c ti∏p trên 1 + CÎng 2+5 7
c˚a sÍ lªnh command windows. Các phép toán cÏ b£n bao gÁm: 2 - Tr¯ 1000-25 975
Các phép toán sË hÂc, các phép toán l˜Òng giác, các phép toán 3 * Nhân 10*10 100
4 / Chia 100/5 20
làm tròn, các phép toán so sánh, các phép toán v∑ sË ph˘c.
5 ^ LÙy th¯a ab 10^3 1000
2.1 Các phép toán sË hÂc 6 sqrt(x) C´n b™c 2 sqrt(144) 12
∫ tính toán vÓi các phép tính sË hÂc Ïn gi£n, t§i ngay dßu 7 exp(x) Hàm mÙ (e x ) exp(1) 2.7183
8 log(x) Logarit t¸ nhiên log(exp(1)) 1
nh≠c >> cıa c˚a sÍ lªnh Command Windows, chúng ta gõ vào
(ln(x))
tr¸c ti∏p: 9 log10(x) Logarit th™p phân log10(100) 2
(log10 (x))

TH‹C HÀNH LABORATORY 10/148 TH‹C HÀNH LABORATORY 11/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

2.2 Các phép toán l˜Òng giác 2.3 Các phép toán làm tròn và lßy ph¶n d˜

STT Tên hàm fi nghæa Ví dˆ K∏t qu£


Khi s˚ dˆng các phép toán l˜Òng giác, chúng ta chú ˛ là Matlab
hi∫u cac Ëi sË cıa các hàm l˜Òng giác là radian. CÙng nh˜ k∏t 1 fix Làm tròn các thành ph¶n fix(1.5680) 1
th™p phân v∑ 0
qu£ tr£ v∑ cıa các hàm l˜Òng giác ng˜Òc cÙng là radian.
2 floor Làm tròn v∑ sË nguyên floor(1.5680) 1
STT Tên hàm fi nghæa Ví dˆ K∏t qu£ g¶n nhßt nh‰ hÏn
1 sin Sin sin(30*pi/180) 0.5000 3 ceil Làm tròn v∑ sË nguyên ceil(1.5680) 2
2 cos Cos cos(0.5) 0.8776 g¶n nhßt lÓn hÏn
3 tan Tang tan(10*pi/180) 0.1763 4 round Làm tròn v∑ sË nguyên round(1.5680) 2
4 cot Cotang cot(45*pi/180) 1 g¶n nhßt
5 asin arcsin asin(0.5)*180/pi 30 5 mod(x,y) Tính ph¶n d˜ phép chia, mod(13,5) 3
6 acos arccos acos(0.86)*180/pi 30 lßy theo y
7 atan arctang atan(1)*180/pi 45 6 rem(x,y) Tính ph¶n d˜ phép chia, rem(13,2) 1
8 acot arccotang acot(1)*180/pi 45 lßy theo x
7 sign(x) Lßy dßu cıa x sign(-2) -1

TH‹C HÀNH LABORATORY 12/148 TH‹C HÀNH LABORATORY 13/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

2.4 Các phép toán so sánh 2.5 Các phép toán logic

Các phép toán logic s≥ so sánh giá tr‡ cıa giá tr‡ bên ph£i và bên
Các phép toán so sánh s≥ so sánh giá tr‡ cıa giá tr‡ bên ph£i và trái cıa các hàm so sánh, tùy theo t¯ng tr˜Ìng hÒp cˆ th∫ mà giá
bên trái cıa hàm so sánh, tùy theo t¯ng tr˜Ìng hÒp cˆ th∫ mà giá tr‡ tr£ v∑ có th∫ là 1 hay 0.
tr‡ tr£ v∑ có th∫ là 1 hay 0.
STT Tên hàm fi nghæa Ví dˆ K∏t qu£
STT Tên hàm fi nghæa Ví dˆ K∏t qu£
1 & Phép giao (1>2)&(2>4) 0
1 > So sánh lÓn hÏn 1>2 0
2 < So sánh nh‰ hÏn 1<2 1 2 and Phép giao and(1>3,2>4) 0
3 == So sánh b¨ng 1==2 0 3 | Phép hÒp (1>3)|(2>1) 1
4 ⇠= So sánh không b¨ng 1⇠=2 1 4 or Phép hÒp or(1>3,2>1) 1
5 >= So sánh lÓn hÏn hay b¨ng 1>=2 0 5 ⇠ Phép phı ‡nh ⇠(1>2) 1
6 <= So sánh nh‰ hÏn hay b¨ng 1<=2 1 6 not Phép phı ‡nh not(1>2) 1
7 xor Phép Xor xor(1<3,2<5) 0

TH‹C HÀNH LABORATORY 14/148 TH‹C HÀNH LABORATORY 15/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

2.6 Phép toán gán 2.6 Phép toán gán


Toán t˚ gán ˜Òc s˚ dˆng trong Matlab dùng ∫ thay th∏ cho giá
tr‡ ho∞c mÎt bi∫u th˘c tính toán.
Th¸c hiªn phép gán gi£i quy∏t ví dˆ trên nh˜ sau:
Toán t˚ = trong Matlab ˜Òc gÂi là toán t˚ gán
>> B = 51^6+76^7
Ví dˆ: C¶n tính bi∫u th˘c >> C = log(1076)*exp(15)
>> A = B/C
516 + 767
A=
ln(1076)e 15 Ví dˆ:
I Phép gán: x+2 = 20 là sai vì bên trái toán t˚ gán không ph£i
Khi ó, chúng ta s≥ thay giá tr‡ t˚ sË b¨ng bi∏n B, giá tr‡ m®u sË
là mÎt tên bi∏n.
b¨ng bi∏n C và giá tr‡ A c¶n tính b¨ng B/C.
I Phép gán: x = 5+y chø úng n∏u giá tr‡ cıa bi∏n y ã ˜Òc
Cú pháp cıa toán t˚ gán: xác ‡nh t¯ tr˜Óc, n∏u không Matlab s≥ báo sai.
Tên bi∏n = giá tr‡ hay bi∫u th˘c tính toán >> x = 5;
>> x = x+3
Tên bi∏n: TËi a 31 kí t¸, có phân biªt ch˙ hoa và ch˙ th˜Ìng, có
th∫ s˚ dˆng các ch˙ cË trong tên bi∏n nh˜ng kí t¸ ¶u tiên cıa
tên bi∏n ph£i là ch˙.
TH‹C HÀNH LABORATORY 16/148 TH‹C HÀNH LABORATORY 17/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

2.7 D§ng hi∫n th‡ sË 2.8 Các lªnh ng˜Ìi dùng

>> b = 3/26;
>> format long; b I clc: Xóa (lau) c˚a sÍ lªnh. Mang tính chßt hình th˘c, giá tr‡
b =
các bi∏n v®n tÁn t§i.
0.115384615384615 >> format +; b I clear: Gi£i phóng bÎ nhÓ bi∏n ra kh‰i bÎ nhÓ. Xóa workspace.
>> format short e; b b =
b = I clear var1 var2: Gi£i phóng các bi∏n var1 và var2 ra kh‰i
+
1.1538e-001 >> format rat; b bÎ nhÓ.
>> format bank; b b = I exist(’name’): H‰i Matlab xem có tÁn t§i t™p tin hay bi∏n ã
b = 3/26 ˜Òc thành l™p có tên là name ch˜a.
0.12 >> format short; b I quit: Thoát kh‰i khung ch˜Ïng trình Matlab.
>> format short eng; b b = I who: Liªt kê các bi∏n hiªn hành có trong bÎ nhÓ.
b = 0.1154
I whos: Liªt kê các bi∏n hiªn hành và kích th˜Óc cıa ch˘ng
115.3846e-003 >> format long eng; b
>> format hex; b trong bÎ nhÓ và chø rõ ph¶n £o cıa chúng n∏u có.
b =
b = 115.384615384615e-003
3fbd89d89d89d89e
TH‹C HÀNH LABORATORY 18/148 TH‹C HÀNH LABORATORY 19/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

2.8 Các lªnh ng˜Ìi dùng

I ; dßu chßm ph©y: – cuËi dòng lªnh ng´n không cho Matlab
hi∫n th‡ các k∏t qu£ ra c˚a sÍ lªnh.
I ... dßu ba chßm: liên tˆc, khi dòng lªnh quá dài c¶n xuËng
dòng, dßu ba chßm ...  cuËi dòng lªnh báo cho Matlab bi∏t
còn ti∏p tˆc  dòng ti∏p theo.
S˚ dˆng file .m và l™p
I , dßu ph©y: Ng´n cách các ph¶n t˚ trong m£ng. trình
I : dßu hai chßm: ˜Òc dùng ∫ phát sinh mÎt m£ng có các
ph¶n t˚ cách ∑u nhau.
I % dßu ph¶n tr´m: Matlab xem nh˜ nh˙ng gì sau dßu % là
lÌi bình, lÌi chú thích cho lªnh. Th˜Ìng dùng khi vi∏t ch˜Ïng
trình.

TH‹C HÀNH LABORATORY 20/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

3. S˚ dˆng file .m và l™p trình 3.1 Cách t§o M-file

– ch˜Ïng 2, chúng ta ã s˚ dˆng c˚a sÍ lªnh ∫ th¸c hiªn các


phép tính toán b¨ng cách tính toán tr¸c ti∏p trên c˚a sÍ lªnh, Có 2 cách ∫ khi Îng mÎt ch˜Ïng trình biên so§n M-file.
nh˜ng ∫ gi£i quy∏t các vßn ∑ ph˘c t§p thì ta ph£i s˚ dˆng các 1: T¯ c˚a sÍ lªnh (command window), gõ edit.
file ˜Òc l™p trình. 2: Vào menu File, chÂn New.
Các file ˜Òc l™p trình cıa Matlab ˜Òc gÂi là các M-file Khi ó, ch˜Ïng trình s≥ hi∫n th‡ mÎt c˚a sÍ tr≠ng ∫ chúng ta
(các file này có uôi là .m), do ó trong toàn bÎ giáo trình các so§n th£o.
file ˜Òc l™p trình s≥ gÂi là M-file.

TH‹C HÀNH LABORATORY 22/148 TH‹C HÀNH LABORATORY 23/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

3.1 Cách t§o M-file 3.1 Cách t§o M-file

∫ ch§y ch˜Ïng trình, có th∫ s˚ dˆng mÎt trong 2 cách sau:


1: Trong môi tr˜Ìng so§n th£o M-file, chúng ta vào menu
Debug/Run ho∞c nhßn phím t≠t F5.
2: Trong c˚a sÍ lªnh command window, chúng ta nh™p vào
úng tên M-file ã ˜Òc l˜u, sau ó nhßn Enter..

Sau khi so§n th£o xong M-file, chúng ta nhßn: Ctrl + S ho∞c
File/Save ∫ l˜u file ch˜Ïng trình. Khi ∞t tên file ch˜Ïng trình
ph£i úng theo quy ‡nh cıa Matlab. Cˆ th∫, tên file ph£i ˜Òc
b≠t ¶u b¨ng ch˙, sau ó có th∫ s˚ dˆng sË, và ˜Òc dùng dßu
g§ch ngang d˜Ói ∫ phân biªt, ví dˆ tên file: baitap_21.m.
TH‹C HÀNH LABORATORY 24/148 TH‹C HÀNH LABORATORY 25/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

3.1 Cách t§o M-file 3.2 Các hàm nh™p và hàm xußt d˙ liªu ra màn hình

a. Hàm nh™p d˙ liªu


Cú pháp:
N∏u ch˜Ïng trình ˜Òc l™p trình úng, sau khi ch§y ch˜Ïng
trình, ng˜Ìi s˚ dˆng chuy∫n ra c˚a sÍ lªnh ∫ xem k∏t qu£. x = input(’prompt’)
trong ó:
Còn ng˜Òc l§i, ch˜Ïng trình s≥ báo lÈi, Matlab phát ra 1 ti∏ng bip I input: T¯ khóa cıa hàm nh™p d˙ liªu.
báo hiªu, Áng thÌi ch˜Ïng trình s≥ t¸ chuy∫n sang c˚a sÍ I x: Tên bi∏n ˜Òc gán giá tr‡ nh™p vào.
lªnh, thông báo cho ng˜Ìi l™p trình v‡ trí b‡ lÈi. I prompt: Dòng text mà ng˜Ìi s˚ dˆng gõ vào.

Diπn §t: Bi∏n x s≥ có giá tr‡ b¨ng giá tr‡ mà ng˜Ìi s˚ dˆng
nh™p vào.

TH‹C HÀNH LABORATORY 26/148 TH‹C HÀNH LABORATORY 27/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

3.2 Các hàm nh™p và hàm xußt d˙ liªu ra màn hình 3.2 Các hàm nh™p và hàm xußt d˙ liªu ra màn hình

% chuong trinh tinh dthcn


disp(’tinh dien tich hinh chu nhat’);
b. Hàm xußt d˙ liªu ra màn hình a = input(’nhap a = ’);
Cú pháp: b = input(’nhap b = ’);
disp(x) S = a*b;
disp(’dien tich hinh chu nhat’);
disp(’text’)
disp(S)
trong ó:
I
% chuong trinh giai phuong trinh bac hai
disp: T¯ khóa cıa hàm xußt d˙ liªu.
I
disp(’CHUONG TRINH GIAI PHUONG TRINH BAC HAI’);
x: Tên bi∏n ho∞c các giá tr‡ sË c¶n xußt ra màn hình.
I
disp(’nhap vao cac he so:’)
text: Dòng text mà ng˜Ìi s˚ dˆng c¶n xußt ra màn hình.
a = input(’nhap he so a = ’);
Ghi chú: Cú pháp clear ho∞c clear all s≥ xóa toàn bÎ các b = input(’nhap he so b = ’);
c = input(’nhap he so c = ’);
bi∏n ang ˜Òc s˚ dˆng trong Matlab, giúp ch˜Ïng trình ch§y
delta = b^2-4*a*c;
úng. disp(’cac nghiem so: ’);
x1 = (-b+sqrt(delta))/(2*a)
x2 = (-b-sqrt(delta))/(2*a)

TH‹C HÀNH LABORATORY 28/148 TH‹C HÀNH LABORATORY 29/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

3.3 Các hàm con a. Hàm i∑u kiªn

a. Hàm i∑u kiªn Ví dˆ


if - elseif - else - end a = input(’nhap a = ’);
D§ng Ïn gi£n: b = input(’nhap b = ’);
if - end (if - else - end)
if (a < b)
Cú pháp: disp(’a nho hon b’);
if expression end
statements
end if (a == b)
trong ó disp(’a bang b’);
I if, end: T¯ khóa cıa hàm. end
I expression: i∑u kiªn - bi∫u th˘c logic.
I statements: Lªnh ho∞c nhóm lªnh c¶n th¸c thi. if (a > b)
Diπn §t: N∏u th‰a i∑u kiªn - bi∫u th˘c logic thì s≥ th¸c disp(’a lon hon b’);
hiªn lªnh. end

TH‹C HÀNH LABORATORY 30/148 TH‹C HÀNH LABORATORY 31/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Vi∏t ch˜Ïng trình gi£i ph˜Ïng trình b™c nhßt ax + b = 0 Vi∏t ch˜Ïng trình gi£i ph˜Ïng trình b™c nhßt ax + b = 0

Start
% Giai phuong trinh bac nhat
a = input(’nhap a = ’);
Nh™p a,b b = input(’nhap b = ’);
if (a ~= 0)
x = -b/a;
fprintf(’nghiem so x = %9.5g\n’,x);
S else
a 6= 0
if (b ~= 0)
disp(’ptvn’)
else
x= b/a b 6= 0
disp(’ptvsn’)
end
end

In x In ptvn In ptvsn
TH‹C HÀNH LABORATORY 32/148 TH‹C HÀNH LABORATORY 33/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

% chuong trinh giai phuong trinh bac hai Cú pháp:


disp(’giai phuong trinh bac hai’); if expression 1
a = input(’nhap he so a = ’); statements 1
b = input(’nhap he so b = ’); D§ng ¶y ı: elseif expression 2
c = input(’nhap he so c = ’); if - elseif - else - end statements 2
delta = b^2-4*a*c; else
d = delta; statements 3
if (d < 0) end
disp(’ptvn’)
I if, elseif, else, end: T¯ khóa cıa hàm
else
if (d == 0) I expression 1, 2, 3: i∑u kiªn - bi∫u th˘c logic 1, 2, 3.
x = -b/(2*a); I statements 1, 2, 3: Lªnh ho∞c nhóm lªnh th¸c thi 1, 2, 3.
fprintf(’nghiem so x = %9.5g\n’,x);
else Diπn §t:
x1 = (-b-sqrt(d))/(2*a); - N∏u th‰a i∑u kiªn ho∞c bi∫u th˘c logic 1 thì s≥ th¸c hiªn lªnh 1.
x2 = (-b+sqrt(d))/(2*a);
- N∏u không th‰a i∑u kiªn 1 và th‰a i∑u kiªn 2 thì s≥ th¸c hiªn
fprintf(’nghiem so x1 = %9.5g\n’,x1);
lªnh 2.
fprintf(’nghiem so x2 = %9.5g\n’,x2);
end - N∏u không th‰a c£ i∑u kiªn 1 và i∑u kiªn 2 thì s≥ th¸c hiªn lªnh 3.
end Chú ˛: Các i∑u kiªn 1 và 2 không ˜Òc trùng l≠p nhau.
TH‹C HÀNH LABORATORY 34/148 TH‹C HÀNH LABORATORY 35/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

a. Hàm i∑u kiªn a. Hàm i∑u kiªn

diem = input(’nhap diem = :’) Quy t≠c x˚ l˛ ˜u tiên:


Ví dˆ. Bài toán phân lo§i if (diem == 9)|(diem == 10) Trong mÎt bi∫u th˘c Matlab v¯a có toán t˚ sË hÂc, v¯a có toán t˚
hÂc sinh: i∫m 9 10 x∏p disp(’loai gioi’) quan hª và toán t˚ logic thì th˘ t¸ x˚ l˛ trong Matlab nh˜ sau:
lo§i gi‰i, i∫m 7 8 x∏p lo§i elseif (diem == 7)|(diem == 8)
khá, i∫m 5 6 x∏p lo§i disp(’loai kha’) 1. Các c∞p dßu ngo∞c ˜Òc tính t¯ c∞p trong cùng nhßt.
trung bình, i∫m 1, 2, 3, 4 elseif (diem == 5)|(diem == 6) 2. Các toán t˚ sË hÂc và toán t˚ NOT (⇠) ˜Òc tính t¯ trái
x∏p lo§i y∏u. N∏u i∫m vào disp(’loai trung binh’) qua ph£i.
không ph£i sË nguyên n¨m elseif (diem >= 1)|(diem <= 4)
disp(’loai yeu’) 3. Các toán t˚ quan hª ˜Òc tính t¯ trái qua ph£i.
gi˙a 1 và 10 thì thông báo
i∫m không hÒp lª. else 4. Toán t˚ AND.
disp(’diem vao khong hop le’)
5. Toán t˚ OR.
end

TH‹C HÀNH LABORATORY 36/148 TH‹C HÀNH LABORATORY 37/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

b. Hàm vòng l∞p for Ví dˆ cho vòng l∞p for

Start

Nh™p a,b S = 1 + 2 + 3 + ... + n


S = 0 + 1 + 2 + ... + n
s=0
clc
i =1 clear all
s =s +1 disp(’tinh tong’);
n = input(’nhap so hang can tinh tong n = ’);
i =i +1 s = 0; % gia tri ban dau cua tong s
for i = 1:n
s = s+i;
i n end
fprintf(’tong so s = %2.5g\n’,s);

In s
TH‹C HÀNH LABORATORY 38/148 TH‹C HÀNH LABORATORY 39/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

c. Hàm vòng l∞p while c. Hàm vòng l∞p while


˜Òc s˚ dˆng khi sË l¶n l∞p không ˜Òc bi∏t tr˜Óc. Quá trình l∞p
s≥ chßm d˘t khi mÎt i∑u kiªn xác ‡nh nào ó ˜Òc th‰a. Cßu Ví dˆ:
trúc cıa vòng l∞p while nh˜ sau: Tính n! = 1.2.3 . . . n.
Cú pháp: GT = 1.1.2.3...n
clc
while expression clear
statements disp(’tinh giai thua’);
end n = input(’nhap so hang can tinh giai thua n = ’);
trong ó: GT = 1;
I expression: i∑u kiªn cıa vòng l∞p. i = 1;
I
while (i <= n)
statements: Lªnh ho∞c nhóm lªnh th¸c thi cıa vòng l∞p.
GT = GT*i;
Diπn §t: i = i+1;
N∏u th‰a i∑u kiªn thì s≥ th¸c hiªn lªnh cıa vòng l∞p. end
fprintf(’tong so s = %2.5g\n’,GT);
Hàm while ˜Òc s˚ dˆng khi ch˜a bi∏t sË l¶n l∞p, trong khi hàm
for ˜Òc s˚ dˆng khi ã bi∏t rõ sË l¶n l∞p.
TH‹C HÀNH LABORATORY 40/148 TH‹C HÀNH LABORATORY 41/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

d. Hàm vòng l∞p switch-case d. Hàm vòng l∞p switch-case


Cßu trúc switch-case cho phép ch˜Ïng trình có nhi∑u l¸a chÂn Ví dˆ: Tr l§i bài toán phân lo§i hÂc sinh, ch˜Ïng trình ˜Òc vi∏t
và th¸c hiªn chø mÎt trong nh˙ng nhánh này, tùy thuÎc vào giá tr‡ vÓi cßu trúc switch-case nh˜ sau
cıa bi∫u th˘c ¶u vào. Cßu trúc switch-case có d§ng nh˜ sau: n = input(’cho biet diem: ’);
Cú pháp: disp(’phan loai: ’);
switch bi∫u th˘c ¶u vào switch n
(vô h˜Óng ho∞c chuÈi kí t¸) case {0,1,2,3,4}
case giá tr‡ 1 disp(’loai yeu’);
nhóm lªnh 1 case {5,6}
case giá tr‡ 2 disp(’loai trung binh’);
nhóm lªnh 2 case {7,8}
... disp(’loai kha’);
case giá tr‡ n case {9,10}
nhóm lªnh n disp(’loai gioi’);
otherwise otherwise
nhóm lªnh n + 1 disp(’khong hop le’);
end end
TH‹C HÀNH LABORATORY 42/148 TH‹C HÀNH LABORATORY 43/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

3.4 Hàm trong Matlab (function) 3.4 Hàm trong Matlab (function)
Hàm trong Matlab là mÎt file.m có th∫ nh™m tham sË và tr£ v∑
các giá tr‡.
Script:
Tên hàm ph£i trùng vÓi tên file.m. GÂi lªnh b¨ng cách gõ tên
% UBC.m
hàm (tên file.m).
function [m,n] = UBC(a,b)
Cú pháp: m = gcd(a,b);
function tri_tra_ve = ten_ham(tham_so) n = lcm(a,b);
...
GÂi hàm:
Ví dˆ:
>> [uoc,boi] = UBC(45,234)
% tbc.m
>> uoc
function s = tbc(x)
ans = 9
s = sum(x(:))/(length(x(:));
>> boi
GÂi lªnh: ans = 1170
>> t = tbc([2 3 4 5 6])
t s≥ b¨ng 4.
TH‹C HÀNH LABORATORY 44/148 TH‹C HÀNH LABORATORY 45/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

3.4 Hàm trong Matlab (function)

Hàm phˆ.
I (khác vÓi hàm chính) chø nh¨m hÈ trÒ tính toán cho hàm
chính trong script hàm.
I Hàm phˆ n¨m sau hàm chính.

Ví dˆ:
% chinh.m
Ma tr™n trong Matlab
function c = chinh(A)
c = phu(A)-1

function d = phu(B)
d = min(B(:))
GÂi hàm:
>> chinh([23 2 34])
ans = 1
TH‹C HÀNH LABORATORY 46/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

4. Ma tr™n trong Matlab Nh™p ma tr™n

I Ma tr™n là mÎt m£ng hình I Nh™p tr¸c ti∏p danh sách


các ph¶n t˚. I Nh™p t¯ file.
ch˙ nh™t các con sË.
I I Phát sinh ma tr™n b¨ng T§o ma tr™n b¨ng các file .m. I
Ma tr™n gÁm các dòng I MÎt con sË trong Matlab là
(row) và các cÎt (column). mÎt ma tr™n 1x1. hàm sÆn có.
Các dòng hay cÎt gÂi chng I
A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
Th∏ m§nh cıa Matlab so vÓi
là vector. các ngôn ng˙ l™p trình khác A = I Dßu [ và ] m ¶u và k∏t thúc
0 1
16 3 2 13 là tính toán rßt nhanh trên nh™p ma tr™n.
B 5 10 11 8 C ma tr™n. 16 3 2 13
I Dßu ; k∏t thúc mÎt dòng.
B C 5 10 11 8
@ 9 6 7 12 A I
9 6 7 12 Các ph¶n t˚ cách nhau b¨ng
4 15 14 1 kho£ng tr≠ng ho∞c dßu , .
4 15 14 1

TH‹C HÀNH LABORATORY 48/148 TH‹C HÀNH LABORATORY 49/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

TÍng các cÎt và chuy∫n v‡ cıa ma tr™n ˜Ìng chéo cıa ma tr™n

A = A’ =
A = >> diag(A)
16 3 2 13 16 5 9 4 ans =
5 10 11 8 3 10 6 15 16 3 2 13
9 6 7 12 2 11 7 14 5 10 11 8 16
4 15 14 1 13 8 12 1 9 6 7 12 10
4 15 14 1 7
>> sum(A) >> sum(A’) 1
ans = ans =
34 34 34 34 34 34 34 34

TH‹C HÀNH LABORATORY 50/148 TH‹C HÀNH LABORATORY 51/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Trích mÎt ph¶n t¯ cıa ma tr™n Chø sË v˜Òt kh‰i kích th˜Óc ma tr™n

A =
I Ph¶n t˚ Ai,j ˜Òc trích
b¨ng bi∫u th˘c A(i,j) >> X = A;
I Phép trích chø có mÎt chø sË 16 3 2 13
A = >> X(4,5) = 17
s≥ theo th˘ t¸ duyªt theo 5 10 11 8
cÎt (xem ma tr™n là mÎt 9 6 7 12
16 3 2 13 X =
vector cÎt dài ) 4 15 14 1
5 10 11 8
>> A(2) 16 3 2 13 0
9 6 7 12 >> t = A(4,5)
ans = 5 10 11 8 0
4 15 14 1 Attempted to access A(4,5);
5 9 6 7 12 0
>> A(4,2) index out of bounds because
ans = I A(2) là ph¶n t˚ th˘ 2 duyªt 4 15 14 1 17
size(A)=[4,4].
15 theo cÎt t¯ trái qua ph£i, t¯ I M rÎng ma tr™n
I Viªc truy xußt ph¶n t˚ vi
I
trên xuËng d˜Ói. I N¨m bên trái phép gán
A(4,2) là ph¶n t˚  dòng 4 ph§m kích th˜Óc ma tr™n
cÎt 2, t˘c là ph¶n t˚ 15 I N¨m bên ph£i phép gán

TH‹C HÀNH LABORATORY 52/148 TH‹C HÀNH LABORATORY 53/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Dßu hai chßm ’:’ Dßu hai chßm ’:’


I A(1:k,j) trích k sË ¶u tiên  cÎt th˘ j cıa ma tr™n A
I Dßu hai chßm ’:’ là mÎt trong nh˙ng phép tính quan trong
cıa MATLAB. I sum( A(1:4,4)) tính tÍng
I
A = 4 sË ¶u tiên cıa cÎt th˘ 4
Ví dˆ: T§o môt vector dòng gÁm các sË nguyên t¯ 1 ∏n 10
16 3 2 13 cıa ma tr™n A
>> 1:10 5 10 11 8
ans = I Dßu hai chßm ’:’ ˘ng mÎt
9 6 7 12
1 2 3 4 5 6 7 8 9 10 mình s≥ chø toàn bÎ ph¶n t˚
4 15 14 1
cıa dòng ho∞c cÎt
I ∫ t§o b˜Óc t´ng gi£m khác 1 >> A(1:4,4)
I T¯ khóa "end"chø chø sË
>> 100:-7:50 ans =
13 cuËi cùng cıa dòng ho∞c cÎt
ans =
100 93 86 79 72 65 58 51 8 >> A(:,end)
12 ans =
>> 0:pi/4:pi 1 13
ans = >> sum( A(1:4,4)) 8
0 0.7854 1.5708 2.3562 3.1416 ans = 12
34 1
TH‹C HÀNH LABORATORY 54/148 TH‹C HÀNH LABORATORY 55/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Trích nhi∑u ph¶n t˚ T§o ma tr™n b¨ng file.m và lªnh load


I S˚ dˆng dßu "[,]" ∫ liªt I File.m là mÎt file v´n b£n
kê v‡ trí c¶n trích ghi các dòng lªnh MATLAB.
I Có th∫ so§n th£o b¨ng I L˜u vÓi tên magik.m. Dòng
>> A = [2 4 3; 8 6 7] MATLAB Editor ho∞c bßt k˝ lªnh
A = I Có th∫ s˚ dˆng dßu ":" ∫
trình so§n th£o v´n b£n nào. >> magik
2 4 3 trích dãy các ph¶n t˚
I L˜u file có uôi .m >> A
8 6 7 >> A(2,1:3)
I Gõ tên file ∫ th¸c thi nÎi A =
>> x = [9 4 2 1] ans =
dung các dòng lªnh trong 16 3 2 13
x = 8 6 7
file. 5 10 11 8
9 4 2 1
I
9 6 7 12
>> A([2,1],2) >> x(3:-1:1) T§o mÎt file có nÎi dung
4 15 14 1
ans = ans = nh˜ sau:
6 2 4 9 A = [ 16.0 3.0 2.0 13.0 s≥ Âc file và t§o bi∏n A là
4 5.0 10.0 11.0 8.0 ma tr™n nh˜ trên.
>> x([2,4]) 9.0 6.0 7.0 12.0
ans = 4.0 15.0 14.0 1.0 ];
4 1 TH‹C HÀNH LABORATORY 56/148 TH‹C HÀNH LABORATORY 57/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ghép hai ma tr™n Xóa dòng xóa cÎt

Cho các ma tr™n sau: A = >> X(:,2) = []


I Thêm cÎt 16 3 2 13 X =
>> A = [1 2 3;4 5 6] >> D = [A B] 5 10 11 8 16 2 13
A = D = 9 6 7 12 5 11 8
1 2 3 1 2 3 10 12 4 15 14 1 9 7 12
4 5 6 4 5 6 11 13 >> X = A; 4 14 1
>> B = [10 12;11 13]
B = I Thêm dòng I Không ˜Òc xóa mÎt ph¶n t˚ ki∫u nh˜ X(1,2) = []
10 12 >> E = [A ; C] >> X(1,2) = []
11 13 E = Subscripted assignment dimension mismatch.
>> C = [7 8 9;9 7 8;8 9 7] 1 2 3
I Dùng chø sË vÓi dßu ’:’ ∫ xóa mÎt hay nhi∑u ph¶n t˚
C = 4 5 6
7 8 9 7 8 9 >> X(2:2:10) = []
9 7 8 9 7 8 X =
8 9 7 8 9 7 16 9 2 7 13 12 1

TH‹C HÀNH LABORATORY 58/148 TH‹C HÀNH LABORATORY 59/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các hàm ∞c biªt cho ma tr™n Các hàm ∞c biªt cho ma tr™n

I zeros
I zeros(n) I pascal
I zeros(m,n)
Stt Tên hàm fi nghæa Ví dˆ K∏t Qu£
I magic
I zeros([m n]) 1 zeros(a,b) t§o ma tr™n a ⇥ b zeros(2,3) 0 0 0
I zeros(size(A)) I numel(A) các ph¶n t˚ = 0 0 0 0
I ones I length(A) 2 ones(a,b) t§o ma tr™n a ⇥ b ones(2,3) 1 1 1
I I rand(m,n) các ph¶n t˚ = 1 1 1 1
ones(n)
I ones(m,n) I
3 eye(a,b) t§o ma tr™n a ⇥ b eye(3,3) 1 0 0
diag(v,k), diag(v)
I ones([m n]) các ph¶n t˚ 0 1 0
I tril, triu
I ones(size(A)) ˜Ìng chéo = 1 0 0 1
I linspace(a,b), 4 repmat t§o ma tr™n b ⇥ b repmat 2 2 2
I eye
linspace(a,b,n) (a,b) các ph¶n t˚ (2,3) 2 2 2
I eye(n)
I logspace(a,b,n) có giá tr‡ = a 2 2 2
I eye(m,n)
I eye(size(A))

TH‹C HÀNH LABORATORY 60/148 TH‹C HÀNH LABORATORY 61/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các hàm ∞c biªt cho ma tr™n Các hàm ∞c biªt cho ma tr™n

Stt Tên hàm fi nghæa Ví dˆ K∏t Qu£ Stt Tên hàm fi nghæa Ví dˆ K∏t Qu£
5 rand(a,b) t§o ma tr™n rand(2,2) 0.2785 0.9575 7 linspace t§o ma tr™n linspace 1 2 3
a⇥b 0.5469 0.9649 (a,b,n) hàng b ph¶n t˚ (1,3,3)
các ph¶n t˚ phân bË ∑u
ng®u nhiên
t¯ a ∏n n
6 randn t§o ma tr™n randn 1.3499 0.7254
8 logspace t§o ma tr™n logspace 10 1000 100000
(a,b) a⇥b (2,2) 3.0349 0.0631
(a,b,n) hàng n ph¶n t˚ (1,5,3)
các ph¶n t˚
phân bË ∑u
ng®u nhiên
t¯ 10a ∏n 10b
phân bË ∑u

TH‹C HÀNH LABORATORY 62/148 TH‹C HÀNH LABORATORY 63/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các hàm ∞c biªt cho ma tr™n Các hàm ∞c biªt cho ma tr™n

>> D = eye(3) >> pascal(3) >> A = zeros(3)


>> size(A)
D = ans = A =
1 0 0 1 1 1 0 0 0
ans =
0 1 0 1 2 3 0 0 0
3 3
0 0 1 1 3 6 0 0 0
>> zeros(size(B))
>> eye(3,2) >> magic(3) >> B = zeros(2,3)
ans =
ans = ans = B =
0 0 0
1 0 8 1 6 0 0 0
0 0 0
0 1 3 5 7 0 0 0
0 0 4 9 2

TH‹C HÀNH LABORATORY 64/148 TH‹C HÀNH LABORATORY 65/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các hàm ∞c biªt cho ma tr™n Các phép toán trong ma tr™n và vector

>> B = zeros(2,3)
>> rand(3,2)
B = Phép tính Phép tính
0 0 0 ans =
+, CÎng ho∞c tr¯ hai ma tr™n cùng kích th˜Óc
0 0 0 0.8003 0.9157
0.1419 0.7922 A⇤B Nhân hai ma tr™n A và B
>> numel(B) 0.4218 0.9595 A/B Chia hai ma tr™n (chia ph£i) A và B
A\B Chia trái hai ma tr™n B và A
ans = >> C = ones(3) A. ⇤ B Nhân t¯ng ph¶n t˚ cıa hai ma tr™n A và B
6 A./B Chia t¯ng ph¶n t˚ cıa hai ma tr™n A và B
C = A.\B Chia t¯ng ph¶n t˚ cıa hai ma tr™n B và A
>> length(B) 1 1 1 .ˆ MÙ cho t¯ng ph¶n t˚ cıa m£ng
1 1 1
ans = 1 1 1
3

TH‹C HÀNH LABORATORY 66/148 TH‹C HÀNH LABORATORY 67/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các phép toán trong ma tr™n và vector Các phép toán trong ma tr™n và vector

Stt Dòng lªnh K∏t qu£fi nghæa


Stt Dòng lªnh fi nghæa K∏t qu£ 5 A+B 2 4
CÎng hai ma tr™n
6 8
1 A=[1 2;3 4] T§o ma tr™n 1 2
6 A-B Tr¯ hai ma tr™n 0 0
3 4
0 0
2 B=[1,2;3,4] T§o ma tr™n 1 2
3 4 - 2 ma tr™n em cÎng ho∞c tr¯ ph£i cùng kích th˜Óc
3 2*A Nhân mÎt sË 2 4 - K∏t qu£ là mÎt ma tr™n có cùng kích th˜Óc, các ph¶n t˚ là
vÓi ma tr™n 6 8 tÍng ho∞c hiªu cıa 2 ph¶n t˚ t˜Ïng ˘ng
4 B/2 Chia ma tr™n 0.5000 1.0000 7 A*B Nhân hai ma tr™n 7 10
cho mÎt sË 1.5000 2.0000 15 22
8 A\B Chia hai ma tr™n 1 0
Khi em ma tr™n nhân ho∞c chia cho mÎt sË, ta s≥ ˜Òc mÎt ma tr™n
0 1
cùng kích th˜Óc, và các ph¶n t˚ s≥ có giá tr‡ b¨ng ph¶n t˚ t˜Ïng ˘ng
cıa ma tr™n cÙ nhân ho∞c chia cho sË ó. - Chø áp dˆng gi£i ph˜Ïng trình AX = B, vÓi A là ma tr™n
vuông, B là ma tr™n cÎt có cùng kích th˜Óc vÓi A

TH‹C HÀNH LABORATORY 68/148 TH‹C HÀNH LABORATORY 69/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các phép toán trong ma tr™n và vector Các phép toán trong ma tr™n và vector

Stt Tên fi nghæa Ví dˆ K∏t qu£


hàm
Stt Tên fi nghæa Ví dˆ K∏t qu£
6 min vector hàng, ch˘a min(Z) 1 3 5 7
hàm
các ph¶n t˚ nh‰ nhßt
1 size Kích th˜Óc ma tr™n Z 4
4 theo t¯ng cÎt
2 ndims sË chi∑u ndims(Z) 2 7 sum vector hàng, ch˘a sum(Z) 10 18 26 34
3 length chi∑u dài length(Z) 4 tÍng các ph¶n t˚
4 numel sË ph¶n t˚ ma tr™n numel(Z) 16 theo t¯ng cÎt
5 max vector hàng, ch˘a max(Z) 4 6 8 10 8 sort S≠p x∏p theo sum(Z) 1 3 5 7
các ph¶n t˚ lÓn nhßt th˘ t¸ t´ng d¶n 2 4 6 8
theo t¯ng cÎt trong t¯ng cÎt 3 5 7 9
4 6 8 10

TH‹C HÀNH LABORATORY 70/148 TH‹C HÀNH LABORATORY 71/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các phép toán trong ma tr™n và vector Các phép toán trong ma tr™n và vector

23
11 2 6
A = 4 4 17 265 Stt Tên fi nghæa Ví dˆ K∏t qu£
17 8 49 hàm
3 tril T§o ma tr™n tril(A) 11 0 0
tam giác 2 17 0
Stt Tên fi nghæa Ví dˆ K∏t qu£
d˜Ói 6 26 49
hàm
4 triu T§o ma tr™n triu(A) 11 4 17
1 det Tính ‡nh th˘c det(A) 5825 tam giác 0 17 8
ma tr™n trên 0 0 49
2 ’ Chuy∫n v‡ A’ 11 4 17 5 inv Ngh‡ch £o inv(A) 0.1073 -0.0086 -0.0086
ma tr™n 2 17 8 ma tr™n 0.0422 0.0750 -0.0450
6 26 49 -0.0441 -0.0093 0.0307

TH‹C HÀNH LABORATORY 72/148 TH‹C HÀNH LABORATORY 73/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các phép toán trong ma tr™n và vector Các phép toán trong ma tr™n và vector

I Ví dˆ:
I Lªnh phân tích ma tr™n A =
I Lªnh phân tích ma tr™n thành th¯a sË LU
thành th¯a sË cholesky 11 2 6
4 17 26 [L,U] = lu(A)
chol(A)
17 8 49 I Ma tr™n A s≥ ˜Òc phân tích thành tích cıa hai ma tr™n
I Ma tr™n A s≥ ˜Òc phân tích
thành tích cıa hai ma tr™n
>> chol(A) A = L.U
0
A = R .R
ans = VÓi L là ma tr™n tam giác d˜Ói, U là ma tr™n tam giác trên.
VÓi R là ma tr™n tam giác 3.3166 0.6030 1.8091
trên. 0 4.0788 6.1070
0 0 2.9037

TH‹C HÀNH LABORATORY 74/148 TH‹C HÀNH LABORATORY 75/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các phép toán trong ma tr™n và vector


I Ví dˆ:
A =
11 2 6
4 17 26
17 8 49

>> [L,U] = lu(A)


Á th‡ 2D trong Matlab
L =
0.6471 -0.2101 1.0000
0.2353 1.0000 0
1.0000 0 0

U =
17.0000 8.0000 49.0000
0 15.1176 14.4706
0 0 -22.6654
TH‹C HÀNH LABORATORY 76/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

5. Á th‡ 2D trong Matlab 5. Á th‡ 2D trong Matlab

sin(x)
1

0.8 1

I Hàm plot(x,y) v≥ các 0.6 I Chú ˛: Ëi vÓi


i∫m x, y t˜Ïng ˘ng lên 0.4
hàm sÏ cßp có th∫ dùng lªnh
0.5

0.2
m∞t phØng. 0
ezplot(’Ham so can ve’). 0

I Ví dˆ −0.2 Lªnh sau v≥ Á th‡ hàm


−0.4
sin(x) −0.5

>> x = -2*pi:pi/100:2*pi; −0.6

>> plot(x,sin(x)) −0.8


>> ezplot(’sin(x)’) −1

−1
−8 −6 −4 −2 0 2 4 6 8 −6 −4 −2 0 2 4 6
x

TH‹C HÀNH LABORATORY 78/148 TH‹C HÀNH LABORATORY 79/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

V≥ nhi∑u Á th‡ V≥ nhi∑u Á th‡

I Dùng d§ng
plot(x, y1, x, y2, ...)
∫ v≥ nhi∑u Á th‡ ta s˚ dˆng hàm plot vÓi cú pháp sau I Ví dˆ 1

0.8

>> x = -2*pi:pi/100:2*pi; 0.6


>> plot(t,x,t,y) >> y1 = sin(x); 0.4

Matlab s≥ v≥ mÎt ˜Ìng x theo t và mÎt ˜Ìng y theo t. >> y2 = sin(x + pi/4); 0.2

Ho∞c chúng ta có th∫ s˚ dˆng lªnh hold >> y3 = sin(x + pi/2);


0

−0.2

>> plot(x, y1, x, y2,


>> hold −0.4

x, y3) −0.6
Lªnh hold s≥ l˜u gi˙ Á th‡ hiªn h˙u, khi chúng ta th¸c hiªn lªnh −0.8

v≥ ti∏p theo thì Á th‡ mÓi s≥ ˜Òc thêm vào Á th‡ cÙ. I CÙng có th∫ dùng −1
−8 −6 −4 −2 0 2 4 6 8

plot(x, y) trong ó

>> y = [y1; y2; y3];


>> plot(x,y)

TH‹C HÀNH LABORATORY 80/148 TH‹C HÀNH LABORATORY 81/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

V≥ nhi∑u Á th‡ Các thuÎc tính nét v≥

f = 50; Cú pháp
T = 1/f; 250

t = 0:T/100:2*T; 200
>>plot(X1,Y1,LineSpec,...)
va = 220*sin(2*pi*f*t); 150 Hàm plot có s˚ dˆng các thuÎc tính nét v≥ LineSpec cho phép
plot(t,va,’blue’); 100
thi∏t l™p các thuÎc tính cıa Á th‡. Các thuÎc tính là:
50
hold on; 0
I Line style : ‡nh d§ng ki∫u nét, ví dˆ nét chßm, nét ˘t,
vb = 220*sin(2*pi*f*t + −50 ...
+ 120*pi/180); −100
I Line style : ‡nh d§ng Î rÎng nét v≥, Ïn v‡ là point
plot(t,vb,’green’); −150

−200 I Color : ‡nh d§ng màu cıa nét v≥, ví dˆ màu xanh, màu
hold on; −250
‰,. . .
vc = 220*sin(2*pi*f*t +
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04

- 120*pi/180); I Marker type: ‡nh d§ng i∫m v≥.


plot(t,vc,’red’);

TH‹C HÀNH LABORATORY 82/148 TH‹C HÀNH LABORATORY 83/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

ThuÎc tính L™p trình trong Matlab Á th‡ ThuÎc tính L™p trình trong Matlab Á th‡
Lo§i nét v≥ t = 0:pi/20:2*pi; 1 Î lÓn nét t = 0:pi/20:2*pi; 1

0.8

plot(t,sin(t),’-- r’
0.8

- : nét li∑n plot(t,sin(t),’--’) 0.6 v≥ 0.6

0.4

,’LineWidth’,5)
0.4

- - : nét ˘t 0.2 Tính theo 0.2

Ïn v‡
0

: : nét chßm −0.2


−0.2

−0.4

là point
−0.4

-. : nét chßm −0.6

−0.8
−0.6

−0.8

g§ch −1
0 1 2 3 4 5 6 7
−1
0 1 2 3 4 5 6 7

Màu nét v≥ t = 0:pi/20:2*pi; 1


Marker t = 0:pi/20:2*pi;
r: ‰ plot(t,sin(t),’-- r’) 0.8

0.6
+ : dßu plot(t,sin(t),’-- r o’ 1

0.8

y : vàng 0.4

0.2
cÎng ,’LineWidth’,2) 0.6

0.4

w : tr≠ng 0

−0.2
o : vòng 0.2

b : xanh n˜Óc −0.4

−0.6
tròn −0.2

−0.4

bi∫n −0.8

−1
bi∫n −0.6

−0.8
0 1 2 3 4 5 6 7

k : en * : hoa th‡ −1
0 1 2 3 4 5 6 7

x : ch˙ x
TH‹C HÀNH LABORATORY 84/148 TH‹C HÀNH LABORATORY 85/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Lªnh cho trˆc tÂa Î Ví dˆ

I Lªnh axis
5

>> axis([xmin xmax ymin ymax]) 4.5

>> x = 0:0.25:pi/2; 4

I Tùy chønh các ki∫u trˆc tÂa Î >> y = tan(x); 3.5

3
I axis on/off/auto 2.5
I axis normal/square/equal/tight >> plot(x,y,’-ro’); 2
I axis ij/xy 1.5

I grid on/off
>> axis([0 pi/2 0 5]) 1

I
0.5
Xác ‡nh giÓi h§n cıa trˆc Ox và Oy >> grid on 0
0 0.5 1 1.5

>> xlim([xmin xmax])


>> ylim([ymin ymax])

TH‹C HÀNH LABORATORY 86/148 TH‹C HÀNH LABORATORY 87/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Chú thích Á th‡ Hàm subplot

I >> subplot(p,q,i)
xlabel, ylabel, title, legend Hàm subplot s≥ c˚a sÍ thành mÎt b£ng các ô nh‰, vÓi p là sË
I
−0.5x
dòng cıa các ô và q là sË cÎt cıa các ô. Á th‡ s≥ ˜Òc v≥  ô
Ví dˆ 0.8
Do thi ham y = 0.8 e sin(10x)

0.6
0.8 e−0.5xsin(10x)
th˘c i.
>> x = 0:0.01:20; 0.4
f = 50;
>> y = 0.8*exp(-0.5*x) 300

0.2
T = 1/f; 200

.*sin(10*x); 100
0
t = 0:T/100:2*T;
y

0
>> plot(x,y); −100
−0.2
v = 220*sin(2*pi*f*t); −200

i = 55*sin(2*pi*f*t
−300
−0.4 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04

>> xlabel(’x’); −0.6


- 90*pi/180); 60
>> ylabel(’y’); 40
−0.8

>> legend(’0.8 e^{-0.5 0 2 4 6 8 10 12 14 16 18 20 20


x
subplot(2,1,1); 0

x}sin(10x)’); −20

plot(t,v); −40

>> title(’Do thi ham −60


0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04
subplot(2,1,2);
y = 0.8 e^{-0.5x}sin(10x)’);
plot(t,i);
TH‹C HÀNH LABORATORY 88/148 TH‹C HÀNH LABORATORY 89/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ví dˆ Hàm v≥ các Á th‡ khác

t = 0:pi/20:2*pi; [x,y] = meshgrid(t); a. Hàm bar: v≥ Á th‡ thanh ˘ng


subplot(2,2,1)
plot(sin(t),cos(t)) >> bar(x,y)
axis equal 1 2

0.5 1 Hàm bar s≥ v≥ các thanh ˘ng có Î cao là yi t˜Ïng ˘ng t§i
subplot(2,2,2) 0 0 v‡ trí xi
z = sin(x)+cos(y); −0.5 −1

plot(t,z) −1 −2
Ví dˆ: V≥ Á th‡ phˆ t£i cıa mÎt xí nghiªp theo sË liªu sau:
−1 −0.5 0 0.5 1 0 2 4 6

axis([0 2*pi -2 2])


1 1
subplot(2,2,3) 0.5 0.5
Tháng 1 2 3 4 5 6 7 8
z = sin(x).*cos(y); 0 0

plot(t,z) −0.5 −0.5


Công sußt - kw 150 150 300 300 700 800 800 1000
axis([0 2*pi -1 1]) −1
0 2 4 6
−1
0 2 4 6

subplot(2,2,4)
Tháng 9 10 11 12
z = (sin(x).^2)-(cos(y).^2);
Công sußt - kw 1000 600 600 500
plot(t,z)
axis([0 2*pi -1 1])
TH‹C HÀNH LABORATORY 90/148 TH‹C HÀNH LABORATORY 91/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ví dˆ Hàm v≥ các Á th‡ khác

1000
b. Hàm pie: v≥ Á th‡ d§ng hình qu§t
900
>> pie(x)
>> x = [1 2 3 4 5 6 7 8 9 800

10 11 12]; 700
Hàm pie s≥ v≥ Á th‡ d§ng hình qu§t vÓi diªn tích tø lª vÓi
600
>> y = [150 150 300 300 700 500 ph¶n tr´m.
800 800 1000 1000 600 600 400
Ví dˆ: Cho xí nghiªp có iªn n´ng tiêu thˆ hàng tháng ˜Òc tính
500]; 300

200 toán theo giÌ cao i∫m, thßp i∫m, trung bình nh˜ sau
100
>> bar(x,y) 0
1 2 3 4 5 6 7 8 9 10 11 12 iªn n´ng Cao i∫m Thßp i∫m Trung bình
iªn n´ng - kw 15000 35000 75000

TH‹C HÀNH LABORATORY 92/148 TH‹C HÀNH LABORATORY 93/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ví dˆ V≥ các m∞t

12%
B˜Óc ¶u tiên là ˜a ra Á th‡ l˜Ói cıa hàm hai bi∏n z = f (x, y ),
t˜Ïng ˘ng vÓi ma tr™n X và Y ch˘a các hàng và các cÎt l∞p i l∞p
l§i, MATLAB cung cßp hàm meshgrid cho mˆc ích này:
>> x = [15000 35000 75000]; >> [X,Y] = meshgrid(x,y)
28%

60% T§o ma tr™n X mà hàng cıa nó là b£n sao cıa vectÏ x, và ma


>> pie(x)
tr™n Y có các cÎt là b£n sao cıa vectÏ y . C∞p ma tr™n này sau ó
˜Òc s˚ dˆng ∫ ˜Óc l˜Òng hàm hai bi∏n s˚ dˆng ∞c tính toán
hÂc v∑ m£ng cıa MATLAB

TH‹C HÀNH LABORATORY 94/148 TH‹C HÀNH LABORATORY 95/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

V≥ các m∞t
x = -2:0.5:2;
y = -2:1:2;
[X,Y] = meshgrid(x,y);
∫ v≥ b∑ m∞t ta s˚ dˆng các hàm: Z = X.*exp(-X.^2 - Y.^2);
Ve mat voi lenh mesh Ve mat voi lenh meshc

I mesh(X,Y,Z): nËi các i∫m vÓi nhau trong mÎt l˜Ói ch˙ nh™t. subplot(1,2,1); 0.4 0.4

I meshc(X,Y,Z): v≥ các ˜Ìng contour bên d˜Ói Á th‡. mesh(X,Y,Z) 0.2 0.2

xlabel(’x’);
I meshz(X,Y,Z): v≥ các ˜Ìng thØng ˘ng vi∑n quanh Á th‡. 0 0
z

ylabel(’y’);
I waterfall(X,Y,Z): v≥ m∞t vÓi hiªu ˘ng nh˜ thác Í. −0.2 −0.2
zlabel(’z’);
−0.4 −0.4

Ví dˆ: V≥ m∞t xác ‡nh bi ph˜Ïng trình title(’Ve mat voi lenh mesh’); 2 2
2 2
subplot(1,2,2); 0
0
0
0
x2 y2
z(x, y ) = xe meshc(X,Y,Z) y −2 −2 x y −2 −2 x

xlabel(’x’);
ylabel(’y’);
zlabel(’z’);
title(’Ve mat voi lenh meshc’);

TH‹C HÀNH LABORATORY 96/148 TH‹C HÀNH LABORATORY 97/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

V≥ các m∞t ˜Òc tô bóng t¯ mÎt ma tr™n b¨ng hàm surf, surfc
x = -2:0.5:2;
y = -2:1:2; Ví dˆ: V≥ m∞t xác ‡nh bi ph˜Ïng trình
[X,Y] = meshgrid(x,y); Ve mat voi lenh meshz Ve mat voi lenh waterfall

Z = X.*exp(-X.^2 - Y.^2); x2 y2
z(x, y ) = xe
subplot(1,2,1); 0.4 0.4

meshz(X,Y,Z) 0.2 0.2

xlabel(’x’); 0 0
x = -2:0.5:2; 0.4

z
ylabel(’y’);
zlabel(’z’);
−0.2 −0.2
y = -2:1:2; 0.2

title(’Ve mat voi lenh meshz’);


−0.4
2
−0.4
2
[X,Y] = meshgrid(x,y); 0

subplot(1,2,2); 0
2
0
2
Z = X.*exp(-X.^2 - Y.^2); −0.2
0 0

waterfall(X,Y,Z) y −2 −2 x y −2 −2 x −0.4
2

xlabel(’x’); surf(X,Y,Z); 1
1
2
0

ylabel(’y’); colormap(’cool’); −1
−1
0

−2 −2

zlabel(’z’);
title(’Ve mat voi lenh waterfall’);

TH‹C HÀNH LABORATORY 98/148 TH‹C HÀNH LABORATORY 99/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ví dˆ

Ta có th∫ t§o nhi∑u l˜Ói hÏn ∫ m∞t m‡n hÏn.


I Lªnh surfc(X,Y,Z): v≥ các ˜Ìng contour bên d˜Ói Á th‡
I Lªnh surfl(X,Y,Z,s): v≥ m∞t có bóng sáng. Ëi sË s xác
x = -2:0.2:2; 0.5

y = -2:0.4:2; ‡nh h˜Óng cıa nguÁn sáng trên b∑ m∞t v≥. s là môt vectÏ
[X,Y] = meshgrid(x,y); 0
tùy chÂn trong hª tÂa Î decac hay trong tÂa Î c¶u. N∏u
Z = X.*exp(-X.^2 - Y.^2); không khai báo giá tr‡ m∞c ‡nh cıa s là 45 theo chi∑u kim
Áng hÁ t¯ v‡ trí ng˜Ìi quan sát
−0.5
2
surf(X,Y,Z); 1
1
2
0
colormap(’cool’); −1
−1
0

−2 −2

TH‹C HÀNH LABORATORY 100/148 TH‹C HÀNH LABORATORY 101/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

x = -2:0.2:2;
y = -2:0.4:2;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2 - Y.^2);
subplot(1,2,1); Ve mat voi lenh surfc Ve mat voi lenh surfl

surfc(X,Y,Z)
Phép tính vÓi bi∏n
0.5 0.5

xlabel(’x’);
ylabel(’y’);
zlabel(’z’); 0 0

symbolic
z

colormap(cool);
title(’Ve mat voi lenh surfc’); −0.5
2
−0.5
2

subplot(1,2,2); 0
2
0
2

surfl(X,Y,Z)
0 0

y −2 x y −2 x
−2 −2

xlabel(’x’);
ylabel(’y’);
zlabel(’z’);
title(’Ve mat voi lenh surfl’);
colormap(cool)
TH‹C HÀNH LABORATORY 102/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Khai báo Khai báo bi∫u th˘c

I Khai báo bi∫u th˘c:


f = 2x + b
I Khai báo bi∏n I Khai báo bi∏n ph˘c
>> syms x b
>> syms a b c x >> syms x y real; >> f = 2*x + b
>> z = x + i*y Ho∞c
Ho∞c
Ho∞c >> f = sym(’2*x + b’)
>> a = sym(’a’)
>> b = sym(’b’) >> x = sym(’x’,’real’); I L˜u ˛:
>> c = sym(’c’) >> y = sym(’y’,’real’);
>> x = sym(’x’) >> z = x + i*y >> g = sym(’5’)

Khác
>> g = 5

TH‹C HÀNH LABORATORY 104/148 TH‹C HÀNH LABORATORY 105/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Tìm bi∏n hình th˘c Hi∫n th‡ bi∏n hình hÂc d˜Ói d§ng sË hÂc
>> t = 0.1;
I Lªnh findsym(f): Tìm bi∏n hình th˘c trong bi∫u th˘c >> sym(t,’f’)
I Lªnh findsym(f,1): Tìm bi∏n hình th˘c m∞c ‡nh trong bi∫u ans =
th˘c 3602879701896397/36028797018963968
I Ví dˆ: >> sym(t,’r’)
ans =
>> syms a b n t x z >> syms a b n t x z 1/10
>> f = x^n >> f = x^n >> sym(t,’e’)
>> g = sin(a*t + b) >> g = sin(a*t + b) ans =
eps/40 + 1/10
>> findsym(f) >> findsym(g,1) >> sym(t,’d’)
ans = ans = ans =
n,x t 0.10000000000000000555111512312578
>> findsym(g) >> findsym(f,1) >> digits(7)
ans = ans = >> sym(t,’d’)
a,b,t x ans =
0.1
TH‹C HÀNH LABORATORY 106/148 TH‹C HÀNH LABORATORY 107/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các phép toán cÏ b£n Các phép toán cÏ b£n

Stt Lªnh trong fi nghæa K∏t qu£


MATLAB Stt Lªnh trong fi nghæa K∏t qu£
MATLAB
1 x = sym(’x’,’real’) T§o bi∏n x là
T§o bi∏n sË th¸c 6 A+B CÎng 2 bi∏n y^2 + x
A và B
2 x = sym(’x’,’positive’) T§o bi∏n x là
7 A-B Tr¯ 2 bi∏n - y^2 + x + 2
sË th¸c d˜Ïng
A và B
3 syms x y; ‡nh nghæa 2 bi∏n
8 A*B Nhân 2 bi∏n (y^2 - 1)*(x + 1)
x, y
A và B
4 syms Liªt kê các bi∏n ’x’ ’y’
9 A/B Bi∏n A chia (x + 1)/(y^2 - 1)
mà ch˜Ïng trình
qu£n l˛ bi∏n B
10 A^B A lÙy th¯a B (x + 1)^(y^2 - 1)
5 A = x + 1 T§o hai bi∏n
B = y^2 - 1 symbolic mÓi
A và B
TH‹C HÀNH LABORATORY 108/148 TH‹C HÀNH LABORATORY 109/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các phép tính §o hàm và tích phân Các phép tính §o hàm và tích phân

Stt Lªnh trong fi nghæa K∏t qu£


MATLAB
Stt Lªnh trong fi nghæa K∏t qu£
11 diff(B) Tính §o hàm 2*y MATLAB
bi∫u th˘c B 15 int(A) Tính tích phân (x*(x + 2))/2
12 diff(B,2) Tính §o hàm 2
bi∫u th˘c A
bi∫u th˘c B b™c 2 16 int(A,0,5) Tính tích phân 35/2
13 diff(A*B,y) Tính §o hàm 2*y*(x + 1)
bi∫u th˘c A
bi∫u th˘c A*B
t¯ 0 ∏n 5
b theo bi∏n y 17 int(A*B,x) Tính tích phân ((y^2 - 1)*(x + 1)^2)/2
14 diff(A*B,y,2) Tính §o hàm b™c 2 2*x + 2
bi∫u th˘c A*B
bi∫u th˘c A*B
theo bi∏n x
b theo bi∏n y

TH‹C HÀNH LABORATORY 110/148 TH‹C HÀNH LABORATORY 111/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

§o hàm §o hàm cßp 2


I Lªnh: I Lªnh:

diff(Y) diff(Y,2)
VÓi Y là hàm sË ho∞c bi∏n hình th˘c c¶n lßy §o hàm. Ho∞c
I Ví dˆ:
diff(diff(Y))
>> syms x; >> c = sym(’5’); VÓi Y là hàm sË ho∞c bi∏n hình th˘c c¶n lßy §o hàm.
>> f = sin(5*x); I Ví dˆ:
>> diff(f) >> diff(c)
ans = ans = >> syms x >> syms x
5*cos(5*x) 0 >> g = exp(x)*cos(x) >> g = exp(x)*cos(x)
g = g =
>> g = exp(x)*cos(x) >> diff(5) exp(x)*cos(x) exp(x)*cos(x)
>> diff(g) ans =
ans = [] >> diff(g,2) >> diff(diff(g))
exp(x)*cos(x) ans = ans =
- exp(x)*sin(x) Vì 5 không ph£i bi∏n hình th˘c. -2*exp(x)*sin(x) -2*exp(x)*sin(x)
TH‹C HÀNH LABORATORY 112/148 TH‹C HÀNH LABORATORY 113/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

§o hàm a bi∏n Ví dˆ

GÂi f = f(x,y) thì


>> findsym(f,1)
I §o hàm theo x I §o hàm theo y >> syms s t ans =
>> f = sin(s*t); t
diff(f,x) diff(f,y)
>> diff(f,t,2)
I §o hàm cßp 2 theo x I §o hàm cßp 2 theo y >> diff(f,t) ans =
ans = -s^2*sin(s*t)
diff(f,x,2) diff(f,y,2) s*cos(s*t)
I N∏u x là bi∏n m∞c ‡nh cıa f thì >> diff(f,2)
>> diff(f,s) ans =
diff(f,2) ans = -s^2*sin(s*t)
T˜Ïng ˜Ïng vÓi t*cos(s*t) Ta thßy k∏t qu£ t¯ lªnh findsym
t là bi∏n m∞c ‡nh nên
diff(f,x,2) diff(f,t,2) = diff(f,2)

TH‹C HÀNH LABORATORY 114/148 TH‹C HÀNH LABORATORY 115/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

§o hàm vÓi ma tr™n Tích Phân

>> syms a x I Lªnh tìm nguyên hàm cıa hàm f = f(x)


>> A = [cos(a*x) sin(a*x); -sin(a*x) cos(a*x) ]
int(f,x)
A =
[ cos(a*x), sin(a*x)] Ho∞c
[ -sin(a*x), cos(a*x)] int(f)
I Lªnh tính tích phân cıa hàm f t¯ a ∏n b
>> diff(A)
int(f,x,a,b)
ans =
Ho∞c
[ -a*sin(a*x), a*cos(a*x)]
[ -a*cos(a*x), -a*sin(a*x)] int(f,a,b)

TH‹C HÀNH LABORATORY 116/148 TH‹C HÀNH LABORATORY 117/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ví dˆ GiÓi h§n

>> syms x n a b t
>> g = cos(a*t + b)
>> int(g) I limx!0 f (x)
>> f = x^n;
ans =
limit(f) I limx!a f (x)
sin(b + a*t)/a
>> int(f,x)
>> h = sin(2*x); I limx!a f (x) limit(f,x,a,’left’)
ans =
>> int(h,0,pi/2)
piecewise([n == -1, log(x)], I limx!a+ f (x)
ans = limit(f,x,a)
[n ~= -1, x^(n + 1)/(n + 1)])
1
Ho∞c limit(f,x,a,’right’)
>> u = exp(-x^2);
>> int(f)
>> int(u,0,inf) limit(f,x)
ans =
ans =
piecewise([n == -1, log(x)],
pi^(1/2)/2
[n ~= -1, x^(n + 1)/(n + 1)])

TH‹C HÀNH LABORATORY 118/148 TH‹C HÀNH LABORATORY 119/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ví dˆ TÍng chuÈi

>> syms h n x
>> limit( ( cos(x+h)-cos(x) )/h, h, 0 ) Tính:
1 1
ans = S1 = 1 + + + ...
22 32
-sin(x)
>> limit( (1+x/n)^n, n, inf ) S2 = 1 + x + x 2 + . . .
ans =
exp(x) >> syms x k
>> limit( x/abs(x), x, 0, ’left’ )
ans = >> S1 = symsum(1/k^2, 1, inf )
-1 S1 =
>> limit( x/abs(x), x, 0, ’right’ ) pi^2/6
ans =
1 >> S2 = symsum(x^k, k, 0, inf)
>> limit( x/abs(x), x, 0 ) S2 =
ans = piecewise([1 <= x, Inf], [abs(x) < 1, -1/(x - 1)])
NaN
TH‹C HÀNH LABORATORY 120/148 TH‹C HÀNH LABORATORY 121/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Các phép tính toán thu gÂn collect

Stt Lªnh trong fi nghæa K∏t qu£


MATLAB
I collect(f) - f = f (x)
1 collect((x+1)^2 Gom các lÙy y^2 + (2*x)*y
I collect(f,y) - f = f (x, y , . . .)
+ (x+y)^2, y) th¯a cùng b™c + (x + 1)^2
I Ïn gi£n hàm f b¨ng các nhóm các bi∏n x có cùng sË mÙ.
theo bi∏n y + x^2
I Tr˜Ìng hÒp f có nhi∑u bi∏n collect(f,y) s≥ chø ‡nh gom
2 expand((x+y+1)^2) Khai tri∫n x^2 + 2*x*y
nhóm theo bi∏n y
các bi∫u th˘c + 2*x + y^2 I collect(f) gom nhóm theo bi∏n m∞c ‡nh ˜Òc chø ra trong
+ 2*y + 1 findsym(f).
3 factor(x^3-y^3) Phân tích thành (x - y)*(x^2 +
th¯a sË x*y + y^2)
4 simplify((x^3 Thu gÂn x + y^2/(x + y)
-y^3)/(x^2-y^2)) bi∫u th˘c

TH‹C HÀNH LABORATORY 122/148 TH‹C HÀNH LABORATORY 123/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ví dˆ Ví dˆ

>> syms x t

>> f = x^3 - 6*x^2 + 11*x - 6;


>> collect(f)
>> g = (x - 1)*(x - 2)*(x - 3);
ans = >> f = (1 + x)*t + x*t;
>> h = -6 + ( 11 + (-6 + x)*x )*x;
x^3 - 6*x^2 + 11*x - 6 >> collect(f)
>> collect(g) ans =
>> pretty(f)
ans = (2*t)*x + t
3 2
x^3 - 6*x^2 + 11*x - 6 >> collect(f,t)
x - 6 x + 11 x - 6
>> collect(h) ans =
ans = (2*x + 1)*t
>> pretty(g)
x^3 - 6*x^2 + 11*x - 6
(x - 1) (x - 2) (x - 3)

>> pretty(h)
x (x (x - 6) + 11) - 6

TH‹C HÀNH LABORATORY 124/148 TH‹C HÀNH LABORATORY 125/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

expand factor

I factor(f) - phân tính thành th¯a sË


I Ví dˆ:
I expand(f) - Khai tri∫n bi∫u th˘c f
I Ví dˆ:
>> syms x
>> syms x y a b >> f = x^3 - 6*x^2 + 11*x - 6;
>> h = exp(a+b); >> g = x^3 - 6*x^2 + 11*x - 5;
>> f = a*(x+y);
>> expand(h) >> h = x^6 + 1;
>> expand(f)
ans = >> factor(f)
ans =
exp(a)*exp(b) ans =
a*x + a*y
>> k = cos(3*x); (x - 3)*(x - 1)*(x - 2)
>> g = (x-1)*(x-2)*(x-3);
>> expand(k) >> factor(g)
>> expand(g)
ans = ans =
ans =
4*cos(x)^3 - 3*cos(x) x^3 - 6*x^2 + 11*x - 5
x^3 - 6*x^2 + 11*x - 6
>> factor(h)
ans =
(x^2 + 1)*(x^4 - x^2 + 1)
TH‹C HÀNH LABORATORY 126/148 TH‹C HÀNH LABORATORY 127/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

simplify simple

I simple(f)- rút gÂn bi∫u th˘c f , k∏t hÒp các phép toán cıa
I simplify(f)- Ïn gi£n bi∫u th˘c f .
simplify, collect, factor.
I Ví dˆ:
I Ví dˆ:

>> syms x
>> syms x y positive >> syms a
>> f = x*(x*(x - 6) + 11)-6; >> syms x y positive
>> simplify(log(x*y)) >> f = (1/a^3 + 6/a^2
>> simplify(f) >> h = log(x*y);
ans = + 12/a + 8)^(1/3);
ans = >> simplify(h)
log(x*y) >> simplify(f)
(x - 1)*(x - 2)*(x - 3) ans =
>> h = cos(x)^2 + sin(x)^2; ans =
>> g = (1 - x^2)/(1 - x); log(x*y)
>> simplify(h) ((2*a + 1)^3/a^3)^(1/3)
>> simplify(g) >> simple(f)
ans = >> simple(f)
ans = ans =
1 ans =
x + 1 log(x*y)
((2*a + 1)^3/a^3)^(1/3)

TH‹C HÀNH LABORATORY 128/148 TH‹C HÀNH LABORATORY 129/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

I poly2sym(a,x)- t§o mÎt a th˘c theo bi∏n x vÓi các hª sË


˜Òc lßy l¶n l˜Òt t¯ m£ng a
I Ví dˆ:

>> syms x
>> a = [1 4 -7 -10];
>> p = poly2sym(a,x)
p =
x^3 + 4*x^2 - 7*x - 10 Ÿng dˆng Matlab
I s = sym2poly(p)- trích các hª sË cıa a th˘c p ch˘a vào
m£ng s.
I Ví dˆ:

>> syms x
>> p = 4*x^3 - 2*x^2 + 5*x -16;
>> s = sym2poly(p)
s =
4 -2 5 -16
TH‹C HÀNH LABORATORY 130/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Tính toán trong §i sË tuy∏n tính Tính toán trong §i sË tuy∏n tính
I Khai báo ma tr™n
>> C = [t 1 0; 1 t 1; 0 1 t]
>> syms a b c d t C =
[ t, 1, 0] Các phép toán vÓi hai ma tr™n A và B
>> A = [a b; c d] [ 1, t, 1] I Phép cÎng: A + B
A = [ 0, 1, t]
I Phép tr¯: A - B
[ a, b] >> D = round(rand(3,3))
I Phép nhân: A*B, A\B (A*inv(B)), A\B (inv(A)*B)
[ c, d] D =
1 1 0 I LÙy th¯a: A^n
>> B = [cos(t) sin(t); 1 1 1 I Phép chuy∫n v‡: A.’
-sin(t) cos(t)] 0 0 1
B = >> D = sym(D)
[ cos(t), sin(t)] D =
[ -sin(t), cos(t)] [ 1, 1, 0]
[ 1, 1, 1]
[ 0, 0, 1]
TH‹C HÀNH LABORATORY 132/148 TH‹C HÀNH LABORATORY 133/148
Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Tính toán trong §i sË tuy∏n tính Ví dˆ

>> c = floor(10*rand(4))
Các hàm x˚ l˛ ma tr™n: c =
I inv(A) : Tìm ma tr™n ngh‡ch £o cıa ma tr™n A 9 4 9 0
1 8 7 8
I det(A) : Tính ‡nh th˘c cıa ma tr™n A
9 1 9 9
I rank(A) : Tìm h§ng cıa ma tr™n A 9 4 6 6
I diag(A) : Trích ˜Ìng chéo cıa ma tr™n A >> D = sym(c)
I tril(A) : T§o ma tr™n tam giác d˜Ói t¯ ma tr™n A D =
I
[ 9, 4, 9, 0]
triu(A) : T§o ma tr™n tam giác trên t¯ ma tr™n A
[ 1, 8, 7, 8]
[ 9, 1, 9, 9]
[ 9, 4, 6, 6]

TH‹C HÀNH LABORATORY 134/148 TH‹C HÀNH LABORATORY 135/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ví dˆ Ví dˆ

>> A = inv(D)
A =
[ -5/576, -5/64, -7/144, 17/96] >> b = ones(1,4)
[ 1/128, 9/128, -5/32, 9/64] b =
[ 67/576, 3/64, 17/144, -23/96] 1 1 1 1
[ -125/1152, 3/128, 17/288, 3/64] >> x = b/A
>> inv(A)*A x =
ans = [ 28, 17, 31, 23]
[ 1, 0, 0, 0] >> x*A
[ 0, 1, 0, 0] ans =
[ 0, 0, 1, 0] [ 1, 1, 1, 1]
[ 0, 0, 0, 1]
>> det(A)
ans =
1/3456

TH‹C HÀNH LABORATORY 136/148 TH‹C HÀNH LABORATORY 137/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Ví dˆ Gi£i ph˜Ïng trình §i sË

>> A^3 I solve(f)- Gi£i ph˜Ïng trình f (x) = 0


ans = I Ví dˆ:
[ 359105/254803968, 2899/1048576, 266299/63700992,
-370301/42467328] >> syms a b c x
[ -465101/56623104, 54425/18874368, 32257/14155776, >> f = a*x^2 + b*x + c;
55307/28311552] >> solve(f)
[ -148135/254803968, -123815/28311552, -208061/63700992,
368459/42467328] ans =
[ 2256281/509607936, 35993/56623104, -335357/127401984, -(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-43687/28311552] -(b - (b^2 - 4*a*c)^(1/2))/(2*a)

TH‹C HÀNH LABORATORY 138/148 TH‹C HÀNH LABORATORY 139/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Gi£i ph˜Ïng trình §i sË Gi£i ph˜Ïng trình §i sË

I solve(f) - Gi£i ph˜Ïng trình theo bi∏n m∞c ‡nh ˜Òc chø ra
trong hàm findsym(f,1),  ví dˆ trên I solve(’f(x) = g(x)’) - Gi£i ph˜Ïng trình f (x = g (x)).
>> findsym(f,1) L˜u ˛ ph£i ∞t trong dßu nháy.
ans = I Ví dˆ:
x
>> syms x
I solve(f,a) - Gi£i ph˜Ïng trình theo bi∏n chø ‡nh là a >> s = solve(’cos(2*x) + sin(x) = 1’)
(t˜Ïng t¸ cho b, c).
I Ví dˆ: s =

>> syms a b c x 0
>> f = a*x^2 + b*x + c; pi/6
>> solve(f,b) (5*pi)/6
ans =
-(a*x^2 + c)/x

TH‹C HÀNH LABORATORY 140/148 TH‹C HÀNH LABORATORY 141/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Gi£i ph˜Ïng trình §i sË Ví dˆ

I solve(’f(x)’, ’g(x)’, h(x), ...)- Gi£i hª nhi∑u Gi£i hª


ph˜Ïng trình. 8 2
I Ví dˆ: Gi£i hª: < u + v 2 = a2
⇢ 2 2 u+v =1
: 2
x y =0 a 2⇤a =3
x y2 = ↵
>> syms a u v
>> syms x y alpha >> S = solve(’u^2 + v^2 =
>> [x, y] = solve(’x^2*y^2 = 0’,’x - y/2 = alpha’) >> S.a
a^2’,’u + v = 1’,
x = ans =
’a^2 - 2*a = 3’)
alpha -1
0 -1
S =
3
a: [4x1 sym]
y = 3
u: [4x1 sym]
0 v: [4x1 sym]
-2*alpha
TH‹C HÀNH LABORATORY 142/148 TH‹C HÀNH LABORATORY 143/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Gi£i ph˜Ïng trình §o hàm riêng Gi£i ph˜Ïng trình §o hàm riêng

I Ví dˆ 2: Gi£i
I dsolve- Hàm gi£i ph˜Ïng trình - hª ph˜Ïng trình §o hàm
riêng. d 2y d
I Ví dˆ 1: Gi£i = cos(2x) y , y (0) = 1, y (0) = 0
dx 2 dx
dy
= 1 + y 2 , y (0) = 1
dt
>> y = dsolve(’D2y = cos(2*x) - y’,’y(0) = 1’,
>> y = dsolve(’Dy = 1 + y^2’, ’y(0) = 1’) ’Dy(0) = 0’,’x’);

y = >> simplify(y)
tan(pi/4 + t) ans =
1 - (8*(cos(x)/2 - 1/2)^2)/3

TH‹C HÀNH LABORATORY 144/148 TH‹C HÀNH LABORATORY 145/148


Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

Gi£i ph˜Ïng trình §o hàm riêng Gi£i ph˜Ïng trình §o hàm riêng

I Ví dˆ 4: Gi£i
I Ví dˆ 3: Gi£i
8 df
8 d3 < dt = 3f (t) + 4g (t), f (0) = 0
< dx 3
=u
: dg
: dt = 4f (t) + 3g (t), g (0) = 1
u(0) = 1; u 0 (0) = 1; u 00 (0) = ⇡

>> [f,g] = dsolve(’Df = 3*f + 4*g’,’Dg = -4*f + 3*g’,


>> dsolve(’D3u = u’,’u(0) = 1’, ’Du(0) = -1’, ’f(0) = 0’, ’g(0) = 1’)
’D2u(0) = pi’,’x’)
f =
ans = sin(4*t)*exp(3*t)
(pi*exp(x))/3 - exp(-x/2)*cos((3^(1/2)*x)/2)*(pi/3 - 1) -
(3^(1/2)*exp(-x/2)*sin((3^(1/2)*x)/2)*(pi + 1))/3 g =
cos(4*t)*exp(3*t)

TH‹C HÀNH LABORATORY 146/148 TH‹C HÀNH LABORATORY 147/148

Giao diªn cıa Matlab Các phép toán cÏ b£n S˚ dˆng file .m và l™p trình Ma tr™n trong Matlab Á th‡ 2D trong Matlab Phép tính vÓi bi∏n symbolic Ÿng dˆng MATLAB

TH‹C HÀNH LABORATORY 148/148

You might also like