Giáo trình Matlab v5.3 - Chương 3: Các khái niệm cơ bản

- ?hoặc Ctrl + p : Gọi lại các lệnh đã thực hiện tr-ớc đó.

- ?hoặc Ctrl +n : Gọi lại lệnh vừa thực hiện tr-ớc đó.

- ?hoặc Ctrl + f : chuyển con trỏ sang bên phải 1 ký tự.

- ?hoặc Ctrl + b: chuyển con trỏ sang trái một ký tự.

- Dấu (;) để kết thúc một dòng lệnh

- ?nhảy xuống dòng d-ới

- Ctrl + A hoặc Home : chuyển con trỏ về đầu dòng.

- Ctrl + E hoặc End: Chuyển con trỏ đến cuối dòng.

- BackSpace: Xoá ký tự bên trái con trỏ.

- Esc: xoá dòng lệnh.

pdf22 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 1927 | Lượt tải: 2download
Tóm tắt nội dung Giáo trình Matlab v5.3 - Chương 3: Các khái niệm cơ bản, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
t; 
- Nhỏ hơn hoặc bằng: <= 
- Lớn hơn: > 
- Lớn hơn hoặc bằng: >= 
- Bằng: == 
- Không bằng ( khác): ~= 
 Biểu thức có các toán tử quan hệ nhận gia trị đúng lμ (true) hoặc sai (false). Trong 
Matlab, biểu thức đúng sẽ có giá trị lμ 1, biểu thức sai có gia trị lμ 0. 
Ví dụ1: 
>>12.2>12 
ans = 
 1 
>>1~=1 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 22 
ans = 
 0 
 >> A=[ 1:3;4:6;7:9] 
A = 
 1 2 3 
 4 5 6 
 7 8 9 
>> B=[1:3;2:4;10:12] 
B = 
 1 2 3 
 2 3 4 
 10 11 12 
>> A==B 
ans = 
 1 1 1 
 0 0 0 
 0 0 0 
 Ví dụ 2: 
 Cho một quả cầu mặng có khối l−ợng lμ m = 2kg đ−ợc buộc vμo một sợi dây có 
chiều dμi 
 l = 1.5m. Một ng−ời nắm vμo đầu dâyvμ quay tròn quả cầu theo ph−ơng thẳng đứng.Vận 
tốc dμi của quả cầu ở vị trí cao nhất lμ v =6m/s. lực kéo T trên sợi dây thay đổi theo góc 
nghiêng của dây với ph−ơng nằm ngang xác định theo công thức sau: 
 ( )θsin322 −+= mg
l
mvT 
 Cho biết khi lực kéo T> 145N thì sơi dây bị đứt . Hãy xác định những vị trí dây bị 
đứt. 
Ch−ơng trình nh− sau: 
 function y = tinhluc(theta,T) 
m=2;l=1.5;Tmax=145;v=6;g=9.8; 
theta=0:10:360; 
θ 
v 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 23 
rad=pi*theta/180; 
T=m*(v^2/l+g*(2-3*sin(rad))); 
bang=[theta;T>Tmax] 
plot(theta,T); 
grid on 
>>Tinhluc 
bang = 
 Columns 1 through 12 
 0 10 20 30 40 50 60 70 80 90 100 110 
 0 0 0 0 0 0 0 0 0 0 0 0 
 Columns 13 through 24 
 120 130 140 150 160 170 180 190 200 210 220 230 
 0 0 0 0 0 0 0 0 0 0 0 0 
 Columns 25 through 36 
 240 250 260 270 280 290 300 310 320 330 340 350 
 0 0 1 1 1 0 0 0 0 0 0 0 
 Column 37 
 360 
 0 
 Từ kết quả trên ta thấy tại các vị trí ứng với các góc 2600, , 2700, , 2800, thì biểu thức logic 
