lOMoARcPSD| 45474828
1
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG HÓA
BÀI GIẢNG
TIN HỌC ỨNG DỤNG
Đối tượng: Sinh viên trình ộ Đại học
Ngành ào tạo: Kỹ thuật iều khiển và tự ộng hóa
Lưu hành nội bộ
lOMoARcPSD| 45474828
2
CHƯƠNG 1: SỞ MATLAB
1.1. Khái quát chung
MATLAB (viết tắt từ matrix laboratory) ược phát triển từ dự án LINPACK &
EISPACK nhằm tạo ra thư viện ma trận phục vụ cho tính toán. Qua quá trình phát triển lâu
dài, MATLAB ược phát triển thành một công cụ rất mạnh, ược ứng dụng khá phổ biến
trong các trường ại học ở khắp thế giới, ặc biệt là các nước như Mỹ, Bỉ, Canada, ... như là
công cụ không thể thiếu trong các giáo trình từ bản ến nâng cao trong các lĩnh vực: toán
học cao cấp, khoa học kỹ thuật. Trong công nghiệp, MATLAB công cụ lựa chọn cho
nghiên cứu nâng cao hiệu quả sản xuất, phân tích ánh giá và ứng dụng.
Với MATLAB, bài toán tính toán, phân tích, thiết kế và mô phỏng trở n dễ dàng hơn
trong nhiều lĩnh vực chuyên ngành như: Điện, Điện tử, Cơ khí, Cơ iện tử, Vật lý, ...
MATLAB là công cụ tính toán rất mạnh dễ dùng, trực quan dễ mở rộng và phát triển.
MATLAB khả năng liên kết a môi tờng, liên kết dễ dàng với ngôn ngữ lập trình
C++, Visual C, FORTRAN, JAVA, ...
MATLAB có khả năng xử lý ồ hoạ mạnh trong không gian hai chiều và ba chiều.
Các TOOLBOX trong MATLAB rất phong phú, a năng là ng cụ nghiên cứu, thiết kế
cực kỳ hiệu quả trong các lĩnh vực chuyên ngành.
Công cụ phỏng trực quan SIMULINK chạy trong môi trường MATLAB giúp cho
bài toán phân tích thiết kế dễ dàng, sinh ộng hơn.
MATLAB có kiến trúc mở, dễ dàng trong việc xây dựng thêm các module tính toán kỹ
thuật theo tiêu chuẩn công nghiệp và truyền thông.
MATLAB xây dựng sẵn các phép tính xử lý ma trận, các hàm toán học, các phép xử
hovới thư viện phong phú. Từ ó cho phép người dùng viết các chương trình (mfiles),
xây dựng các hàm chuyên tính toán cho mỗi lĩnh vực (gọi các TOOLBOXS) như: Điều
lOMoARcPSD| 45474828
3
khiển tự ộng, Kỹ thuật iện, Điện tử, truyền thông, xử lý ảnh, xử lý tín hiệu số, tối ưu hoá,
mô phỏng các quá trình thực tế ...
Trên sở các thư viện có sẵn, người dùng lập nên các chương trình ứng dụng riêng
theo nhu cầu riêng với cấu trúc chương trình dễ hiểu, ràng tận dụng sức mạnh các
công cụ sẵn, ặc biệt công cụ xử ma trận viết nên các ứng dụng thời gian lập
trình tiết kiệm rất nhiều. Ngoài ra MATLAB cho phép viết ngôn ngữ C/C++, FORTRAN
trong cửa sổ MATLAB biên dịch chương trình viết bằng MATLAB sang C/C++,
FORTRAN. Từ ó ta thể biên dịch sang chương trình ứng dụng (*.exe) chạy ộc lập
(stand-alone application).
Đặc biệt, ta thể viết chương trình C/C++, Fortran, LabView, ... gọi MATLAB chạy
ngầm ể tính toán sau ó trả kết quả về chương trình.
Ngoài ra MATLAB thể chạy trên các máy tính khác nhau, với các hệ iều hành khác
nhau như: MS Windows, X Windows (Unix/Linux) và Macintosh vẫn giữ nguyên các
chương trình và dữ liệu, không cần một sự biến ổi nào.
SIMULINKcông cụ mô phỏng trực quan trong môi trường MATLAB, kết hợp với
thư viện TOOLBOXS rất phong phú cho các ngành, các lĩnh vực kỹ thuật, giúp cho bài
toán phân tích thiết kế dễ dàng, sinh ộng hơn. Do ó rất thích hợp cho sinh viên nghiên cứu
khoa học, làm báo cáo án môn học, ặc biệt án tốt nghiệp, c kỹ sư làm việc trong các
lĩnh vực nghiên cứu, iều khiển các hệ thống kỹ thuật, phân tích hệ thống, ...
Các Toolboxs:
- 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 h,
Cơ khí.
- Nonlinear control Design blocksets phỏng, phân tích, thiết kế tối ưu hệ thống
iều khiển phi tuyến.
- Signal Processing Toolbox 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ễn thông- TĐH Đo lường
lOMoARcPSD| 45474828
4
- 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 Neural Network Toolbox phân tích thiết kế hthống trên sở logic
mờ và mạng nơ ron nhân tạo.
- Aerospace Toolbox Math Toolbox cho ngành Cơ khí - Cơ iện tử.
1.2 Cửa sổ làm việc và các tiện ích
Để khởi ộng MATLAB, nhấn úp vào icon của nó trên màn hình.
+ Cửa sổ thư mục hiện tại Current Folder: cho phép người dùng truy cập thư mục
các file của dự án.
+ Cửa sổ lệnh Command Window: khu vực chính, nơi các lệnh ược nhập vào
tiện ích dòng lệnh. Cửa sổ này ược nhận diện bởi dấu nhắc lệnh (>>). Mỗi lần nhập dữ liệu
ược kết thúc bằng ộng tác nhấn phím Enter.
+ Cửa sổ không gian làm việc Workspace: hiển thị tất cả các biến tạo ra hoặc nhập từ
các file.
+ Cửa sổ lịch sử lệnh Command History: Tất cả các lệnh ã sử dụng trong Command
Window ược lưu trữ và hiển thị tại ây. Có thể lặp lại lệnh cũ bằng cách nháy úp chuột vào
lệnh ó.
lOMoARcPSD| 45474828
5
+ Cửa sổ soạn thảo Editor: dùng ể soạn thảo chương trình ứng dụng.
Để thực thi chương trình viết trong M-file: gõ tên của file chứa chương
trình ó trong cửa sổ Command Window.
Tùy theo ứng dụng cụ thể tùy theo người lập trình chương trình
có thể ược viết dưới dạng:
Dạng Script file: là chương trình gồm tập hợp các câu lệnh viết
dưới dạng liệt kê, không có biến dữ liệu vào và biến lấy giá trị ra.
Dạng hàm Function: có biến dữ liệu vào và biến ra.
(Lưu ý ở thanh trên cùng, kế bên chữ Editor chính là ường dẫn ến file ang mở.)
Tiện ích trợ giúp Help
» help <tênlệnh> hướng dẫn sử dụng <tênlệnh> sau help
» helpwin danh sách các lệnh và hướng dẫn sử dụng
» helpdesk cửa sổ trợ giúp trong môi trường Internet Explorer
1.3. Các lệnh cơ bản quản lí Matlab
- Quản lý biến, không gian workspace trên cửa sổ lệnh (Command window) +
who hiển thị danh sách các biến
+ whos hiển thị danh sách các biến và kích thước của nó
lOMoARcPSD| 45474828
6
+ workspace hiển thị cửa sổ workspace cho phép xem và chỉnh sửa các giá trị biến
+ clc xoá các dòng text trên màn hình
+ clear xoá tất cả các biến trong workspace
- Làm việc với Files môi trường làm việc
+ dir thumuc liệt kê các file trong thumuc chỉ ra
+ edit tenfile soạn thảo mới một M-file
+ open tenfile mở file tenfile ể sửa chữa + save
lưu các biến trong workspace lên ĩa Các cú
pháp:
save fname lưu các biến o tệp nhị phân "MAT-file" fname.mat. Nếu không fname
thì mặc nhiên là file matlab.mat.
save fname X chỉ lưu biến X.
save fname X Y Z chỉ lưu các biến X, Y, Z. (có thể sử dụng ký tự ại diện '*').
save fname X Y Z -ASCII lưu các biến ASCII 8 bit nhị phân.
save fname X Y Z -ASCII -DOUBLE lưu dạng ASCII 16 bit nhị phân.
save fname X Y Z -APPEND bổ sung các biến vào tệp MAT-file ã có.
Hàm save('fname','var1','var2') khi 'fname','var1','var2' là xâu ký tự.
- load tải giá trị các biến ược lưu ở Files trên ĩa vào workspace.
Các cú pháp: load FNAME tải các biến từ MAT-file 'fname.mat' ã có. Nếu không có
fname thì mặc nhiên là file matlab.mat.
load FNAME X Y Z ... chỉ tải các biến á chỉ ra (có thể sử dụng ký tự ại diện '*').
load FNAME.EXT tải file ASCII, trong file có thể có chú thích (bắt ầu bởi %). Kết
quả gán cho biến có tên FNAME (không có phần mở rộng) load FNAME -ASCII
hoặc load FNAME -MAT.
Hàm load('fname') sử dụng khi fname ược gán dạng xâu tự. -
pwd hiển thị thư mục hiện hành
- quit hoặc exit thoát khỏi MATLAB
- Các phím thao tác trên cửa số dòng lệnh
Home ưa con trỏ về ầu dòng
lOMoARcPSD| 45474828
7
End ưa con trỏ về cuối dòng
hiển thị lại các lệnh ã xoá trước ó
hiển thị lại các lệnh ã nhập trước ó
, di chuyển con trỏ
Ctrl+k xoá từ vị trí con trỏ ến cuối ng
1.4. Biểu thức
Trong Matlab có các kiểu dữ liệu: (kiểu số, kiểu xâu, kiểu cấu trúc và kiểu files)
Dữ liệu kiểu số: dưới dạng mảng hoặc vectơ các số phức (dạng ại số: a + jb)
Dữ liệu kiểu xâu: dưới dạng các xâu (char) mảng các xâu ký tự Dữ liệu kiểu
ối tượng: dạng ối tượng hình ảnh, ồ hoạ, ...
Dữ liệu kiểu cấu trúc: dạng các thành phần (bản ghi và mảng cấu trúc)
Dữ liệu kiểu tệp (files): là các tệp lưu thông tin trên ĩa Với mỗi kiễu dữ liệu, cần
chú ý khi làm việc:
Khái niệm kiểu dữ liệu
Làm việc trực tiếp với dữ liệu
Các phép toán khi làm việc ( ại số, quan hệ, logic)
Các hàm, lệnh có sẵn trong thư viện
Chuyển ổi kiễu dữ liệu
Vào, ra với dữ liệu
Tên (biến, hằng, hàm, ...) nói chung theo quy ước giống ngôn ngữ C++ Cụ thể:
Bao gồm:
Các chữ cái hoa ‘A ‘B’ ... ‘Z’, chữ cái thường ‘a’ ‘b’ ... ‘z’
Các chữ số ‘0’ ‘1’ ... ‘9’
Dấu gạch dưới ‘_’
Ký tự ầu của tên phải bằng chữ cái
Có sự phân biệt chữ cái thường và chữ cái HOA
Độ dài tối a của tên 31 ký tự (19 ký tự ối với ver. 5.3)
lOMoARcPSD| 45474828
8
Tên các hàm (kể cả m-files) ã ược ặt cũng có thể ược sử dụng làm tên của biến, như
vậy hàm này sẽ không ược sử dụng trong quá trình tồn tại của biến, cho ến khi lệnh xoá
các biến ó trong bộ nhớ: lệnh clear hoặc clear <tên biến>.
Các hàm, lệnh trong Matlab sử dụng chữ cái thường.
- Biến trong Matlab:
+ Tên biến có thể dài 31 ký tự, bắt ầu là chữ Matlab phân biệt chữ thường và chữ hoa
+ Sử dụng dấu = ể ịnh nghĩa biến
+ Tên biến có thể trùng với tên hàm có sẵn, khi ó hàm không còn sử dụng ược cho ến khi
biến ược xóa Ví dụ:
>> x=1 x=1
>> ten_truong='Dai hoc DL Cong Nghe Sai Gon'
ten_truong = Dai hoc DL Cong Nghe Sai Gon
Một số hàm liên quan ến biến:
clear xóa tất cả các biến who hiển thị danh sách các biến trong
worksapce whos hiển thị các biến cùng kích thước của chúng, có
phải số phức ?
clear name1, name2,… xóa biến có tên ược khai báo
exist (‘item’) Kiểm tra sự tồn tại của ối tượng ‘item’
save Lưu các biến trong workspace ra file
load Tải các biến vào trong workspace từ file
Độ lớn của biến:
Xác ịnh ộ lớn hay chiều dài của biến vector cũng như ma trận thông qua một số hàm:
size(A) Trả về 1 vector chứa kích thước A, gồm số hàng và số cột của A
[m n]=size(A) giá trị trả về chứa trong m và n size(A,p)
p=1 trả về số hàng
p=2 trả về số cột
length(A) Trả về chiều dài của A, giá trị lớn nhất của hàng và cột Ví dụ:
>> A=[1 2 3; 4 5 6] A= 1 2 3
4 5 6
lOMoARcPSD| 45474828
9
>> [m n]=size(A) m = 2
n = 3 >> length(A) ans
= 3 >> size(A,1) ans =
2
- Một số biến ược ịnh nghĩa trước:
Một số biến ược Matlab sử dụng ể chỉ các hằng số hay ký hiệu, nên tránh dùng chúng:
>> 1/0
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = Inf >>
0/0
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = NaN
>> eps ans =
2.2204e-016
hiệu
Ý nghĩa
=
Gán giá tr cho biến
+ - * / ^
Các phép tính
;
Nhập giá trị, dấu cách khi nhập nhiều trị
,
Dấu cách khi xuất nhiều giá trị trên một
ans
Đáp số mới nhất
eps
Cấp chính xác tương ối khi dùng dấu
pi
số π = 3,14159265…
i j
Toán tử ảo
inf
cùng
NaN
không phải số (0/0 hay inf/inf)
- Số
Tất cả những con số ều ược lưu ịnh dạng (format). Mặc nhiên MATLAB hiển thị format
short. Dùng hàm format ể ịnh dạng kiểu số:
lOMoARcPSD| 45474828
10
Cú pháp
Giải thích
format short
Hiển thị 4 số sau dấu chấm
format long
Hiển thị 15 số sau dấu chấm
format rat
Hiển thị dạng phân số tối giản
format +
Hiển thị số dương hay âm
format short e
Hiển thị 4 số sau dấu chấm, pháp
kỹ thuật
format long e
Hiển thị 15 số sau dấu chấm với ký
pháp kỹ thuật
format short g
Hiển thị 4 số sau dấu chấm chính
xác hơn short và short e
format long g
Hiển thị 15 số sau dấu chấm chính
xác hơn long và long e
format hex
Hiển thị cơ số 16
format bank
Hiển thị 2 số sau dấu chấm
Ví dụ:
>> b=3/26 ; >>
format long; b b
=
0.115384615384615
>> format short e; b b
=
1.1538e-01
>> format +; b b
=
+
lOMoARcPSD| 45474828
11
>> format rat; b b
=
3/26
>> format short; b b
=
0.1154
Số phức:
Các hàm ặc biệt của số phức:
real(x) phần thực của x
imag(x) phần ảo của x
conj(x) liên hợp phức của
x abs(x) ộ lớn, trị tuyệt ối của x
angle(x) góc pha của số phức
complex(a,b) tạo số phức từ phần thực và ảo Ví dụ:
>> a=1+3i a = 1.0000 +
3.0000i >> b=2-4i b = 2.0000 -
4.0000i >> a+b ans = 3.0000 -
1.0000i
>> abs(a) ans = 3.1623
>> real(b) ans
= 2
>> imag(b) ans = -4
>> complex(2,2) ans =
2.0000 + 2.0000i
- Các phép toán ại số
+ cộng 2 ma trận/vectơ hoặc 2 số vô hướng với nhau
- trừ 2 ma trận/vectơ hoặc 2 số vô hướng với nhau
\ toán tử chia trái ma trận/véc tơ. Ví dụ: A\B tương ương A
-1
*B
/ toán tử chia phải ma trận/véc tơ. Ví dụ: A/B tương ương A*B
-1
./ hoặc .\ chia phải hay chia trái từng phần tử của ma trận
lOMoARcPSD| 45474828
12
* nhân hai ma trận với nhau
.* nhân các phần tử tương ứng. Ví dụ: C=A.*B tức là c
ij
=a
ij
*b
ij
^ luỹ thừa ma trận hay số vô hướng. Ví dụ: a^2 tức là a
2
.^ luỹ thừa từng phần tử của ma trận
Ví dụ: Đầu tiên, sử dụng lệnh: format rat
Phép toán với véc tơ, ma trận
Phép toán với các phần tử
1
x 2
3
4
y 5
6
x’ 1 2 3
y’ 4 5 6
5
x + y 7
9
-3
x – y -3
-3
3
x + 2 4
5
-1
x – 2 -0
1
x * y không thực hiện ược
4
x.* y 10
18
x’* y 32
x’.* y không thực hiện ược
4 5 6
x * y’ 8 10 12
12 15 18
x.* y’ không thực hiện ược
2
x * 2 4
6
2
x.* 2 4
6
lOMoARcPSD| 45474828
13
x \ y 2.2857
4.0000
x.\ y 2.5000
2.0000
0.5000
2 \ x 1.0000
2.0000
2./ x 1.0000
1.5000
0.6667
0 0 0.1667
x / y 0 0 0.3333
0 0 0.5000
0.2500
x./ y 0.4000
0.5000
0.5000
x / 2 1.0000
1.5000
0.5000
x./ 2 1.0000
1.5000
x ^ y không thực hiện ược
1
x.^ y 32
729
x ^ 2 không thực hiện ược
1
x.^ 2 4
9
2 ^ x không thực hiện ược
2
2.^ x 4
8
- Một số hàm toán: sqrt(x)
Căn bậc 2 exp(x) Hàm
mũ cơ số e abs(x) Giá
trị tuyệt ối
sign(x) Hàm dấu (=1 nếu x>0; = -1 nếu x<0; = 0 nếu
x=0) rem(x,y) Số dư phép chia x/y sum(v) Tổng các phần tử
vector prod(v) Tích các phần tử vector min(v) Phần tử
lOMoARcPSD| 45474828
14
vector bé nhất max(v) Phần tử vector lớn nhất mean(v) Giá trị
trung bình cộng dụ:
>> x=4; >> sqrt(x)
ans = 2 >> exp(x)
ans = 54.5982 >>
sign(x) ans = 1
>> rem(x,3)
ans = 1
>> v=[1 2 3]; >>
min_v=min(v)
min_v = 1 >>
mean(v) ans = 2
>> sum(v) ans =
6
Một số hàm ơn giản và thường gặp trong khi lập trình:
Tên hàm
pháp
Giải thích
sin
sin(x)
hàm sin
cos
cos(x)
hàm cos
tan
tan(x)
m tang
asin
asin(x)
hàm arcsin
acos
acos(x)
hàm arccos
atan
atan(x)
hàm arctang
acos
acos(x)
hàm arccos
sinh
sinh(x)
hàm sin hyperbolic
lOMoARcPSD| 45474828
15
cosh
cosh(x)
hàm cos hyperbolic
tanh
tanh(x)
hàm tang hyperbolic
asinh
asinh(x)
hàm arcsin hyperbolic
acosh
acosh(x)
hàm arccos hyperbolic
atanh
atanh(x)
hàm arctang hyperbolic
abs
abs (x)
Lấy giá trị tuyệt ối hoặc ộ lớn của số phức
round
round(x)
làm tròn ến số nguyên gần nhất
fix
fix(x)
làm tròn hướng về không
floor
floor(x)
làm tròn hướng về -
ceil
ceil(x)
làm tròn hướng về +
rem
rem(x)
phÇn d- sau khi chia
gcd
gcd(x)
ước số trung lớn nhất
lcm
lcm(x)
béi sè trung nhá nhÊt
exp
exp(x)
luthừa e
log
log(x)
logarit c¬ sè e
log2
log2(x)
logarit cơ số 2
log10
log10(x)
logarit c¬ sè 10
1.5. Các toán tử
- Các phép toán quan hệ và logic
Các phép toán quan hệ:
== So sánh bằng
lOMoARcPSD| 45474828
16
< ; > ; >= ; <= các toán tử so sánh
~= so sánh không bằng
Trong ó: Các toán tử quan hệ thực hiện so sánh từng thành phần của 2 ma trận. Chúng tạo
ra một ma trận có cùng kích thước với 2 ma trận, so sánh với các phần tử là 1 nếu phép so
sánh là úng và là 0 nếu phép so sánh là sai.
Phép quan hệ ưu tiên thấp hơn phép toán ại số, cao hơn phép toán logic.
Ví dụ: thực hiện phép so sánh sau:
»x=6 x
=
6
»x>=[1 2 3;4 5 6;7 8 9]
ans =
1 1 1
1 1 1
0 0 0
»x=6
x =
6
»A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
»x>=A
ans =
1 1 1
1 1 1
lOMoARcPSD| 45474828
17
0 0 0 »x=A x =
1 2 3
4 5 6
7 8 9 »x==A
ans =
1 1 1
1 1 1
1 1 1
»x=2
x =
2
»x==A
ans =
0 1 0
0 0 0
0 0 0
»x<A
ans =
0 0 1
1 1 1
1 1 1
Các phép toán logic
& phép và (nhân) logic AND
| phép hoặc (cộng) logic OR ~
phép phủ ịnh logic NOT xor
phép logic EXCLUSIVE OR
Trong ó: Kết quả phép toán 1(khác 0) nếu phép logic là úng 0 nếu phép logic là sai.
lOMoARcPSD| 45474828
18
Phép toán logic có ộ ưu tiên thấp nhất so với phép toán ại số và quan hệ.
Ví dụ: Cho phép toán 1>2 & 3+4 thì máy tính sẽ thực hiện 3+4 ược 7, sau ó tới 1>2 ược
0 rồi thực hiện 0 & 7 và cuối cùng ta ược kết quả là 0. (thay 1<2 & 3-4 kết quả vẫn là 0)
Các hàm logic (Logical function)
Hàm all Kiểm tra vector/cột ma trận có giá trị nào bằng 0 hay không.
Cú pháp:
y = all(x)
y = all(x,DIM) Trong ó: y biến
chứa kết quả y = 1 khi tất cả các
phần tử khác 0 y = 0 khi có 1 phần
tử bằng 0 x tên vector hay ma trận
DIM hướng kiểm tra ma trận,
DIM = 1 (mặc nhiên) kiểm tra theo cột,
DIM = 2 kiểm tra theo hàng,
DIM = 3 kiểm tra từng phần tử
Ví dụ: » a=[1 2 3] a
=
1 2 3
» y=all(a) y =
1 »
a=[1 2 0] a
=
1 2 0 »
y=all(a)
y =
0
» a=[1 2 3;4 5 6;7 -8 9] a
=
lOMoARcPSD| 45474828
19
1 2 3
4 5 6
0 -8 9
» y=all(a) y =
0 1 1
» a=[1 2 3; 4 5 0;7 0 9] a
=
1 2 3
4 5 0
7 0 9
» y=all(a)
y =
1 0 0
Hàm any Kiểm tra vector/cột ma trận có giá trị nào khác 0 hay không.
Cú pháp:
y = any(x) y
= any(x,DIM) Trong
ó:
y biến chứa kết quả. y
= 1 khi có 1 phần tử khác 0.
y = 0 khi tất cả các phần tử bằng
0. x tên vector, hay ma trận.
DIM hướng kiểm tra ma trận,
Ví dụ:
» a=[1 2 3]; »
y=any(a)
y =
lOMoARcPSD| 45474828
20
1
» b=[1 0 3 0]; »
y=any(b)
y =
1
» c=[1 2 0 4;0 2 0 4;1 2 3 4;3 4 5 6] c
=
1 2 0 4
0 6 7 8
1 2 3 0
5 0 7 8
» y=any(c) y
=
1 1 1 1 »
d=[0 0 0 0;0 1 3 0] d
=
0 0 0 0
0 1 3 0
» y=any(d) y
=
0 1 1 0
Hàm exist Kiểm tra biến hay file có tồn tại hay không.
Cú pháp:
e = exist(‘name’)
Trong ó:
name: tên file hay tên biến.
e: biến chứa giá trị trả về.
e
Ý nghĩa

