BI TH NGHIM 1
MATLAB
I. TM TT L THUYT
1. Cc ton t
Có 2 loại toán tử cơ bản là toán tử unary(toán tử mt ngôi) và binary (toán t hai
ngôi). Ví dụ kí hiệu - đưc hiểu toán tử một ngôi là giá trị âm và hiểu toán tử hai
ngôi là toán tử tr .
- ới đây là một vài toán tử ph biến được s dng với các biểu thc s hc :
+ toán t cng
- giá trị âm , toán tử tr
* toán t nhân
/ toán t chia ly t (9/3 = 3)
\ toán t chia ly mu (3/12 = 4)
^ toán t y thừa.
2. Vectơ v ma trn
- Vector và ma trận đưc s dụng để lưu tập các giá trị có cùng kiểu d liu . Mt
vector có thể là vector hàng hoc vector ct . Mt ma trận có thể đưc hình thành t
mt bảng giá trị. Ma trn c mxn là bảng s ch nht gm mxn s đưc sp xếp thành
m hàng và n cột :
+ Nếu m = 1 thì ma trận chuyển thành vector hàng
+ Nếu n = 1 thì ma trn chuyển thành vector ct
+ Nếu m = n = 1 thì ma trận tr thành đi lượng vô hướng.
- Mt vector trong MATLAB được coi là mảng 1 chiu trong các ngôn ngữ khác. Mt
ma trận được coi là mảng 2 chiều . Vì vậy trong MATLAB , thc hiện toán tử vi
vector và ma trận thì được coi là các toán t mng .
2.1 To vectơ hng
Tạo 1 vectơ v = [1,2,3,4]
hoặc v = [1 2 3 4]
Dùng colon operator: v = 1:2:9 với 1: giá trị đu, 9:giá trị cuối, 2:bước nhảy
ta dùng v= 1:9 trưng hợp bước nhảy bng 1.
Dùng linspace: v = linspace(1,9,5) với 1: giá trị đu, 9: giá trị cuối, 5: số phn
tử.
2.2 To vectơ ct
Ta dùng dấu ; để ngăn cách giữa các phn tử
c = [1;2;3;4]
hoặc dùng dấu ’ sau vectơ hàng để được vectơ cột
c = v'
2.3 To ma trn
Kết hợp cách tạo vectơ hàng và vectơ cột
mat = [1 2 3; 4 5 6]
mat = [1:3;4:6]
mat = [linspace(3,15,5);1:2:9]
Tạo ma trận ngẫu nhiên mat = randint(2,3,[10,20]) với 2 : số hàng, 3 : số cột,
[10,20] : phạm vi giá trị.
Ma trận không mat = zeros(2,4) với 2: số hàng, 4 : số cột
trưng hợp ma trận không vuông mat = zeros(3) với 3 : số hàng, cột
3. Plot v subplot
Lnh plot trong MATLAB cho phép vẽ đồ th t d liệu là vector. Ví dụ nếu có biến t
là thi gian và y là tín hiệu , gõ lệnh plot(t,y); lp tc xut hin giao diện đồ th ca t
và y. Các hàm phổ biến cho plot:
title ('…') : chú thích tên đ th.
xlabel ('…') : chú thích tên trục x ca đ th.
ylabel('…') : chú thích tên trc y ca đ th.
grid on : hin th i các ô vuông.
- Để hin th nhiều đồ th trên một màn hình , sử dụng hàm subplot. Hàm này gồm 3
đối s (m,n,p) , m và n chia màn hình ra thành m hàng và n ct . Đi s p xác định đồ
th nào xuất hiện trước .
subplot (…,…,…): hin th vùng muốn v.
stem (signal): v chui d liu ri rc.
angle(x): argument ca s phc a.
real(x): phn thc ca x ;
imag(x): phn o ca x.
conj(x): s phức liên hợp ca x.
abs(x) :modun ca s phc x.
4. Điu kin if v if else
Cấu trúc if
if điu khin
câu lnh
end
Cấu trúc if - else
if điu khin
câu lnh 1
else
câu lnh 2
end
5. Vng lp for
Cấu trúc: for điu khin
câu lnh
end
II. BI TP
Bi tp 1 :
ftemp=randint(2,6,[80,100]) ;
F=ftemp
C=(F-32).*5/9 ;
ctemp=C
Bi tp 2 :
3:6
1:0.5:3
5:-1:2
Bi tp 3 :
linspace(4,8,3)
linspace(-3,-15,5)
linspace(9,5,3)
Bi tp 4 :
[7:-1:5;3:2:7]
Bi tp 5 :
x=-2:0.1:2;
plot(x, exp(x))
title('DO THI HAM e^x')
xlabel('Truc x')
ylabel('e^x')
Bi tp 6 :
x1=linspace(0,10, 10);
subplot(1,2,1)
plot(x1,sin(x1))
title('Do thi ham sin(x)')
xlabel('x1')
ylabel('sin(x1)')
x2=linspace(0,10, 100);
subplot(1,2,2)
plot(x2,sin(x2))
title('Do thi ham sin(x)')
xlabel('x2')
ylabel('sin(x2)')
Bi tp 7 :
Scrip:
if wind<=38
fprintf('A storm is a tropical depression')
else if 38<wind&&wind<=73
fprintf('A storm is a tropical storm')
else fprintf('A storm is a hurricane')
end
end
Bi tp 8:
clc;close all;
x=randint(3,5,[0,20])
%max cua ma tran
for j=1:5
for i=1:3
if max<x(i,j)
max=x(i,j);
end
end
end
max
%max cua moi cot trong ma tran
for j=1:5 maxc=x(1,j);
for i=1:3
if maxc<x(i,j)
maxc=x(i,j);
end
end
maxc
end
%max cua moi hang trong ma tran
for i=1:3 maxh=x(i,1);
for j=1:5
if maxh<x(i,j)
maxh=x(i,j);
end
end
maxh
end