T>Tmax có giá trị lμ 1, tức tại đó dây có thể sẽ bị đứt. 
3.10.2 Các phép toán logic 
Các phép toán logic vμ, hoặc, đảo đ−ợc thực hiện bởi các toán tử sau: 
- Phép vμ( and): Ký hiệu lμ & 
VD: phép & 2 ma trận cùng cỡ A, B lμ một ma trận có các phần tử bằng 1 nếu các phần 
tử t−ơng ứng của cả 2 ma trận đầu đều khác 0 vμ bằng 0 nếu 1 trong 2 phần tử t−ơng ứng 
của 2 ma trận bằng 0. 
>>A=[1 2 7; 0 4 9;1 3 5]; 
 >> B=[0 2 4; 2 4 6; 3 0 7] 
>> C=A&B 
C = 
 0 1 1 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 24 
 0 1 1 
 1 0 1 
- Phép hoặc (or) : Ký hiệulμ | 
VD : phép or 2 ma trận cùng cỡ A,B lμ một ma trận có các phần tử bằng 0 nếu các phần 
tử t−ơng ứng của cả 2 ma trận đầu đều bằng 0 vμ bằng 1 nếu 1 trong 2 phần tử t−ơng ứng 
của 2 ma trận khác 0. 
>>A=[0 2 7; 0 4 9;1 3 0]; 
>> B=[0 2 4; 2 4 6; 3 0 0]; 
>> C=A | B 
C = 
 0 1 1 
 1 1 1 
 1 1 0 
- Phép đảo( not): Ký hiệu lμ ~ 
Ví Dụ : phép đảo của một ma trận lμ một ma trận có cùng cỡ với các phần tử có giá trị 
bằng 1 nếu các phần tử của ma trận đầu có giá trị bằng 0 vμ bằng 0 nếu các phần tử của 
ma trận đầu có giá trị khác 0. 
>>A=[0 2 7; 0 4 9;1 3 0] 
>> B=~A 
B = 
 1 0 0 
 1 0 0 
 0 0 1 
3.10.3 Cấu trúc câu lệnh điều kiện: 
• Lệnh if đơn: 
Cú pháp: if 
 Nhóm lệnh; 
 End 
Nếu biểu thức logic đúng nhóm lệnh sẽ đ−ợc thực hiện . Nếu biểu thức logic sai thì 
ch−ơng trình chuyển đến lệnh sau end. 
VD: 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 25 
 function y=f(a,b,c) 
 if a<b 
 disp(' hinh thang nguoc') 
 end 
 y=(a+b)*c/2; 
Sau đó ghi tên lμ ht 
Quay lại cửa sổ MatLab command Window: 
>> ht(2,4,2) 
 hinh thang nguoc 
ans = 
 6 
• Cấu trúc lệnh if lồng nhau: 
Cú pháp: if 
 Nhóm lệnh 1; 
 if 
 Nhóm lệnh 2; 
 End 
Nhóm lệnh 3; 
 End 
 Nhóm lệnh 4; 
Nếu biểu thức logic 1 đúng thì 
- Thực hiện nhóm lệnh 1. 
- Kiểm tra biểu thức logic 2. 
- Nếu đúng thực hiện nhóm lệnh 2 
- Nếu sai bỏ qua nhóm lệnh 2 
- Thực hiện nhóm lệnh 3. 
Nếu biểu thức logic 1 sai thì 
- Thực hiện nhóm lệnh 4. 
• Lệnh else: 
Cú pháp: if 
 Nhóm lệnh A; 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 26 
 else 
 Nhóm lệnh B; 
 End 
Nhóm lệnh A sẽ đ−ợc thực hiện nếu biểu thức logic đúng. Nếu không nhóm lệnh 
B sẽ đ−ợc thực hiện. 
• Lệnh elseif 
Cú pháp: if 
 Nhóm lệnh A; 
 Elseif 
 Nhóm lệnh B; 
Elseif 
 Nhóm lệnh C; 
 ...... 
 End 
 Nếu BT logic 1 đúng nhóm lệnh A sẽ đ−ợc thực hiện. Nếu sai kiểm tra Btlogic 2, 
nếu đúng thực hiện nhóm lệnh B. Nếu sai kiểm tra BT logic3,nếu đúng thực hiện nhóm 
lệnh CNếu không có biểu thức logic nμo đúng thì không có lệnh nμo trong cấu trúc trên 
đ−ợc thực hiện. 
• Kết hợp cấu trúc elseif vμ else 
Cú pháp: if 
 Nhóm lệnh A; 
 Elseif 
 Nhóm lệnh B; 
