chuong 4 -matlab co ban - part 1

40
TẬP ĐOÀN DẦU KHÍ VIỆT NAM TRƯỜ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ẢN TRONG MATLAB CBGD: TS. Trịnh Quang Trung Email: [email protected] Mobile: 0905315769 Website:

Upload: kun-tu-cach

Post on 23-Oct-2015

37 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Chuong 4 -Matlab Co Ban - Part 1

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:

Page 2: Chuong 4 -Matlab Co Ban - Part 1

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

Page 3: Chuong 4 -Matlab Co Ban - Part 1

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

Page 4: Chuong 4 -Matlab Co Ban - Part 1

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

Page 5: Chuong 4 -Matlab Co Ban - Part 1

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

Page 6: Chuong 4 -Matlab Co Ban - Part 1

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

Page 7: Chuong 4 -Matlab Co Ban - Part 1

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

Page 8: Chuong 4 -Matlab Co Ban - Part 1

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

Page 9: Chuong 4 -Matlab Co Ban - Part 1

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

Page 10: Chuong 4 -Matlab Co Ban - Part 1

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

Page 11: Chuong 4 -Matlab Co Ban - Part 1

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

Page 12: Chuong 4 -Matlab Co Ban - Part 1

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

Page 13: Chuong 4 -Matlab Co Ban - Part 1

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

Page 14: Chuong 4 -Matlab Co Ban - Part 1

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

Page 15: Chuong 4 -Matlab Co Ban - Part 1

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

Page 16: Chuong 4 -Matlab Co Ban - Part 1

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

Page 17: Chuong 4 -Matlab Co Ban - Part 1

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

Page 18: Chuong 4 -Matlab Co Ban - Part 1

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

Page 19: Chuong 4 -Matlab Co Ban - Part 1

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

Page 20: Chuong 4 -Matlab Co Ban - Part 1

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

Page 21: Chuong 4 -Matlab Co Ban - Part 1

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

Page 22: Chuong 4 -Matlab Co Ban - Part 1

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

Page 23: Chuong 4 -Matlab Co Ban - Part 1

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

Page 24: Chuong 4 -Matlab Co Ban - Part 1

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

Page 25: Chuong 4 -Matlab Co Ban - Part 1

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

Page 26: Chuong 4 -Matlab Co Ban - Part 1

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

Page 27: Chuong 4 -Matlab Co Ban - Part 1

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

Page 28: Chuong 4 -Matlab Co Ban - Part 1

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

Page 29: Chuong 4 -Matlab Co Ban - Part 1

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

Page 30: Chuong 4 -Matlab Co Ban - Part 1

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

Page 31: Chuong 4 -Matlab Co Ban - Part 1

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

Page 32: Chuong 4 -Matlab Co Ban - Part 1

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

Page 33: Chuong 4 -Matlab Co Ban - Part 1

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

Page 34: Chuong 4 -Matlab Co Ban - Part 1

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

Page 35: Chuong 4 -Matlab Co Ban - Part 1

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

Page 36: Chuong 4 -Matlab Co Ban - Part 1

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

Page 37: Chuong 4 -Matlab Co Ban - Part 1

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

Page 38: Chuong 4 -Matlab Co Ban - Part 1

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

Page 39: Chuong 4 -Matlab Co Ban - Part 1

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

Page 40: Chuong 4 -Matlab Co Ban - Part 1

Thảo Luận

TS. Trịnh Quang Trung Bài giảng môn TIN HỌC - PVU 40