Tải bản đầy đủ (.ppt) (62 trang)

Thực hành KTĐK

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 (584.02 KB, 62 trang )

Thực hành KTĐK
/>

Giới thiệu về MATLAB
• M – file
• SISOTOOL
• SIMULINK


Giới thiệu về MATLAB


Giới thiệu về MATLAB


Giới thiệu về MATLAB
Một số lệnh cơ bản
- Tạo 1 vectơ hang: a=[1 2 3]
- Tao 1 vecto cot: a=[1;2;3]
- Tao 1 ma tran: a=[1 2;4 5]
- Truy cap vao hang thu nhat cua
ma tran a: a(1,:)
- Truy cap vao cot thu nhat cua
ma tran a: a(:,1)
- Tao 1 vecto hang co buoc nhay
xac dinh: a=1:2:10
Gia tri 1: khoi dau
Gia tri 10: ket thuc
Gia tri 2: buoc nhay

- Tao 1 vecto hang dung lenh


linspace : a=linspace(1,5,9)
Gia tri 1: khoi dau
Gia tri 5: ket thuc
Gia tri 9: so diem can chia
- Nhan 2 ma tran:
a=[1 2;4 5];
b=[1 6;8 5];
c=a*b;
- Nhan tung thanh phan cua 2 ma
tran
a=[1 2;4 5];
b=[1 6;8 5];
c=a.*b;


» x = 5;
% giá trị thực
» x = 5+10i;
% giá trị ảo
» x = 5+10j;
% tương đương dòng
trên
» x = [1 2 3];
% vector hàng
» x = [1; 2; 3];
% vector cột
» x = [1 2 3; 4 5 6; 7 8 9];
% ma trận 3×3



»x=5
x=
5
» x = [1 2 3]
x=
1 2
3
» x = [1; 2; 3]
x=
1
2
3


» x = 3+4i % gán giá trị phức cho x
x=
3.0000 + 4.0000i
» real(x) % phần thực của x
ans =
3
» imag(x) % phần ảo của x
ans =
4
» abs(x) % độ lớn (magnitude) của x
ans =
5
» angle(x)% góc pha của x, tính bằng radian
ans =
0.9273
» conj(x) % liên hợp phức của x

ans =
3.0000 − 4.0000i


Lệnh [x1:s:x2]: sinh một vector x bao gồm các giá trị cách đều nhau trong khoảng [x1,
x2] với bước là s. Ví dụ:
» x = [0:0.5:10]; % sinh vector x có 21 giá trị từ 0 đến 10, bước 0,5
x=
Columns 1 through 8
0

0.5000

1.0000

1.5000

2.0000

2.5000

3.0000

3.5000

Columns 9 through 16
4.0000

4.5000


5.0000

5.5000

6.0000

Columns 17 through 21
8.0000

8.5000

9.0000

9.5000 10.0000

6.5000

7.0000

7.5000


Hàm linspace(x1,x2,N): sinh một vector gồm N giá trị cách đều nhau
trong khoảng [x1, x2]. Ví dụ:
» x = linspace(0,10,21); % kết quả giống như ví dụ trên
Hàm logspace(d1,d2,N): sinh một vector gồm N giá trị cách đều nhau
theo thang logarithm (cơ số 10) trong khoảng [10d1,10d2], trừ phi
d2 bằng pi (π), khi đó khoảng giá trị sẽ là [10d1, π]. Ví dụ:
» x = logspace(0,3,4)
x=

1
10
100
1000
» x = logspace(0,pi,4)
x=
1.0000
1.4646
2.1450
3.1416


Các phần tử của ma trận được truy nhập tới bằng các chỉ số (indexes) của hàng và cột.
Trong MATLAB, chỉ số bắt đầu từ 1. Ví dụ:
» A = [1 2 3; 4 5 6; 7 8 9];
% ma trận 3×3
» x = A(3,1)
% phần tử ở hàng 3, cột 1
x=
7
Để truy nhập tới một ma trận con của ma trận, người ta thường sử dụng tới ký hiệu :, ví
dụ:
» x = A(:,2)
% toàn bộ cột thứ 2 của A
x=
2
5
8
» x = A(2:3,1:3)
% ma trận con của A gồm hàng 2-3, cột 1-3

x=
4
5
6
7
8
9







Cộng ma trận: A+B
Trừ ma trận: A−B
Nhân ma trận: A*B
Chia ma trận: có hai phép chia ma trận được định nghĩa
như sau, nếu A*x = B thì x = A\B (phép chia trái, ký hiệu
là \), còn nếu x*A = B thì x = B/A (phép chia phải, ký
hiệu là /) với điều kiện ma trận A lấy nghịch đảo được và
kích thước các ma trận phù hợp.
• Lấy mũ: A^k (tương đương A*A*...*A, tất cả k lần)
• Chuyển vị liên hợp: A' hoặc ctranspose(A)
• Nhân các phần tử tương ứng của 2 ma trận cùng kích
thước: A.*B, kết quả là một ma trận cùng kích thước,
phần tử ở hàng i cột j bằng A(i,j)*B(i,j)


• MATLAB có các cấu trúc tương tự các