Preview text:

lOMoAR cPSD| 45474828
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG HÓA BÀI GIẢNG
TIN HỌC ỨNG DỤNG
Đối tượng: Sinh viên trình ộ Đại học
Ngành ào tạo: Kỹ thuật iều khiển và tự ộng hóa Lưu hành nội bộ 1 lOMoAR cPSD| 45474828
CHƯƠNG 1: CƠ SỞ MATLAB
1.1. Khái quát chung
MATLAB (viết tắt từ matrix laboratory) ược phát triển từ dự án LINPACK &
EISPACK nhằm tạo ra thư viện ma trận phục vụ cho tính toán. Qua quá trình phát triển lâu
dài, MATLAB ược phát triển thành một công cụ rất mạnh, ược ứng dụng khá phổ biến
trong các trường ại học ở khắp thế giới, ặc biệt là các nước như Mỹ, Bỉ, Canada, ... như là
công cụ không thể thiếu trong các giáo trình từ cơ bản ến nâng cao trong các lĩnh vực: toán
học cao cấp, khoa học và kỹ thuật. Trong công nghiệp, MATLAB công cụ lựa chọn cho
nghiên cứu nâng cao hiệu quả sản xuất, phân tích ánh giá và ứng dụng.
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ên ngành như: Điện, Điện tử, Cơ khí, Cơ iện tử, Vật lý, ...
MATLAB là công cụ tính toán rất mạnh dễ dùng, trực quan dễ mở rộng và phát triển.
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, JAVA, ...
MATLAB có khả năng xử lý ồ hoạ mạnh trong không gian hai chiều và ba chiều.
 Các TOOLBOX trong MATLAB rất phong phú, a năng là công cụ nghiên cứu, thiết kế
