Tải bản đầy đủ (.pdf) (50 trang)

Part 7 TÍNH TOÁN ỨNG DỤNG TRONG KTDK

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.62 MB, 50 trang )

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


×