chuong 4 -matlab co ban - part 1
TRANSCRIPT
TẬP ĐOÀN DẦU KHÍ VIỆT NAMTRƯỜNG ĐẠI HỌC DẦU KHÍ VIỆT NAM
MATLAB CƠ BẢN
CHƯƠNG 4: CÁC KHÁI NIỆM CƠ BẢNTRONG MATLAB
CBGD: TS. Trịnh Quang TrungEmail: [email protected]: 0905315769Website:
NỘI DUNG CHÍNH
Khái niệm chung
Các khái niệm cơ bản trongMatlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Lập trình trong Matlab
Đồ họa trong Matlab
2
Khái niệm chung
• MATLAB là bộ chương trình phần mềm lớn của lĩnh vực toánsố. Tên bộ chương trình chính là chữ viết tắt MatrixLaboratory, thể hiện định hướng chính của chương trình làcác phép tính vector và ma trận.
• Phần cốt lõi của chương trình bao gồm một số hàm toán học,các chức năng nhập/xuất cũng như khả năng điều khiển chutrình.
• Với MATLAB, bài toán tính toán, phân tích, thiết kế và môphỏng trở nên dễ dàng hơn trong nhiều lĩnh vực chuyênngành như: Điện, Điện tử, Cơ khí, Cơ điện tử, Vật lý, ...
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
• MATLAB là bộ chương trình phần mềm lớn của lĩnh vực toánsố. Tên bộ chương trình chính là chữ viết tắt MatrixLaboratory, thể hiện định hướng chính của chương trình làcác phép tính vector và ma trận.
• Phần cốt lõi của chương trình bao gồm một số hàm toán học,các chức năng nhập/xuất cũng như khả năng điều khiển chutrình.
• Với MATLAB, bài toán tính toán, phân tích, thiết kế và môphỏng trở nên dễ dàng hơn trong nhiều lĩnh vực chuyênngành như: Điện, Điện tử, Cơ khí, Cơ điện tử, Vật lý, ...
3
Khái niệm chung
MATLAB có khả năng liên kết đa môi trường, liên kết dễdàng với ngôn ngữ lập trình C++, Visual C, FORTRAN, ...
MATLAB có khả năng xử lý đồ hoạ mạnh trong khônggian hai chiều và ba chiều.
Ngoài ra MATLAB còn hỗ trợ thêm nhiều công cụ(Toolbox) khác:
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Ngoài ra MATLAB còn hỗ trợ thêm nhiều công cụ(Toolbox) khác:• Control System Toolbox: cho lĩnh vực điều khiển - Tự động hoá, Điện
tử, Cơ khí.• Power System Toolbox: cho chuyên ngành Hệ thống điện, Thiết bị
điện, Tự động hoá, Cơ khí.
4
Khái niệm chung
• Signal Processing Toolbox và Image procesing Toolbox :dành cho ngành ngành Điện tử viễn thông, Công nghệthông tin và Cơ điện tử.
• Communication Toolbox : dành cho ngành điện tử viễnthông - Tự động hóa Đo lường
• Data acquisition Toolbox : thu thập dữ liệu, xây dựng hệthu thập dữ liệu vào/ra với thiết bị bên ngoài.
• Fuzzy logic và Neural Network Toolbox: phân tích thiếtkế hệ thống trên cơ sở logic mờ và mạng nơ ron nhân tạo.
• Aerospace Toolbox và Math Toolbox : cho ngành Cơ khí -Cơ điện tử.
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
• Signal Processing Toolbox và Image procesing Toolbox :dành cho ngành ngành Điện tử viễn thông, Công nghệthông tin và Cơ điện tử.
• Communication Toolbox : dành cho ngành điện tử viễnthông - Tự động hóa Đo lường
• Data acquisition Toolbox : thu thập dữ liệu, xây dựng hệthu thập dữ liệu vào/ra với thiết bị bên ngoài.
• Fuzzy logic và Neural Network Toolbox: phân tích thiếtkế hệ thống trên cơ sở logic mờ và mạng nơ ron nhân tạo.
• Aerospace Toolbox và Math Toolbox : cho ngành Cơ khí -Cơ điện tử.
5
Cửa sổ làm việc của Matlab
12
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
3
4
6
Tiện ích và trợ giúp của Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU 7
I. BIỂU THỨC Biến số Số Toán tử Hàm
Biến số
Tối đa 19 ký tự có nghĩa
Phân biệt chữ hoa và chữ thường
Bắt đầu bằng chữ
Biến toàn cục tác dụng trong toàn bộ chươngtrình
Biến cục bộ tác dụng trong nội tại hàm
Một số biến đặc biệt : pi, ans …
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Biến số
Tối đa 19 ký tự có nghĩa
Phân biệt chữ hoa và chữ thường
Bắt đầu bằng chữ
Biến toàn cục tác dụng trong toàn bộ chươngtrình
Biến cục bộ tác dụng trong nội tại hàm
Một số biến đặc biệt : pi, ans …
Kiểm tra biến (who và whos)
Xóa biến (clear và clear all)
Dùng hàm Size() để biết kích thước của biến
>> clear a>> clear b degree>> aUndefined function orvariable 'a‘.
8
1. Vector: Vector là một dạng đặc biệt của ma trận có mộtdòng hoặc một cột.Để khởi tạo vector dòng chứa các giá trịrời rạc, các phần tử trong vector phải nằm trong cặp ngoặcvuông ([]) và được ngăn cách nhau bởi khoảng trắng hoặcdấu phẩy (,)
Các khái niệm cơ bản trong Matlab
>> a=[1,3,4,6,7]a =
1 3 4 6 7>> b=1:2:5 % tạo vector với bước nhảy là 2b =
1 3 5>> c=1:5 % tạo vector với các phần tử là các số từ 1 đến 5c =
1 2 3 4 5
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
1. Vector: Vector là một dạng đặc biệt của ma trận có mộtdòng hoặc một cột.Để khởi tạo vector dòng chứa các giá trịrời rạc, các phần tử trong vector phải nằm trong cặp ngoặcvuông ([]) và được ngăn cách nhau bởi khoảng trắng hoặcdấu phẩy (,)
9
>> a=[1,3,4,6,7]a =
1 3 4 6 7>> b=1:2:5 % tạo vector với bước nhảy là 2b =
1 3 5>> c=1:5 % tạo vector với các phần tử là các số từ 1 đến 5c =
1 2 3 4 5
2. Số: Tất cả những con số đều được lưu định dạng(format). Dùng hàm format để định dạng kiểu số:
>> b=3/26 ;>> format long; b
b =0.11538461538462
>> format short e; bb =
1.1538e-001>> format bank; b
b =0.12
>> format hex; bb =
3fbd89d89d89d89e
>> format +; bb =
+>> format rat; b
b =3/26
>> format short; bb =
0.1154
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
>> b=3/26 ;>> format long; b
b =0.11538461538462
>> format short e; bb =
1.1538e-001>> format bank; b
b =0.12
>> format hex; bb =
3fbd89d89d89d89e
>> format +; bb =
+>> format rat; b
b =3/26
>> format short; bb =
0.1154
10
Các khái niệm cơ bản trong Matlab
Toán tử Mô tả+ Cộng- Trừ* Nhân/ Chia\ Chia trái^ Lũy thừa.* Nhân mảng cùng kích thước ( nhân phần tử với phần tử)
3. Toán tử : ( +, - , *, /, \,^, ‘ )
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
.* Nhân mảng cùng kích thước ( nhân phần tử với phần tử)
./ Chia mảng cùng kích thước (chia phần tử với phần tử)
.\ Chia mảng trái: Toán tử Hai chấm.^ Lũy thừa mảng, lũy thừa từng phần tử với phần tử
.' Chuyển vị mảng' Chuyển vị ma t rận - ma trận liên hợp (MTLH phức)
11
3. Toán tử : ( +, - , *,/, \, ^, ‘ )>> 2*4+2
ans = 10>> (2+sqrt(-1))^2
ans = 3.0000 + 4.0000i
• Các biến không cần khai báo trước• Các ký tự thường và in phân biệt• Kết thúc câu lệnh với ‘;’ không hiển thị kết quả câu lệnh• Biến mặc định là : ans
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
• Các biến không cần khai báo trước• Các ký tự thường và in phân biệt• Kết thúc câu lệnh với ‘;’ không hiển thị kết quả câu lệnh• Biến mặc định là : ans
>> rayon=1e-1;>> surface = pi*rayon*rayonsurface =
0.0314
>> volume =4*pi*rayon^3/3;>> volume =4*pi*rayon^3/3volume =
0.0042
12
Các khái niệm cơ bản trong Matlab
4. Ưu tiên các phép toán : (),^,*,/,\,+,-…
>> a=2a =
2>> b=3
b =3
>> c=4c =
4
>> z = a*b^cz =
162>> z = (a*b)^c
z =1296
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
>> a=2a =
2>> b=3
b =3
>> c=4c =
4
>> z = a*b^cz =
162>> z = (a*b)^c
z =1296
13
5. Hàm cơ bản: Các hàm liên quan đến số phứcTên hàm Giải thích
abs Giá trị tuyệt đốiangle Góc phacomplex Xây dựng dữ liệu về số phức từ các
phần thực và ảoconj Liên hợp của phức
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
conj Liên hợp của phứcreal Phần thực của số phứcimag Phần ảo của số phứcisreal Hàm logic, trả về giá trị ‘true’ với mảng
số thực.cplxpair Sắp xếp các số về các cặp liên hợp phức
14
5. Hàm cơ bản : Hàm Lượng Giác
Tªn hµm lîng gi¸c Gi¶i thÝch
sin TÝnh gi¸ trÞ sin
cos TÝnh gi¸ trÞ cosin
tan TÝnh gi¸ trÞ tang
asin TÝnh gi¸ trÞ nghÞch ®¶o sin
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
tan TÝnh gi¸ trÞ tang
asin TÝnh gi¸ trÞ nghÞch ®¶o sin
atan TÝnh gi¸ trÞ nghÞch ®¶o tang
sinh TÝnh gi¸ trÞ hyperbolic
cosh TÝnh gi¸ trÞ hyperbolic cosin
tanh TÝnh gi¸ trÞ hyperbolic tang
15
5. Hàm cơ bản : Hàm lũy thừa
Tªn hµm Gi¶i thÝch
exp(x) Hàm mũ cơ số ex
log(x) Hàm logarit cơ số elog10(x) Hàm logarit cơ số 10
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
log10(x) Hàm logarit cơ số 10log2(x) Hàm logarit cơ số 2
sqrt Căn bậc hai
16
Các khái niệm cơ bản trong Matlab
5. Hàm cơ bản: Hàm xử lý số : ( mod, gcd, lcm, …)• mod() : lấy phần dư củaphép chia>> mod (7,5)ans =
2
• gcd() : tìm ước chunglớn nhất của hai số>> a=5;>> b=25;>> gcd(a,b)ans =
5
• lcm() : tìm bội chungnhỏ nhất của 2 số>> a=6;>> b=8;>> lcm(a,b)ans =
24
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
• gcd() : tìm ước chunglớn nhất của hai số>> a=5;>> b=25;>> gcd(a,b)ans =
5
• lcm() : tìm bội chungnhỏ nhất của 2 số>> a=6;>> b=8;>> lcm(a,b)ans =
24
17
Các khái niệm cơ bản trong Matlab5. Hàm cơ bản: Hàm xử lý số : ( fix, floor, ceil, round, …)
• fix : làm tròn xuống (về 0)>> a = [1.25,-4.54,6.5,-7.1];>> fix(a)
ans =1 -4 6 -7
• floor : làm tròn xuống (về âm)>> a = [1.25,-4.54,6.5,-7.1];>> floor(a)
ans =1 -5 6 -8
• round : làm tròn>> a = [1.25,-4.54,6.5,-7.1];>> >> round(a)
ans =1 -5 7 -7
• sign : hàm dấu>> a = [1.25,-4.54,6.5,-7.1];>> sign(a)
ans =1 -1 1 -1
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
• floor : làm tròn xuống (về âm)>> a = [1.25,-4.54,6.5,-7.1];>> floor(a)
ans =1 -5 6 -8
• ceil : làm tròn lên (về 0)>> a = [1.25,-4.54,6.5,-7.1];>> ceil(a)
ans =2 -4 7 -7
• sign : hàm dấu>> a = [1.25,-4.54,6.5,-7.1];>> sign(a)
ans =1 -1 1 -1
• sort : sắp xếp>> a = [1.25,-4.54,6.5,-7.1];>> sort(a)
ans =-7.10 -4.54 1.25 6.50
18
6. Các toán tử quan hệ :
To¸n tö C«ng dông
< So s¸nh nhá h¬n.
> So s¸nh lín h¬n.
>= So s¸nh lín h¬n hoÆc b»ng.
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
>= So s¸nh lín h¬n hoÆc b»ng.
<= So s¸nh nhá h¬n hoÆc b»ng.
== So s¸nh b»ng
~= So sánh gần bằng
19
7. Các toán tử logic:
To¸n tö C«ng dông
&(&&)
Thùc hiÖn phÐp to¸n logic AND.
|(||)
Thùc hiÖn phÐp to¸n logic OR.
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
|(||)
Thùc hiÖn phÐp to¸n logic OR.
~ Thùc hiÖn phÐp to¸n logic NOT.
20
8. Các ký tự đặc biệt :
KÝ hiÖu C«ng dông
[] Khai b¸o vector hoÆc ma trËn.
() Thùc hiÖn phÐp to¸n u tiªn, khai b¸o c¸c biÕnvµ c¸c chØ sè cña vector.
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Thùc hiÖn phÐp to¸n u tiªn, khai b¸o c¸c biÕnvµ c¸c chØ sè cña vector.
= Thùc hiÖn phÐp g¸n.
‘ ChuyÓn vÞ ma trËn.
space Ph©n biÖt c¸c phÇn tö cña ma trËn vµ c¸c ®èi sètrong dßng lÖnh.
21
Ký hiệu Công dụng
. Điểm chấm thập phân
; Ngăn cách giữa các hàng khi khai báo ma trận
8. Các ký tự đặc biệt:
Các khái niệm cơ bản trong Matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
; Ngăn cách giữa các hàng khi khai báo ma trận
% Thông báo dòng chú thích
! Mở cửa sổ MS - DOS
: Tạo vectơ hoặc ma trận phụ lặp đi lặp lại cácgiá trị
22
Các khái niệm cơ bản trong Matlab
9. Một số lệnh cơ bản: demo, int2str,…• Lệnh demo :chạy chương trình mặc định Matlab• >> demo
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU 23
Các khái niệm cơ bản trong Matlab
Lệnh int2str: chuyển số nguyên sang dạng chuỗi
>> c='good 'c =
good>> b = 9
b =9
>> d = [c,int2str(b)]
d =
good 9
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
>> c='good 'c =
good>> b = 9
b =9
• Lệnh str2num: chuyển chuỗi sang số thực
>> A = ['1 2';'3 4']A =
1 23 4
> B = str2num(['1 2';'3 4'])B =
1 23 4
24
Các khái niệm cơ bản trong Matlab
Lệnh dec2hex: chuyển cơ số 10 sang cơ số 16
>> a=1023a =
1023
>> B=dec2hex(a)B =
3FF
Lệnh hex2dec: chuyển cơ số 16 sang cơ số 10>> B = hex2dec('3ff')
B =1023
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
>> B = hex2dec('3ff')B =
1023
Lệnh lower (upper): cho ra chuỗi viết thường hoặcchuỗi in
>> A = 'Cong Hoa Xa Hoi Chu nghia Viet Nam 'A = Cong Hoa Xa Hoi Chu nghia Viet Nam
>> B=lower(A)B = cong hoa xa hoi chu nghia viet nam
25
Các khái niệm cơ bản trong Matlab
• Lệnh clock: Hiển thị 6 thông tin thời gian [yearmonth day hour minute seconds]• Lệnh date: hiển thị thông tin ngày tháng nămhiện hành• Lệnh echo: (on/off) bật tắt code của m-file• Lệnh cd: thay đổi thư mục hiện hành• Lệnh exist: kiểm tra sự tồn tại của một biến• Lệnh clear: xóa 1 hoặc nhiều biến (clear biến,clear all)• Lệnh clc: xóa màn hình• Lệnh exit: thoat khỏi matlab
Một số lệnh cơ bản
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
• Lệnh clock: Hiển thị 6 thông tin thời gian [yearmonth day hour minute seconds]• Lệnh date: hiển thị thông tin ngày tháng nămhiện hành• Lệnh echo: (on/off) bật tắt code của m-file• Lệnh cd: thay đổi thư mục hiện hành• Lệnh exist: kiểm tra sự tồn tại của một biến• Lệnh clear: xóa 1 hoặc nhiều biến (clear biến,clear all)• Lệnh clc: xóa màn hình• Lệnh exit: thoat khỏi matlab
26
Lập trình trong matlab1. Script file: Là hình thức đơn giản nhất của M-file, nó không có
thông số vào và ra. Là tập hợp các lệnh và hàm của Matlab. Tất cảcác biến tạo ra trong Scripts đều có thể sử dụng sau khi Scripts kếtthúc.
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU 27
Lập trình trong matlab
1. Script file: Nhập / Xuất Nhập:
x = input(‘chuoi thong bao’) Xuất: disp(‘chuoi ky tu’) fprintf(‘chuoi co dinh dang’)
Định dạng của fprintf:%d: số nguyên%f : số chấm động%s : chuỗi%c : ký tự\n : xuống dòng\t : TAB\\ : ký tự ‘\’%% : ký tự ‘%’
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
1. Script file: Nhập / Xuất Nhập:
x = input(‘chuoi thong bao’) Xuất: disp(‘chuoi ky tu’) fprintf(‘chuoi co dinh dang’)
Định dạng của fprintf:%d: số nguyên%f : số chấm động%s : chuỗi%c : ký tự\n : xuống dòng\t : TAB\\ : ký tự ‘\’%% : ký tự ‘%’
28
Lập trình trong matlab
1. Script file: Tạo chú thích (comment) trong script file % nội dung chú thích
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU 29
Lập trình trong matlab
Ví dụ 1:a=2;b=5;c=-3;x1=(-b+sqrt(b^2-4*a*c))/(2*a)x2=(-b-sqrt(b^2-4*a*c))/(2*a)
Ví dụ 2:a=input ('nhap vao gia tri a = ');b=inpu t ('nhap vao gia tri b = ');c=input ('nhap vao gia tri c = ');x1=(-b+sqrt(b^2-4*a*c))/(2*a)x2=(-b-sqrt(b^2-4*a*c))/(2*a)
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Ví dụ 1:a=2;b=5;c=-3;x1=(-b+sqrt(b^2-4*a*c))/(2*a)x2=(-b-sqrt(b^2-4*a*c))/(2*a)
Ví dụ 2:a=input ('nhap vao gia tri a = ');b=inpu t ('nhap vao gia tri b = ');c=input ('nhap vao gia tri c = ');x1=(-b+sqrt(b^2-4*a*c))/(2*a)x2=(-b-sqrt(b^2-4*a*c))/(2*a)
30
Lập trình trong matlab2. File hàm: Là Scripts tuy nhiêncó thêm đối số vào và đối sốđầu ra. Tất cả các biến hoạt động trong một Workspace riêng.Biến trong function chỉ là biến cục bộ.
function [Các giá trị xuất] = Tên_hàm(Các giá trị nhập)(Lưu ý: tên m-file phải trùng với tên hàm)
function s= sign(x)if x>0s=1; % so duongelseif x<0s=-1; % so amelses=0; % so =0end
hàm M-file gồm các phần cơ bản sau :
• Một dòng định nghĩa hàm gồm: functions = sign(x) gồm từ khoá function, đối số trả vềs, tên hàm sign và đối số vào x.
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
function s= sign(x)if x>0s=1; % so duongelseif x<0s=-1; % so amelses=0; % so =0end
• Một dòng định nghĩa hàm gồm: functions = sign(x) gồm từ khoá function, đối số trả vềs, tên hàm sign và đối số vào x.
• Phần văn bản trợ giúp để giúp ngườidùng hiểu tác dụng của hàm. Phần này đặtsau dấu %
• Thân hàm chứa mã MATLAB
31
Lập trình trong matlab
Cấu trúc điều kiện : if …
Cú pháp :if (biểu thức logic)
nhóm lệnhend
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Cú pháp :if (biểu thức logic)
nhóm lệnh 1else
nhóm lệnh 2end
32
Lập trình trong matlab
Cấu trúc điều kiện : if …end
Cú pháp :if (biểu thứclogic)
nhóm lệnh 1elseif
nhóm lệnh 2else
nhóm lệnh 3end
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Cú pháp :if (biểu thứclogic)
nhóm lệnh 1elseif
nhóm lệnh 2else
nhóm lệnh 3end
33
Lập trình trong matlab
Ví dụ : chương trình đoán tuổi :
disp(‘Xin chao! Han hanh duoc lam quen’);x = fix(30*rand);disp(‘Tuoi toi trong khoang 0 - 30’);tuoi_ban = input(‘Xin nhap tuoi cua ban: ‘);
if tuoi_ban < xdisp(‘Ban tre hon toi’);
elseif tuoi_ban > xdisp(‘Ban lon hon toi’);
elsedisp(‘Ban bang tuoi toi’);
end
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Ví dụ : chương trình đoán tuổi :
disp(‘Xin chao! Han hanh duoc lam quen’);x = fix(30*rand);disp(‘Tuoi toi trong khoang 0 - 30’);tuoi_ban = input(‘Xin nhap tuoi cua ban: ‘);
if tuoi_ban < xdisp(‘Ban tre hon toi’);
elseif tuoi_ban > xdisp(‘Ban lon hon toi’);
elsedisp(‘Ban bang tuoi toi’);
end
34
Lập trình trong matlab
Ví dụ : chương trình đoán tuổi :
disp(‘Xin chao! Han hanh duoc lam quen’);x = fix(30*rand);disp(‘Tuoi toi trong khoang 0 - 30’);tuoi_ban = input(‘Xin nhap tuoi cua ban: ‘);
if tuoi_ban < xdisp(‘Ban tre hon toi’);
elseif tuoi_ban > xdisp(‘Ban lon hon toi’);
elsedisp(‘Ban bang tuoi toi’);
end
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Ví dụ : chương trình đoán tuổi :
disp(‘Xin chao! Han hanh duoc lam quen’);x = fix(30*rand);disp(‘Tuoi toi trong khoang 0 - 30’);tuoi_ban = input(‘Xin nhap tuoi cua ban: ‘);
if tuoi_ban < xdisp(‘Ban tre hon toi’);
elseif tuoi_ban > xdisp(‘Ban lon hon toi’);
elsedisp(‘Ban bang tuoi toi’);
end
35
Cấu trúc điều kiện : switch … case
Cú pháp :switch (biểu thức điềukiện)case (giá trị 1 biểu thức)
nhóm lệnh 1otherwise
nhóm lệnh 2end
input_num = input (‘Inputnumber: ’);switch input_numcase -1
disp('negative one');case 0
disp('zero');case 1
disp('positive one');otherwise
disp('other value');end
Lập trình trong matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Cú pháp :switch (biểu thức điềukiện)case (giá trị 1 biểu thức)
nhóm lệnh 1otherwise
nhóm lệnh 2end
input_num = input (‘Inputnumber: ’);switch input_numcase -1
disp('negative one');case 0
disp('zero');case 1
disp('positive one');otherwise
disp('other value');end
36
Cấu trúc lặp điều kiện : while
Cú pháp :while (biểu thức điều kiện)
nhóm lệnhend
Lập trình trong matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
a= input(‘Nhap vao gia tri a: ’)while a>0
disp(‘a lon hon khong ’);a= input(‘Nhap vao gia tri
a: ’)end
37
Cấu trúc lặp : for
Cú pháp :for biến = biểu thức
nhóm lệnhendfor i=i1:∆i:i2Khối các lệnhend
Lập trình trong matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
Cú pháp :for biến = biểu thức
nhóm lệnhendfor i=i1:∆i:i2Khối các lệnhend
for i = 1 : 10tb=strcat(‘Nhap gia tri cho A(’,num2str(i),’) =’); A(i)= input(‘’)endA
38
x = fix(100*rand);n = 7;t = 1;for k = 1:7num = int2str(n);disp(['Ban co quyen du doan
',num,' lan']);disp('So can doan nam trong
khoang 0 - 100');gu = input('Nhap so ma ban doan:
');if gu < xdisp('Ban doan nho hon');elseif gu>xdisp('So ban doan lon hon');
Ví dụ: Xây dựng chương trình đoán sốelse
disp('Ban da doandung.Xin chuc mung');
t = 0;break;
endn = n-1;
endif t > 0
disp('Ban khong doan raroi');
numx = int2str(x);disp(['Do la so: ',numx]);
end
Lập trình trong matlab
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU
x = fix(100*rand);n = 7;t = 1;for k = 1:7num = int2str(n);disp(['Ban co quyen du doan
',num,' lan']);disp('So can doan nam trong
khoang 0 - 100');gu = input('Nhap so ma ban doan:
');if gu < xdisp('Ban doan nho hon');elseif gu>xdisp('So ban doan lon hon');
elsedisp('Ban da doan
dung.Xin chuc mung');t = 0;break;
endn = n-1;
endif t > 0
disp('Ban khong doan raroi');
numx = int2str(x);disp(['Do la so: ',numx]);
end
39
Thảo Luận
TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU 40