cực kỳ hiệu quả trong các lĩnh vực chuyên ngành.
 Công cụ mô phỏng trực quan SIMULINK chạy trong môi trường MATLAB giúp cho
bài toán phân tích thiết kế dễ dàng, sinh ộng hơn.
MATLAB có kiến trúc mở, dễ dàng trong việc xây dựng thêm các module tính toán kỹ
thuật theo tiêu chuẩn công nghiệp và truyền thông.
MATLAB xây dựng sẵn các phép tính xử lý ma trận, các hàm toán học, các phép xử
lý ồ hoạ với thư viện phong phú. Từ ó cho phép người dùng viết các chương trình (mfiles),
xây dựng các hàm chuyên tính toán cho mỗi lĩnh vực (gọi là các TOOLBOXS) như: Điều 2 lOMoAR cPSD| 45474828
khiển tự ộng, Kỹ thuật iện, Điện tử, truyền thông, xử lý ảnh, xử lý tín hiệu số, tối ưu hoá,
mô phỏng các quá trình thực tế ...
Trên cơ sở các thư viện có sẵn, người dùng lập nên các chương trình ứng dụng riêng
theo nhu cầu riêng với cấu trúc chương trình dễ hiểu, rõ ràng và tận dụng sức mạnh các
công cụ có sẵn, ặc biệt công cụ xử lý ma trận ể viết nên các ứng dụng mà thời gian lập
trình tiết kiệm rất nhiều. Ngoài ra MATLAB cho phép viết ngôn ngữ C/C++, FORTRAN
trong cửa sổ MATLAB và biên dịch chương trình viết bằng MATLAB sang C/C++,
FORTRAN. Từ ó ta có thể biên dịch sang chương trình ứng dụng (*.exe) chạy ộc lập (stand-alone application).
Đặc biệt, ta có thể viết chương trình C/C++, Fortran, LabView, ... gọi MATLAB chạy
ngầm ể tính toán sau ó trả kết quả về chương trình.
Ngoài ra MATLAB có thể chạy trên các máy tính khác nhau, với các hệ iều hành khác
nhau như: MS Windows, X Windows (Unix/Linux) và Macintosh mà vẫn giữ nguyên các
chương trình và dữ liệu, không cần một sự biến ổi nào.
SIMULINK là công cụ mô phỏng trực quan trong môi trường MATLAB, kết hợp với
thư viện TOOLBOXS rất phong phú cho các ngành, các lĩnh vực kỹ thuật, giúp cho bài
toán phân tích thiết kế dễ dàng, sinh ộng hơn. Do ó rất thích hợp cho sinh viên nghiên cứu
khoa học, làm báo cáo ồ án môn học, ặc biệt ồ án tốt nghiệp, Các kỹ sư làm việc trong các
lĩnh vực nghiên cứu, iều khiển các hệ thống kỹ thuật, phân tích hệ thống, ... Các Toolboxs:
- 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í.
- Nonlinear control Design blocksets ể mô phỏng, phân tích, thiết kế tối ưu hệ thống
iều khiển phi tuyến.
- Signal Processing ToolboxImage 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ễn thông- TĐH Đo lường 3 lOMoAR cPSD| 45474828
- 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ết kế hệ thống trên cơ sở logic
mờ và mạng nơ ron nhân tạo.
- Aerospace Toolbox Math Toolbox cho ngành Cơ khí - Cơ iện tử.
1.2 Cửa sổ làm việc và các tiện ích
Để khởi ộng MATLAB, nhấn úp vào icon của nó trên màn hình.
+ Cửa sổ thư mục hiện tại Current Folder: cho phép người dùng truy cập thư mục và các file của dự án.
+ Cửa sổ lệnh Command Window: là khu vực chính, nơi mà các lệnh ược nhập vào
tiện ích dòng lệnh. Cửa sổ này ược nhận diện bởi dấu nhắc lệnh (>>). Mỗi lần nhập dữ liệu
ược kết thúc bằng ộng tác nhấn phím Enter.
+ Cửa sổ không gian làm việc Workspace: hiển thị tất cả các biến tạo ra hoặc nhập từ các file.
+ Cửa sổ lịch sử lệnh Command History: Tất cả các lệnh ã sử dụng trong Command
Window ược lưu trữ và hiển thị tại ây. Có thể lặp lại lệnh cũ bằng cách nháy úp chuột vào lệnh ó. 4 lOMoAR cPSD| 45474828
+ Cửa sổ soạn thảo Editor: dùng ể soạn thảo chương trình ứng dụng. •
Để thực thi chương trình viết trong M-file: gõ tên của file chứa chương
trình ó trong cửa sổ Command Window. •
Tùy theo ứng dụng cụ thể và tùy theo người lập trình mà chương trình
có thể ược viết dưới dạng: 
Dạng Script file: là chương trình gồm tập hợp các câu lệnh viết
dưới dạng liệt kê, không có biến dữ liệu vào và biến lấy giá trị ra. 
Dạng hàm Function: có biến dữ liệu vào và biến ra.
(Lưu ý ở thanh trên cùng, kế bên chữ Editor chính là ường dẫn ến file ang mở.)
Tiện ích trợ giúp Help
» help hướng dẫn sử dụng sau help
» helpwin danh sách các lệnh và hướng dẫn sử dụng
» helpdesk cửa sổ trợ giúp trong môi trường Internet Explorer
1.3. Các lệnh cơ bản quản lí Matlab
- Quản lý biến, không gian workspace trên cửa sổ lệnh (Command window) +
who hiển thị danh sách các biến
+ whos hiển thị danh sách các biến và kích thước của nó 5 lOMoAR cPSD| 45474828
+ workspace hiển thị cửa sổ workspace cho phép xem và chỉnh sửa các giá trị biến
+ clc xoá các dòng text trên màn hình
+ clear xoá tất cả các biến trong workspace
- Làm việc với Files môi trường làm việc
+ dir thumuc liệt kê các file trong thumuc chỉ ra
+ edit tenfile soạn thảo mới một M-file
+ open tenfile mở file tenfile ể sửa chữa + save
lưu các biến trong workspace lên ĩa Các cú pháp:
save fname lưu các biến vào tệp nhị phân "MAT-file" fname.mat. Nếu không có fname
thì mặc nhiên là file matlab.mat.
save fname X chỉ lưu biến X.
save fname X Y Z chỉ lưu các biến X, Y, Z. (có thể sử dụng ký tự ại diện '*').
save fname X Y Z -ASCII lưu các biến ASCII 8 bit nhị phân.
save fname X Y Z -ASCII -DOUBLE lưu dạng ASCII 16 bit nhị phân.
save fname X Y Z -APPEND bổ sung các biến vào tệp MAT-file ã có.
Hàm save('fname','var1','var2') khi 'fname','var1','var2' là xâu ký tự. - load
tải giá trị các biến ược lưu ở Files trên ĩa vào workspace.
Các cú pháp: load FNAME tải các biến từ MAT-file 'fname.mat' ã có. Nếu không có
fname thì mặc nhiên là file matlab.mat.
load FNAME X Y Z ... chỉ tải các biến á chỉ ra (có thể sử dụng ký tự ại diện '*').
load FNAME.EXT tải file ASCII, trong file có thể có chú thích (bắt ầu bởi %). Kết
quả gán cho biến có tên FNAME (không có phần mở rộng) load FNAME -ASCII hoặc load FNAME -MAT. Hàm load('fname')
sử dụng khi fname ược gán dạng xâu ký tự. - pwd
hiển thị thư mục hiện hành
- quit hoặc exit thoát khỏi MATLAB
- Các phím thao tác trên cửa số dòng lệnh
Home ưa con trỏ về ầu dòng 6 lOMoAR cPSD| 45474828
End ưa con trỏ về cuối dòng
hiển thị lại các lệnh ã xoá trước ó
hiển thị lại các lệnh ã nhập trước ó
, → di chuyển con trỏ
Ctrl+k xoá từ vị trí con trỏ ến cuối dòng 1.4. Biểu thức
Trong Matlab có các kiểu dữ liệu: (kiểu số, kiểu xâu, kiểu cấu trúc và kiểu files)
Dữ liệu kiểu số: dưới dạng mảng hoặc vectơ các số phức (dạng ại số: a + jb)
Dữ liệu kiểu xâu: dưới dạng các xâu (char) và mảng các xâu ký tự Dữ liệu kiểu
ối tượng: dạng ối tượng hình ảnh, ồ hoạ, ...
Dữ liệu kiểu cấu trúc: dạng các thành phần (bản ghi và mảng cấu trúc)
Dữ liệu kiểu tệp (files): là các tệp lưu thông tin trên ĩa Với mỗi kiễu dữ liệu, cần chú ý khi làm việc:
Khái niệm kiểu dữ liệu
Làm việc trực tiếp với dữ liệu
• Các phép toán khi làm việc ( ại số, quan hệ, logic)
• Các hàm, lệnh có sẵn trong thư viện
• Chuyển ổi kiễu dữ liệu
• Vào, ra với dữ liệu
Tên (biến, hằng, hàm, ...) nói chung theo quy ước giống ngôn ngữ C++ Cụ thể:  Bao gồm:
• Các chữ cái hoa ‘A’ ‘B’ ... ‘Z’, chữ cái thường ‘a’ ‘b’ ... ‘z’
• Các chữ số ‘0’ ‘1’ ... ‘9’
• Dấu gạch dưới ‘_’
 Ký tự ầu của tên phải bằng chữ cái
 Có sự phân biệt chữ cái thường và chữ cái HOA
 Độ dài tối a của tên 31 ký tự (19 ký tự ối với ver. 5.3) 7 lOMoAR cPSD| 45474828