Elseif 
 Nhóm lệnh C; 
 ...... 
Else 
 Nhóm lệnh n; 
 End 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 27 
Nếu BT logic 1 đúng nhóm lệnh A sẽ đ−ợc thực hiện. Nếu sai kiểm tra Btlogic 2, nếu 
đúng thực hiện nhóm lệnh B. Nếu sai kiểm tra BT logic3, nếu đúng thực hiện nhóm lệnh 
CNếu không có biểu thức logic nμo đúng thì nhóm lệnh n đ−ợc thực hiện. 
a=input(' vao a=') 
b=input(' vao b=') 
c=input(' vao c=') 
d=b^2-4*a*c 
if d < 0 
 disp(' pt vo nghiem') 
elseif d==0 
 disp (' pt co nghiem kep') 
 x12=-b/2*a 
else 
 disp (' pt co 2 nghiem phan biet') 
 x1=(-b+sqrt(d))/2*a 
 x2=(-b-sqrt(d))/2*a 
end 
• câu điều kiện vμ lệnh Break 
cú pháp: if,break, end 
thoát khỏi vòng lặp nếu điều kiện logic đúng. Ng−ợc lại sẽ thực hiện lệnh tiếp 
theo trong vòng lặp. 
3.10.4 Cấu trúc vòng lặp. 
• vòng lặp for: 
cú pháp: for chỉ số = biểu thức 
 nhóm lệnh A; 
 end 
qui tắc thực hiện: 
- Chỉ số của vòng lặp phải lμ biến. 
- Nếu ma trận biểu thức lμ rỗng thì không thực hiện vòng lặp. 
- Nếu biểu thức lμ một đại l−ợng vô h−ớng vòng lặp thực hiện 1 lần vμ chỉ số nhận giá 
trị của đại l−ợng vô h−ớng. 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 28 
- Nếu biểu thức lμ một vector hμng, số lần lặp bằng số phần tử trong véctor sau mỗi lần 
lặp chỉ số nhận giá trị tiếp theo của vector. 
- Nếu biểu thức lμ một ma trận thì số vòng lặp bằng số cột của ma trận sau mỗi vòng 
lặp chỉ số sẽ nhận giá trị cột tiếp theo của ma trận 
- Khi kết thúc vòng lặp chỉ số nhận giá trị cuối cùng. 
- Có thể dùng toán tử : trong vòng lặp for i = chỉ số đầu: gia số: chỉ số cuối. Vμ số 
vòng lặp đ−ợc tính ceil((chỉ số cuối-chỉ số đầu)/gia số+1) 
 n=input ('vao n=') 
 for k=n 
 s=1; 
 s=s+k 
 end 
đặt tên lμ vd 
>>vd 
vao n=3 
n = 
 3 
s = 
 4 
>>vd 
vao n=[1 4 7] 
n = 
 1 4 7 
s = 
 2 
s = 
 5 
s = 
 8 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 29 
>>vd 
vao n=[1 2 5;5 7 8;9 5 6]; 
 s = 
 2 
 6 
 10 
s = 
 3 
 8 
 6 
s = 
 6 
 9 
 7 
• Vòng lặp While 
Cú pháp: While 
 Nhóm lệnh A; 
End 
Nếu biểu thức đúng thì thực hiện nhóm lệnh A. Khi thực hiện xong thì kiểm tra laị điều 
kiện. Nếu điều kiện vẫn đúng lại thực hiện nhóm lệnh A. Nếu sai vòng lặp kết thúc. 
3.10.5 Các lệnh break, return, error: 
 Lệnh break: kết thúc sự thự thi vòng lặp for hoặc while 
 Lệnh return: th−ờng đ−ợc sử dụng trong các hμm của Matlab. Lệnh return sẽ cho 
phép quay trở về thực thi những lệnh nằm trong tác dụng của lệnh return. 
 Lệnh error (‘dòng nhắn): kết thúc thực thi lệnh vμ hiển thị dòng nhắn trên mμn 
