Professional Documents
Culture Documents
Matlab
Matlab
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 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 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 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 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˜
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
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
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 = 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
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.
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
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
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
Diπn §t: Bi∏n x s≥ có giá tr‡ b¨ng giá tr‡ mà ng˜Ìi s˚ dˆng
nh™p vào.
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
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
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
Start
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
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
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
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
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
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
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
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))
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
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
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
Các phép toán trong ma tr™n và vector Các phép toán trong ma tr™n và vector
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
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
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
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
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
sin(x)
1
0.8 1
0.2
m∞t phØng. 0
ezplot(’Ham so can ve’). 0
−1
−8 −6 −4 −2 0 2 4 6 8 −6 −4 −2 0 2 4 6
x
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
Matlab s≥ v≥ mÎt ˜Ìng x theo t và mÎt ˜Ìng y theo t. >> y2 = sin(x + pi/4); 0.2
−0.2
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 ó
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
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
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
0.4
,’LineWidth’,5)
0.4
Ïn v‡
0
−0.4
là point
−0.4
−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
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
−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
I Lªnh axis
5
>> x = 0:0.25:pi/2; 4
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
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
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
x}sin(10x)’); −20
plot(t,v); −40
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
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
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
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
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%
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 bi 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’);
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 bi 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
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
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’);
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ˆ
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
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
Khác
>> g = 5
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 tính §o hàm và tích phân Các phép tính §o hàm và tích phân
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
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ˆ
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)])
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
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
>> pretty(h)
x (x (x - 6) + 11) - 6
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
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)
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
>> 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
>> 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]
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
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
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
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
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
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) = ⇡
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