Tên các hàm (kể cả m-files) ã ược ặt cũng có thể ược sử dụng làm tên của biến, như
vậy hàm này sẽ không ược sử dụng trong quá trình tồn tại của biến, cho ến khi có lệnh xoá
các biến ó trong bộ nhớ: lệnh clear hoặc clear .
 Các hàm, lệnh trong Matlab sử dụng chữ cái thường.
- Biến trong Matlab:
+ Tên biến có thể dài 31 ký tự, bắt ầu là chữ Matlab phân biệt chữ thường và chữ hoa
+ Sử dụng dấu = ể ịnh nghĩa biến
+ Tên biến có thể trùng với tên hàm có sẵn, khi ó hàm không còn sử dụng ược cho ến khi biến ược xóa Ví dụ: >> x=1 x=1
>> ten_truong='Dai hoc DL Cong Nghe Sai Gon'
ten_truong = Dai hoc DL Cong Nghe Sai Gon
Một số hàm liên quan ến biến:
clear xóa tất cả các biến who hiển thị danh sách các biến trong
worksapce whos hiển thị các biến cùng kích thước của chúng, có phải số phức ?
clear name1, name2,… xóa biến có tên ược khai báo
exist (‘item’) Kiểm tra sự tồn tại của ối tượng ‘item’
save Lưu các biến trong workspace ra file
load Tải các biến vào trong workspace từ file
Độ lớn của biến:
Xác ịnh ộ lớn hay chiều dài của biến vector cũng như ma trận thông qua một số hàm: size(A)
Trả về 1 vector chứa kích thước A, gồm số hàng và số cột của A
[m n]=size(A) giá trị trả về chứa trong m và n size(A,p) p=1 trả về số hàng p=2 trả về số cột
length(A) Trả về chiều dài của A, giá trị lớn nhất của hàng và cột Ví dụ:
>> A=[1 2 3; 4 5 6] A= 1 2 3 4 5 6 8 lOMoAR cPSD| 45474828 >> [m n]=size(A) m = 2 n = 3 >> length(A) ans = 3 >> size(A,1) ans = 2
- Một số biến ược ịnh nghĩa trước:
Một số biến ược Matlab sử dụng ể chỉ các hằng số hay ký hiệu, nên tránh dùng chúng: >> 1/0 Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = Inf >> 0/0 Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = NaN >> eps ans = 2.2204e-016 Ký hiệu Ý nghĩa = Gán giá trị cho biến + - * / ^ Các phép tính ;
Nhập giá trị, dấu cách khi nhập nhiều trị ,
Dấu cách khi xuất nhiều giá trị trên một ans Đáp số mới nhất eps
Cấp chính xác tương ối khi dùng dấu pi số π = 3,14159265… i j Toán tử ảo inf vô cùng NaN
không phải số (0/0 hay inf/inf) - Số
Tất cả những con số ều ược lưu ịnh dạng (format). Mặc nhiên MATLAB hiển thị format
short. Dùng hàm format ể ịnh dạng kiểu số: 9 lOMoAR cPSD| 45474828 Cú pháp Giải thích Ví dụ
format short Hiển thị 4 số sau dấu chấm 3.1416
format long Hiển thị 15 số sau dấu chấm 3.141592653589792 format rat
Hiển thị dạng phân số tối giản 355/133 format +
Hiển thị số dương hay âm +
format short e Hiển thị 4 số sau dấu chấm, ký pháp 0.3142e+01 kỹ thuật
format long e Hiển thị 15 số sau dấu chấm với ký 0.314159265358979e+01 pháp kỹ thuật
format short g Hiển thị 4 số sau dấu chấm chính 3.1416 xác hơn short và short e
format long g Hiển thị 15 số sau dấu chấm chính 3.141592653589792 xác hơn long và long e
format hex Hiển thị cơ số 16 4a02dbc
format bank Hiển thị 2 số sau dấu chấm 3.14 Ví dụ: >> b=3/26 ; >> format long; b b = 0.115384615384615 >> format short e; b b = 1.1538e-01 >> format +; b b = + 10 lOMoAR cPSD| 45474828 >> format rat; b b = 3/26 >> format short; b b = 0.1154 Số phức:
Các hàm ặc biệt của số phức: real(x) phần thực của x imag(x) phần ảo của x conj(x) liên hợp phức của x abs(x)
ộ lớn, trị tuyệt ối của x
angle(x) góc pha của số phức
complex(a,b) tạo số phức từ phần thực và ảo Ví dụ: >> a=1+3i a = 1.0000 +
3.0000i >> b=2-4i b = 2.0000 -
4.0000i >> a+b ans = 3.0000 - 1.0000i >> abs(a) ans = 3.1623 >> real(b) ans = 2 >> imag(b) ans = -4 >> complex(2,2) ans = 2.0000 + 2.0000i
- Các phép toán ại số
+ cộng 2 ma trận/vectơ hoặc 2 số vô hướng với nhau
- trừ 2 ma trận/vectơ hoặc 2 số vô hướng với nhau
\ toán tử chia trái ma trận/véc tơ. Ví dụ: A\B tương ương A-1*B
/ toán tử chia phải ma trận/véc tơ. Ví dụ: A/B tương ương A*B-1
./ hoặc .\ chia phải hay chia trái từng phần tử của ma trận 11 lOMoAR cPSD| 45474828
* nhân hai ma trận với nhau
.* nhân các phần tử tương ứng. Ví dụ: C=A.*B tức là cij =aij*bij
^ luỹ thừa ma trận hay số vô hướng. Ví dụ: a^2 tức là a2
.^ luỹ thừa từng phần tử của ma trận
Ví dụ: Đầu tiên, sử dụng lệnh: format rat
Phép toán với véc tơ, ma trận
Phép toán với các phần tử 1 4 x 2 y 5 3 6 x’ 1 2 3 y’ 4 5 6 5 -3 x + y 7 x – y -3 9 -3 3 -1 x + 2 4 x – 2 -0 5 1 4
x * y không thực hiện ược x.* y 10 18
x’* y 32 x’.* y không thực hiện ược 4 5 6 x * y’ 8 10 12
x.* y’ không thực hiện ược 12 15 18 2 2 x * 2 4 x.* 2 4 6 6 12 lOMoAR cPSD| 45474828 4.0000 x \ y 2.2857 x.\ y 2.5000 2.0000 0.5000 2.0000 2 \ x 1.0000 2./ x 1.0000 1.5000 0.6667 0 0 0.1667 0.2500 x / y 0 0 0.3333 x./ y 0.4000 0 0 0.5000 0.5000 0.5000 0.5000 x / 2 1.0000 x./ 2 1.0000 1.5000 1.5000 1
x ^ y không thực hiện ược x.^ y 32 729 1
x ^ 2 không thực hiện ược x.^ 2 4 9 2
2 ^ x không thực hiện ược 2.^ x 4 8
- Một số hàm toán: sqrt(x) Căn bậc 2 exp(x) Hàm mũ cơ số e abs(x) Giá trị tuyệt ối sign(x)
Hàm dấu (=1 nếu x>0; = -1 nếu x<0; = 0 nếu
x=0) rem(x,y) Số dư phép chia x/y sum(v) Tổng các phần tử vector prod(v)
Tích các phần tử vector min(v) Phần tử 13 lOMoAR cPSD| 45474828
vector bé nhất max(v) Phần tử vector lớn nhất mean(v) Giá trị trung bình cộng Ví dụ:
>> x=4; >> sqrt(x) ans = 2 >> exp(x) ans = 54.5982 >> sign(x) ans = 1 >> rem(x,3) ans = 1 >> v=[1 2 3]; >> min_v=min(v) min_v = 1 >> mean(v) ans = 2 >> sum(v) ans = 6
Một số hàm ơn giản và thường gặp trong khi lập trình: Tên hàm Cú Giải thích pháp sin sin(x) hàm sin cos cos(x) hàm cos tan tan(x) hàm tang asin asin(x) hàm arcsin acos acos(x) hàm arccos atan atan(x) hàm arctang acos acos(x) hàm arccos sinh sinh(x) hàm sin hyperbolic 14 lOMoAR cPSD| 45474828 cosh cosh(x) hàm cos hyperbolic tanh tanh(x) hàm tang hyperbolic asinh asinh(x) hàm arcsin hyperbolic acosh acosh(x) hàm arccos hyperbolic atanh atanh(x) hàm arctang hyperbolic abs abs (x)
Lấy giá trị tuyệt ối hoặc ộ lớn của số phức round round(x)
làm tròn ến số nguyên gần nhất fix fix(x)
làm tròn hướng về không floor floor(x) làm tròn hướng về - ceil ceil(x) làm tròn hướng về + rem rem(x) phÇn d- sau khi chia gcd gcd(x)
ước số trung lớn nhất lcm lcm(x) béi sè trung nhá nhÊt exp exp(x) luỹ thừa e log log(x) logarit c¬ sè e log2 log2(x) logarit cơ số 2 log10 log10(x) logarit c¬ sè 10 1.5. Các toán tử
- Các phép toán quan hệ và logic
Các phép toán quan hệ: == So sánh bằng 15 lOMoAR cPSD| 45474828
< ; > ; >= ; <= các toán tử so sánh
~= so sánh không bằng
Trong ó: Các toán tử quan hệ thực hiện so sánh từng thành phần của 2 ma trận. Chúng tạo
ra một ma trận có cùng kích thước với 2 ma trận, so sánh với các phần tử là 1 nếu phép so
sánh là úng và là 0 nếu phép so sánh là sai.
Phép quan hệ ưu tiên thấp hơn phép toán ại số, cao hơn phép toán logic.
Ví dụ: thực hiện phép so sánh sau: »x=6 x = 6 »x>=[1 2 3;4 5 6;7 8 9] ans = 1 1 1 1 1 1 0 0 0 »x=6 x = 6 »A=[1 2 3;4 5 6;7 8 9] A = 1 2 3 4 5 6 7 8 9 »x>=A ans = 1 1 1 1 1 1 16 lOMoAR cPSD| 45474828 0 0 0 »x=A x = 1 2 3 4 5 6 7 8 9 »x==A ans = 1 1 1 1 1 1 1 1 1 »x=2 x = 2 »x==A ans = 0 1 0 0 0 0 0 0 0 »xans = 0 0 1 1 1 1 1 1 1
Các phép toán logic
& phép và (nhân) logic AND
| phép hoặc (cộng) logic OR ~
phép phủ ịnh logic NOT xor phép logic EXCLUSIVE OR
Trong ó: Kết quả phép toán là 1(khác 0) nếu phép logic là úng và là 0 nếu phép logic là sai. 17 lOMoAR cPSD| 45474828
Phép toán logic có ộ ưu tiên thấp nhất so với phép toán ại số và quan hệ.
Ví dụ: Cho phép toán 1>2 & 3+4 thì máy tính sẽ thực hiện 3+4 ược 7, sau ó tới 1>2 ược
0 rồi thực hiện 0 & 7 và cuối cùng ta ược kết quả là 0. (thay 1<2 & 3-4 kết quả vẫn là 0)
Các hàm logic (Logical function)
Hàm all Kiểm tra vector/cột ma trận có giá trị nào bằng 0 hay không. Cú pháp: y = all(x)
y = all(x,DIM) Trong ó: y biến chứa kết quả y = 1 khi tất cả các
phần tử khác 0 y = 0 khi có 1 phần
tử bằng 0 x tên vector hay ma trận
DIM hướng kiểm tra ma trận,
DIM = 1 (mặc nhiên) kiểm tra theo cột,
DIM = 2 kiểm tra theo hàng,
DIM = 3 kiểm tra từng phần tử Ví dụ: » a=[1 2 3] a = 1 2 3 » y=all(a) y = 1 » a=[1 2 0] a = 1 2 0 » y=all(a) y = 0 » a=[1 2 3;4 5 6;7 -8 9] a = 18 lOMoAR cPSD| 45474828 1 2 3 4 5 6 0 -8 9 » y=all(a) y = 0 1 1 » a=[1 2 3; 4 5 0;7 0 9] a = 1 2 3 4 5 0 7 0 9 » y=all(a) y = 1 0 0
Hàm any Kiểm tra vector/cột ma trận có giá trị nào khác 0 hay không. Cú pháp: y = any(x) y = any(x,DIM) Trong ó: y biến chứa kết quả. y
= 1 khi có 1 phần tử khác 0.
y = 0 khi tất cả các phần tử bằng
0. x tên vector, hay ma trận.
DIM hướng kiểm tra ma trận, Ví dụ: » a=[1 2 3]; » y=any(a) y = 19 lOMoAR cPSD| 45474828 1 » b=[1 0 3 0]; » y=any(b) y = 1
» c=[1 2 0 4;0 2 0 4;1 2 3 4;3 4 5 6] c = 1 2 0 4 0 6 7 8 1 2 3 0 5 0 7 8 » y=any(c) y = 1 1 1 1 » d=[0 0 0 0;0 1 3 0] d = 0 0 0 0 0 1 3 0 » y=any(d) y = 0 1 1 0
Hàm exist Kiểm tra biến hay file có tồn tại hay không. Cú pháp: e = exist(‘name’) Trong ó:
name: là tên file hay tên biến.
e: biến chứa giá trị trả về. e Ý nghĩa 20