ngôn ngữ lập trình bậc cao khác, như các
lệnh if, for, while và các phép toán logic
and (hay &), or (hay |), not (hay ~). Hãy
sử dụng lệnh help để tìm hiểu cách sử
dụng các lệnh này.


• MATLAB cung cấp một số lớn các hàm
toán học cơ sở. Các hàm thường dùng là
sin, cos, tan, asin, acos, atan, exp (lấy
mũ của e), log (logarithm tự nhiên), log10
(logarithm cơ số 10), sqrt (căn bậc 2), abs
(giá trị tuyệt đối). Khi biến vào của các
hàm nay là các ma trận, chúng sẽ được
thực hiện cho từng phần tử của ma trận.


script file
• % script file: vidu.m
• % vẽ đồ thị của hàm số x = te-tcos(2πt) trong
khoảng [0,8]
• clear all % xóa tất cả các biến và hàm

% do người dùng định nghĩa trước
trước đó
• t = linspace(0,8,401);
• x = t.*exp(–t).*cos(2*pi*t);
• plot(t,x)






function
M-files chứa hàm được bắt đầu bằng một định nghĩa hàm như sau:
function [output1, output2,...] = function_name(input1, input2,...)
Tiếp theo định nghĩa hàm là các lệnh MATLAB như trong scripts. Tuy
nhiên, các lệnh đó chỉ có phạm vi bên trong hàm và các biến được
định nghĩa trong phạm vi hàm là các biến cục bộ trừ phi chúng
được khai báo là biến toàn cục bằng cách sử dụng lệnh global.
Sau đây là một ví dụ về hàm:
% file: f1.m
% tính s = f1(a,b) = exp(a+2|b|)
function s = f1(a,b)
if b > 0,
k = a+2*b;
else
k = a−2*b;
end
s = exp(k);


f1(2,3)
ans = 2.9810e+003
y=f1(3,2)
y = 1.0966e+003


Vẽ đồ thị
• plot: vẽ đồ thị dưới dạng đường liên tục

• stem: vẽ đồ thị dưới dạng các điểm rời rạc
• loglog: tương tự plot, nhưng hai trục tọa độ X
và Y đều chia theo thang logarithm (cơ số 10)
• semilogx: tương tự plot, nhưng trục tọa độ X
chia theo thang logarithm (cơ số 10)
• semilogy: tương tự plot, nhưng trục tọa độ Y
chia theo thang logarithm (cơ số 10)
• bar: vẽ biểu đồ cột
• histogram: vẽ biểu đồ tần suất
• polar: vẽ đồ thị trong hệ tọa độ cực














xlabel: gắn nhãn cho trục X
ylabel: gắn nhãn cho trục Y
title: gắn tiêu đề cho đồ thị
grid: hiển thị lưới tọa độ
text: đặt xâu ký tự vào đồ thị
axis: điều chỉnh thang và thuộc tính của các trục tọa độ

figure: tạo một cửa sổ mới cho lệnh vẽ, hàm sẽ trả về số hiệu của cửa sổ
mới được tạo. Nếu lệnh figure có tham số − figure(n), cửa sổ vẽ có số
hiệu n sẽ được kích hoạt và lệnh vẽ tiếp theo sẽ vẽ vào cửa sổ này.
hold on: cho phép giữ lại hệ tọa độ và đồ thị đang hiển thị khi có lệnh vẽ
mới trong cùng cửa sổ. Các lệnh vẽ mới sẽ chỉ vẽ thêm đồ thị, các trục tọa
độ và thuộc tính của chúng vẫn giữ nguyên
hold off: xóa bỏ tác dụng của lệnh trên, mỗi khi có lệnh vẽ mới, hình vẽ
đang hiển thị trong cùng cửa số sẽ bị xóa
close(n): đóng cửa sổ vẽ có số hiệu n
subplot: lấy một phần của đồ thị đang hiển thị


% vẽ đồ thị của các hàm số x1 = te-tcos(2πt) và x2 = tetsin(2πt)
% trong khoảng [0,8]
t = linspace(0,8,401);
x1 = t.*exp(–t).*cos(2*pi*t);
x2 = t.*exp(–t).*sin(2*pi*t);
plot(t,x1);
hold on
plot(t, x2, ‘r’);
xlabel('Time (s)');
ylabel('Amplitude');



Thiết lập các mô hình tuyến tính
bất biến theo thời gian
Mô hình hàm chuyển của một hệ thống tuyến tính G(s) =
Y(s)/X(s) trong CST được thiết lập bằng hàm tf(X,Y), ở
đó X là vector biểu diễn đa thức X(s) và Y là vector biểu

diễn đa thức Y(s). Đa thức P(s) = a1sn + a2sn-1 + a3sn2 + ... + ans + an+1 được biểu diễn bằng vector P = [a1
a2 a3 ... an an+1]. Ví dụ, hệ thống có hàm chuyển G(s)
= s/(s2 + 2s + 10) được thiết lập bằng lệnh sau:
» G = tf([1 0],[1 2 10])
Transfer function:
s
------------------s^2 + 2 s + 10


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×