hình. 
 Ví dụ: Chọn một số d−ơng bất kỳ. Nếu số đó lμ số chẵn thì chia hết cho hai. Nếu 
số đó lμ số lể thì nhân với 3 rồi cộng 1. Lặp lại quá trình đó cho đến khi kết quả lμ 1. 
 Ch−ơng trình: 
while 1 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 30 
 n=input ('Nhap vao mot so : '); 
 if n<=0 
 break 
 end 
 while n>1 
 if rem(n,2)== 0% phan du cua n chia cho 2 
 n=n/2 
 else 
 n= 3*n+1 
 end 
 end 
end 
 Khi chạy ch−ơng trình ta sẽ thấy tác dụng của lệnh break ( dừng ch−ơng trình khi 
nhập số âm hoặc số 0) 
3.10.6 Biến toμn cục (global variables) 
 Matlab cho phép sử dụng cùng một biến cho các hμm hoặc giữa các hμm vμ 
ch−ơng trình chính của Matlab, điều nμy đ−ợc thực hiện thông qua việc khai báo biến 
toμn cục: 
Global tên1 tên2 tên3 . 
(Tên các hμm cách nhau bắng dấu khoảng trống, không sử dụng dấu phẩy). 
 Việc khai báo biến toμn cục phải đ−ợc thực hiện ở ch−ơng trình chính hoặc ở file 
lệnh (script) hoặc ở file hμm ( function) có sử dụng các biến. Biến toμn cục có tác dụng 
cho đến khi kết thúc quá trình tính toán hoặc khi toμn bộ workspace đ−ợc xoá. Không 
đ−ợc đ−a tên biến toμn cục vμo danh sách các đối số của hμm. Khi sử dụng biến toμn cục 
các lệnh sau tỏ ra rất cần thiết: 
• Clear glolal : Lệnh nμy cho phép loại bỏ các biến toμn cục. 
• Isglobal(Tên biến) : Lệnh nμy cho phép kiểm tra xem một biến nμo đó có phải lμ 
biến toμn cục hay không. Nếu lμ biến toμn cục thì giá trị trả về sẽ lμ 1. 
3.10.7 Một số hμm toán học: 
Mục nμy chỉ giới thiệu một số hμm đơn giản vμ th−ớng gặp trong khi lập trình: 
• sin: hμm sin 
• cos: hμm cos 
• tan: hμm tang 
• asin: hμm arcsin 
• acos: hμm arccos 
• atan: hμm arctang 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 31 
• sinh: hμm sin hyperbolic 
• cosh: hμm cos hyperbolic 
• tanh: hμm tang hyperbolic 
• asinh: hμm arcsin hyperbolic 
• acosh: hμm arccos hyperbolic 
• atanh: hμm arctang hyperbolic 
• abs: Lấy giá trị tuyệt đối hoặc độ lớn của số phức 
• round: lμm tròn đến số nguyên gần nhất 
• fix: lμm tròn h−ớng về không 
• floor: lμm tròn h−ớng về -∞ 
• ceil : lμm tròn h−ớng về +∞ 
• rem: phần d− sau khi chia 
• gcd: −ớc số trung lớn nhất 
• lcm: bội số trung nhỏ nhất 
• exp: luỹ thừa e 
• log: logarit cơ số e 
• log10: logarit cơ số 10 
3.10.8 Định dạng số: 
 Các phép tính trong Matlab đ−ợc thực hiện với độ chính xác cao ta có thể định 
dạng cho các số xuất ra mμn hình tuỳ theo yêu cầu cụ thể: 
 Ta lấy ví dụ với số 4/3 
• format short ( đây lμ chế độ mặc định ): 
 a = 1.3333 
• format short e 
 a = 1.3333e + 000 
• format long 
 a = 1.33333333333333 
• format long e 
 a = 1.33333333333333e + 000 
• format bank 
 a = 1.33 
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 
Trang 32 
• format hex 
 a = 3ff5555555555555 

File đính kèm:

  • pdfGiáo trình Matlab v5.3 - Chương 3_Các khái niệm cơ bản.pdf