Các khái niệm cơ bản (tt)
Tốn tử quan hệ
• eq (== )
Bằng
• ne ( ~= )
Khơng bằng
• lt (< )
Nhỏ hơn
• gt (>)
Lớn hơn
• le (<= )
Nhỏ hơn hoặc bng
ã ge (>= )
Ln hn hoc bng
âCopyright 2007
MATLAB
11
Các khái niệm cơ bản (tt)
Tốn tử logic
• and (&)
Logic và
• or ( | )
Logic hoặc
• not ( ~ )
Logic phủ định
• xor
Logic hoặc phủ định
• any
True nếu mọi phần tử của vector
khác khơng.
• all
True nếu tất cả các phần tử khác
khơng
©Copyright 2007
MATLAB
12
Các khái niệm cơ bản (tt)
Các kí tự đặc biệt
:
Dấu hai chấm
()
Dấu ngoặc đơn
[]
Dấu ngoặc vuông
{}
Dấu ngoặc nhọn
.
Dấu thập phân
.
Truy nhập cấu cấu trúc trường
..
Thư mục mẹ
...
Dấu tiếp tục
,
Dấu phẩy
;
Dấu chấm phẩy
%
Dấu chú thích
©Copyright 2007
MATLAB
13
Các khái niệm cơ bản (tt)
%
Dấu chú thích
!
Liên quan câu lệnh của hệ điều
hành
=
Gán
‘
Nhảy
transpose(.’)
Chuyển vị
ctranspose(‘ )
Chuyển vị số phức liên hợp
horzcat [, ]
Ghép chuỗi theo chiều ngang
vertcat[; ]
Ghép chuỗi theo chiều đứng
subsasgn
Gán subscripted
bsref
Tham chiếu subscripted
subsindex
Chỉ số subscripted
©Copyright 2007
MATLAB
14
Các khái niệm cơ bản (tt)
BIẾN
Quy định về tên biến:
−
Giống các ngơn ngữ khác, Matlab có những quy định về tên
biến phải là một từ, không chứa dấu cách, và phải tuân thủ
theo các quy tắc sau:
9
Có thể chứa nhiều nhất 31 kí tự, cịn các kí tự sau kí tự
31 sẽ bị lờ đi.
Ví du: Thoi_gian_dong_cua_vuaximang100, …
9
Tên biến bắt đầu phải là chữ cái, tiếp theo có thể là chữ
số, dấu gạch dưới.
Thí dụ: Do_bien_thien, Heso, heso, Donhot,
donhot…
9
Kí tự chấm “.” khơng được dùng vì nó có ý nghĩa đặc
biệt
©Copyright 2007
MATLAB
15
BIẾN (tt)
Một số biến được đĩnh nghĩa trước:
−
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
©Copyright 2007
MATLAB
16
Một số biến được định nghĩa trước (tt)
Ý
©Copyright 2007
MATLAB
17
Độ 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 sau đây:
9
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.
9
Length(A) Trả về chiều dài của A, giá trị lớn nhất
của hàng và cột.
9
Ngồi ra cịn có các hàm: Size(A,p);
size(A)
[m,n] =
©Copyright 2007
MATLAB
18
BIẾN (tt)
Thí dụ:
>> A = [1 2 3; 4 5 6]
A=123
456
>> [m,n] = size(A)
m=2
n=3
>> length(A)
ans = 3
>>size(A,1)
ans = 2
©Copyright 2007
MATLAB
19
BIẾN (tt)
BIẾN MƠI TRƯỜNG (Environmental Variable)
Thí dụ:
>> a = 1
a=
1
>> b = ‘MATLAB’
b=
Matlab
Ta nói, a, b là các biến mơi trường.
©Copyright 2007
MATLAB
20
BIẾN (tt)
Khi làm việc trong MATLAB ở trong cửa sổ lệnh cũng
như các giá trị đã được tạo ra. Những lệnh và biến
này được thường trú trong môi trường làm việc của
MATLAB (Workspace) và có thể được nạp trở lại khi
muốn.
Đời sống của những biến chấm dứt khi ta thốt khỏi
chương trình MATLAB.
Như Thí dụ trên, a được hiểu la một biến số, b là một
chuỗi.
Khi định nghĩa biến môi trường, nếu gán giá trị cho nó
thì kiểu biến sẽ phụ thuộc vào kiểu giá trị đã gán cho
nó.
©Copyright 2007
MATLAB
21
BIẾN (tt)
BIẾN CỤC BỘ (Local Variable)
Biến này chỉ tồn tại trong một hàm MATLAB và
không hiện hữu trong cửa sổ lệnh.
Thí dụ:
function[mean,stdev] = stat(x);
n = length(x);
mean = sum(x)/n;
stdev = sqrt(mean);
Trong trường hợp này n là biến cục bộ và chỉ
được truy xuất trong một hàm.
©Copyright 2007
MATLAB
22
BIẾN (tt)
BIẾN TOÀN CỤC (Global Variable)
Được định nghĩa bằng từ khóa global. Việc
xóa biến tồn cục dùng lệnh clear global
Isglobal(ten_bien): trả về 1 (ten_bien là biến
toàn cục), 0 (ten_bien khơng phải là biến tồn
cục)
Thí dụ:
Global x y z
x, y, z là các biến tồn cục.
©Copyright 2007
MATLAB
23
BIẾN (tt)
Thường mỗi hàm trong MATLAB được viết dưới
dạng M File, có riêng những biến cục bộ cho
từng hàm và được lưu trữ trong một vùng biến
đặc biệt, việc gọi hàm trong một hàm đều có thể
truy xuất biến này.
Nên dùng KÍ TỰ HOA để đặt tên biến tồn cục
để tránh trùng tên với các biến trong Workspace.
©Copyright 2007
MATLAB
24
BIẾN (tt)
BIẾN SYMBOLIC
Symbolic processing là thuật ngữ dùng mơ tả cách thức
máy tính thực hiện tính các biểu thức tốn học (Thí dụ,
rút gọn một đa thức, đặt thừa số chung, tính giá trị một
biểu thức đại số, giải phương trình đại số, giải phương
trình vi phân, …)
Khởi tạo biến symbolic:
x = sym(‘x’): Tạo biến symbolic có tên là x.
x = sym(‘x’,’real’): Tạo biến symbolic có tên x và là biến
không bị ràng buộc phải là biến thực.
k = sym(‘p’,’positive’): Tạo biến symbolic k là biến thực,
dương.
©Copyright 2007
Khởi tạo hằng symbolic: Nhằm tránh mắc sai lầm khi làm
tròn.
MATLAB
25
BIẾN (tt)
Khởi tạo hằng symbolic
Thí dụ:
>> hai_phan_ba = sym(‘2/3’);
>> pi = sym(‘pi’);
>> hai_phan_ba =
hai_phan_ba =
2/3 % Không hiển thị giá trị xấp xỉ
>> Pi
Pi =
pi % không hiển thị giá trị xấp xỉ.
- Liệt kê các biên symbolic hiện hành, sử dụng hàm <syms>
©Copyright 2007
MATLAB
26
BIẾN (tt) - Symbolic
Liệt kê các biến Symbolic
>> syms x y;
>> p = 2*x + 3*y;
% Tạo biến symbolic p thông qua biểu thức symbolic
>> u = sqrt(x^2 + y^2);
% Tạo biến symbolic u thông qua biêu thức symbolic
>> d = subs(u, {x,y},{2,3})
% Tính giá trị biểu thức u khi x = 2, y = 3.
d=
13
>> v = subs(u,{x,y},{3,4})
% Tính giá trị biểu thức khi x = 3; y = 4;
v=
5
>> syms
‘r’
‘s’
‘x’
‘y’
©Copyright 2007
MATLAB
27
BIẾN (tt) - Symbolic
Khởi tạo ma trận symbolic bằng biến symbolic.
Thí dụ:
>> n = 3;
>> syms x;
>> A = x.^ [[0:n]’.* [0:n]];
% Dùng phép biến đổi lũy thừa mảng
A = [1,
1,
1,
1]
[1,
x,
x^2,
x^3]
[1,
x^2,
x^4,
x^6]
[1,
x^3,
x^6,
x^9]
©Copyright 2007
MATLAB
28
BIẾN (tt) - Symbolic
Tìm biến symbolic trong một hàm
Thí dụ:
>> syms b x y z;
>> findsym(5*b + 2*z)
% Hàm này tìm biến symbolic trong một hàm
ans =
b, z
©Copyright 2007
MATLAB
29
BIẾN (tt)
LƯU và NẠP Biến
Biến sẽ bị xóa sạch khi:
−
Dùng lệnh: clear all
−
Thốt chương trình MATLAB
Lưu biến:
−
Để sử dụng lại cho phiên làm việc sau; dùng
lệnh <save> (lưu tất cả các biến do
Workspace đang quản lý(tên, kích thước, giá
trị) vào một tập tin nhị phân (binary file) có
tên matlab.mat
©Copyright 2007
MATLAB
30
BIẾN (tt)
Nạp biến:
−
Dùng lệnh <load> Nạp tất cả các biến đã lưu vào
Workspace để dùng lại
9
Nếu không muốn dùng tập tin mặc định
matlab.mat, ta sử dụng lệnh <Save filename> để
lưu tất cả biến vào tập tin có tên filename.mat và
muốn nạp lại biến khi dùng lệnh <load filename>
9
−
Lưu một vài biến trong cửa sổ workspace
Lệnh <Save filename var1 var2 …>
9
Nói chung cách đơn giản nhất là: Từ cửa sổ Menu
File ở cửa sổ lệnh chọn <Sace Workspace As>
©Copyright 2007
Đặt tên tập tin (có đi mở rộng là *.mat)
MATLAB
31
Câu chú thích
Tất cả các văn bản đằng sau kí hiệu phần trăm
(%) đều là câu giải thích.
Thí dụ:
> heso_a = 10 % Hệ số a ptb2
heso_a =
10
>> heso_b = 20 % Hệ số b ptb2
heso_b =
20
©Copyright 2007
MATLAB
32
Số phức
Một trong những điểm mạnh nhất của MATLAB là làm việc
với 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(x)
Tạo số phức từ phần thực và ảo
©Copyright 2007
MATLAB
33
Số phức (tt)
Thí 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 % độ lớn của a
>> real(b) % phần thực của số phức b
ans = 2
>> imag(b) %phần ảo của số phức b
ans = -4
>> complex(2,2)
ans = 2.0000 + 2.0000i
©Copyright 2007
MATLAB
34
Một số hàm tốn học thơng thường
Tên hàm
Any(x)
All(x)
Isnan(x)
©Copyright 2007
Isinf(x)
Finite(x)
Isstr(x)
Issym(x)
Abs(x)
Acos(x)
Acosh(x)
Ceil(x)
Atan(x)
Asin(x)
Mơ tả, kết quả trả về
1 hoặc vecto hàng đơn vị nếu bất kỳ phần tử nào
của vecto hoặc ma trận x khác 0.
là 1 hoặc vecto hàng đơn vị nếu tất cả các phần tử
nào của vecto hoặc ma trận x khác 0.
Là một tại những vị trí NaN (Not a Number, Thí dụ
0/0) trong x
Là 1 tại những vị trí Inf (Infinitive, 1/0) trong x.
Là 1 tại những vị trí có giá trị hữu hạn trong x.
Là 1 nếu x là một string (chuỗi)
Là 1 nếu x là một biến sym
Trị truyệt đối hoặc biên độ số phức
Hàm cosin ngược
Hyperbolic cosin ngược
Làm trịn về phía trên
Hàm số tang ngược
Hàm số sin ngược
MATLAB
35