Tải bản đầy đủ (.docx) (44 trang)

đồ án tìm hiểu về phần mềm matlap

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 (922.54 KB, 44 trang )

TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK

MỤC LỤC


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK

LỜI NÓI ĐẦU
Ngày nay tự động hóa đã trở thành một vấn đề thiết yếu trong ngành công
nghiệp. Để thiết kế được các mô hình tự động hóa trong nhà máy công nghiệp thì
người thiết kế cần nắm được các kiến thức cơ bản về Lý thuyết điều khiển tự động –
bộ môn cơ bản của ngành tự động hóa. Một trong các kỹ năng mà người học phải có
sau khi học xong bộ môn này là phải nhận dạng và ổn định các mô hình.
Trong quá trình công nghiệp hóa – hiện đại hóa đất nước hiện nay, Tự Động
Hóa có mặt ngày càng nhiều trong các nhà máy, xí nghiệp và trong đời sống hàng
ngày. Trong công nghiệp, Tự Động Hóa làm tăng năng suất, chất lượng sản phẩm với
thời gian ngắn nhất mà lại tốn ít nhân công. Trong cuộc sống hàng ngày, Tự Động
Hóa đang dần trở thành một yếu tố gần gũi và khá quan trọng, nó khiến cuộc sống
của chúng ta hiện đại và tiện nghi hơn.
Trong đồ án này, em đã tìm hiểu và biết được về phần mềm matlap cũng như
công cụ simulink để mô phỏng các bài toán, thuật toán khó giải quyết.
Trong quá trình thực hiện đồ án này, em đã nhận được rất nhiều sự khuyến
khích, động viên cùng những lời khuyên và những ý tưởng của các bạn bè cũng như
thầy cô, đặc biệt là thầy Lê Quốc Dũng– Giáo viên bộ môn: khoa Công Nghệ Tự Động
- Trường Đại học Điện Lực.
Với những kiến thức và hiểu biết còn hạn chế, em rất mong nhận được nhiều
hơn nữa những sự đóng góp, bổ sung ý kiến của của cô và các bạn để cho đồ án này
hoàn thiện hơn, giúp en có kiến thức vững chắc để có thể học tập và nghiên cứu sâu
hơn trong ngành công nghệ tự động.
Em xin chân thành cảm ơn!


Sinh viên
Hoàng Ngọc Hùng


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK

CHƯƠNG 1: TỔNG QUAN VỀ PHẦN MỀM MATLAPSIMULINK
1.1. Lịch sử hình thành và phát triển
Matlab là viết tắt từ "MaTrix LABoratory", được Cleve Moler phát minh vào
cuối thập niên 1970, và sau đó là chủ nhiệm khoa máy tính tại Đại học New Mexico.
MATLAB, nguyên sơ được viết bởi ngôn ngữ Fortran, cho đến 1980 nó vẫn chỉ là
một bộ phận được dùng nội bộ của Đại học Stanford.
Năm 1983, Jack Little, một người đã học ở MIT và Stanford, đã viết lại MATLAB
bằng ngôn ngữ C và nó được xây dựng thêm các thư viện phục vụ cho thiết kế hệ
thống điều khiển, hệ thống hộp công cụ (tool box), mô phỏng... Jack xây dựng
MATLAB trở thành mô hình ngôn ngữ lập trình trên cơ sở ma trận (matrix-based
programming language).
Steve Bangert là người đã viết trình thông dịch cho MATLAB. Công việc này kéo
dài gần 1½ năm. Sau này, Jack Little kết hợp với Moler và Steve Bangert quyết định
đưa MATLAB thành dự án thương mại - công ty The MathWorks ra đời thời gian này
- năm 1984.
Phiên bản đầu tiên MATLAB 1.0 ra dời năm 1984 viết bằng C cho MS-DOS PC
được phát hành đầu tiên tại IEEE Conference on Design and Control (Hội
nghị IEEE về thiết kế và điều khiển) tại Las Vegas, Nevada. Ban đầu Matlab được
phát triển để hỗ trợ sinh viên sử dụng hai thư viện LINPACK và EISPACK dùng cho
đại số tuyến tính (viết bằng Fortran) mà không cần biết lập trình Fortran.
Năm 1986, MATLAB 2 ra đời trong đó hỗ trợ UNIX.
Năm 1987, MATLAB 3 phát hành.
Năm 1990 Simulink 1.0 được phát hành gói chung với MATLAB.
Năm 1992 MATLAB 4 thêm vào hỗ trợ 2-D và 3-D đồ họa màu và các ma trận truy

tìm. Năm này cũng cho phát hành phiên bản MATLAB Student Edition (MATLAB ấn
bản cho học sinh).
Năm 1993 MATLAB cho MS Windows ra đời. Đồng thời công ty này có trang web
là www.mathworks.com


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Năm 1995 MATLAB cho Linux ra đời. Trình dịch MATLAB có khả năng chuyển
dịch từ ngôn ngữ MATLAB sang ngôn ngữ C cũng được phát hành trong dịp này.
Năm 1996 MATLAB 5 bao gồm thêm các kiểu dữ liệu, hình ảnh hóa, bộ truy sửa
lỗi (debugger), và bộ tạo dựng GUI.
Năm 2000 MATLAB 6 cho đổi mới môi trường làm việc MATLAB, thay thế
LINPACK và EISPACK bằng LAPACK và BLAS.[1]
Năm 2002 MATLAB 6.5 phát hành đã cải thiện tốc độ tính toán, sử dụng phương
pháp dịch JIT (Just in Time) và tái hỗ trợ MAC.
Năm 2004 MATLAB 7 phát hành, có khả năng chính xác đơn và kiểu nguyên, hỗ
trợ hàm lồng nhau, công cụ vẽ điểm, và có môi trường phân tích số liệu tương tác.
Đến tháng 12, 2008, phiên bản 7.7 được phát hành với SP3 cải thiện Simulink cùng
với hơn 75 sản phẩm khác.
Năm 2009 cho ra đời 2 phiên bản 7.8 (R2009a) và 7.9 (R2009b).
Năm 2010 phiên bản 7.10 (R2010a) cũng đã được phát hành.
Matlab được dùng rộng rãi trong giáo dục, phổ biến nhất là giải các bài toán số
trị (cả đại số tuyến tính lẫn giải tích) trong nhiều lĩnh vực kĩ thuật.
1.2. Các công cụ trong matlap
MATLAB gồm 5 phần chính:
• Development Environment: là một bộ các công cụ giúp ta sử dụng các hàm và

tập tin của MATLAB. Nó bao gồm: MATLAB desktop, Command Window, a
command history, an editor, debugger, browsers for viewing help, the workspace,
files, the search path.

• MATLAB Mathematical Function Library: tập hợp các hàm tóan học như sum,
sine, số học, v.v.
• MATLAB Language (scritp): ngôn ngữ lập trình bậc cao.
• Graphics: các công cụ giúp hiễn thị dữ liệu dưới dạng đồ thị. Ngòai ra nó còn
cho phép xây dựng giao diện đồ họa.
• MATLAB Application Program Interface (API): bộ thư viện cho phép ta sử

dụng các hức năng tính tóan của MATLAB trong chương trình C hay FORTRAN.
Với 3 công cụ quan trọng nhất đó là:


MATLAB Product Family (tính toán số, lập trình, phân tích dữ liệu, hiển thị đồ thị…)


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Simulink Product Family (mô phỏng bằng khối, thiết kế mô hình, hệ thống



nhúng…)
Polyspace Product Family (phân tích, kiểm tra,… liên quan đến lập trình C, C+



+, và các bộ kit chứng chỉ DO, IEC).
1.2.1. Công cụ simulink
Simulink là một phần mềm mở rộng của MATLAB (1 Toolbox của Matlab) dùng để
mô hình hoá, mô phỏng và phân tích một hệ thống động. Thông thường dùng để thiết kế hệ
thống điều khiển, thiết kế DSP, hệ thống thông tin và các ứng dụng mô phỏng khác.
Simulink là thuật ngữ mô phỏng dễ nhớ được ghép bởi hai từ Simulation và Link.

Simulink cho phép mô tả hệ thống tuyến tính,hệ phi tuyến, các mô hình trong miền thời gian
liên tục, hay gián đoạn hoặc một hệ gồm cả liên tục và gián đoạn.
Để mô hình hoá, Simulink cung cấp cho bạn một giao diện đồ họa để sử dụng và xây
dựng mô hình sử dụng thao tác "nhấn và kéo" chuột. Với giao diện đồ họa ta có thể xây mô
hình và khảo sát mô hình một cách trực quan hơn. Đây là sự khác xa các phần mềm trước đó
mà người sử dụng phải đưa vào các phương vi phân và các phương trình sai phân bằng một
ngôn ngữ lập trình.
Điểm nhấn mạnh quan trọng trong việc mô phỏng một quá trình là việc thành lập được
mô hình. Để sử dụng tốt chương trình này, người sử dụng phải có kiến thức cơ bản về điều
khiển, xây dựng mô hình toán học theo quan điểm của lý thuyết điều khiển và từ đó thành lập
nên mô hình của bài toán.

1.3. Các ưu điểm của matlap
- Cung cấp một công cụ tính toán và lập trình bậc cao dễ sử dụng, hiệu quả và
thân thiện. SIMULINK giúp người sử dụng thực hiện các bài toán mô hình hóa mô
phỏng trên máy tính.
- Có tính mở, các hàm và toolbox không ngừng được bổ sung theo sự phát triển
của khoa học bởi chính công ty và cả người sử dụng trên toàn thế giới.
Thời gian tính toán tương đối nhanh (nếu biết tối ưu chương trình: MatLab tính
toán dựa trên dạng Matrận nên nếu biết đưa các vòng lặp về dạng Matrận sẽ rút ngắn
được nhiều về thời gian tính toán)
-

-

Có thể thiết kế giao diện cho người dùng (GUI)

- Có công cụ trợ giúp phong phú trực tuyến, trên mạng hay các dạng tài liệu
khác



TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
1.4. Khả năng ứng dụng của matlap
Trước tiên, MatLab là chương trình hỗ trợ rất mạnh về Toán, tất cả các phép
toán về Ma trận, vẽ đồ thị, ngoại suy, nội suy
- Ngoài ra, MatLab có thể được sử dụng trong tất cả các ngành: Viễn thông, Tự
động, Kỹ thuật điện vì thứ nhất, nó hỗ trợ rất mạnh về Toán (như đã nói ở trên), thứ 2
là do MatLab có một thư viện Toolbox và Simulink cực kỳ khổng lồ.
- Đối với ngành Tự động và Kỹ thuật điện, biểu diễn rất nhiều các công cụ của
MatLab, ví dụ tính toán độ ổn định của hệ thống (có sẵn các khối để simulink), vẽ biểu
đồ Bode.
Đối với ngành Viễn thông, MatLab được sử dụng rất rất nhiều:Trong chương trình
học, bạn sẽ được học về Xử lý số tín hiệu, về thiết kế 1 bộ lọc (thông thấp, thông cao,
thông dải...; FIR, IIR), về điều chế (analog, digital), về mã hoá kênh truyền, về đánh
giá chất lượng 1 hệ thống thông qua giá trị BER ... , tất cả những điều này bạn đều có
thể khảo sát bằng MatLab! Matlab đã cung cấp sẵn tất cả những công cụ này, bạn chỉ
nhập Input và khảo sát.
- Khi làm đồ án môn học hoặc thực hành lý thuyết, MatLab là công cụ mô phỏng
chủ yếu và hiệu quả trong các đề tài về Hệ thống thông tin (các kỹ thuật thông tin di
động và các phương pháp cải thiện, Anten thông minh, hệ thống MIMO ...), về Xử lý
số tín hiệu (hình ảnh, âm thanh, video ...) ...
-

-

-

1.5. Nhược điểm
Giao diện cho người dùng (GUI) không thể chuyển thành file .exe nên mỗi lần chạy
phải chạy từ MatLab. Chính vì khuyết điểm này, các chương trình viết bằng MatLab

chì dùng để Mô phỏng trong quá trình học hoặc để tự khảo sát trong quá trình nghiên
cứu vấn đề gì đó chứ không được đưa thành chương trình sử dụng trong thực tế.


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK

CHƯƠNG 2: GIỚI THIỆU PHẦN MỀM MATLAP
2.1. Giới thiệu chung
2.1.1. Giao diện
Việc khởi động MATLAB trên mỗi hệ thống khác nhau. Trong môi trường
WINDOWS hay MACINTOSH, chương trình thường được khởi động thông qua việc
nhắp chuột trên các icon hay còn gọi là biểu tượng. Còn với môi trường UNIX, MSDOS ,việc khởi động thông qua dòng lệnh:
:\ MATLAB ↵
Việc ngắt chương trình đang thực hiện hoặc các chương trình không đúng theo yêu
cầu đều được thông qua phím nóng Ctrl + C.
Để thoát khỏi chương trình MATLAB ta có thể dùng lệnh
>> exit ↵ hoặc >> quit ↵ ( ↵ : nhấn ENTER)
hoặc từ menu thả xuống hoặc nhấn vào trên góc phải màn hình của cửa sổ chính
MATLAB.
Giao diện của MATLAB sử dụng hai cửa sổ: cửa sổ lệnh (command window) và
cửa sổ đồ thị (Figure window).


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Command Window: Đây là cửa sổ làm việc chính của MATLAB. Tại đây ta thực
hiện tòan bộ việc nhập dữ liệu và xuất kết quả tính tóan. Dấu nháy >> báo hiệu chương
trình sẵn sàng cho việc nhập dữ liệu. Ta kết thúc việc nhập dữ liệu bằng cách nhấn
phím Enter. MATLAB sẽ thực thi dòng lệnh mà ta nhập vào Command Window và trả
kết quả trong Command Window.
Command History: Lưu lại tất cả các lệnh mà ta đã nhập vào trong Command

Window. Ta có thể xem lại tất cả các lậnh bằng cách dùng scroll bar, hay thực hiện lại
lệnh đó bằng cách nhấp kép lên dòng lệnh. Ngòai ra ta còn có thể cut, paste, delete các
lệnh.
Workspace browser: trong MATLAB các dữ liệu được lưu trong biến. Workspace
browser liệt kê tất cả các biến mà ta đang sử dụng trong MATLAB. Nó cung cấp
thông tin về kích thước, loại dữ liệu. Ta có thể truy cập trực tiếp vào dữ liệu bằng cách
nhấn kép vào biến để hiễn thị Array editor.
Launch pad: cho phép người dùng truy cập nhanh vào các bộ Toolbox, phần Help.
Editor: dùng để sọan thảo và debug các M-file của MATLAB.
Current folder: xem các file trong thư mục hiện hành.
MATLAB được điều khiển bằng những câu lệnh được kết hợp theo một trật tự nhất
định và gọi đó là chương trình. Chương trình chứa nhiều câu lệnh và những hàm chức
năng để giải những bài toán lớn hơn.
Các câu lệnh trong MATLAB rất mạnh và có những vấn đề chỉ cần một câu lệnh là
đủ giải quyết bài toán. Mô phỏng trong MATLAB sẽ cho ta hình ảnh tọa độ không
gian hai chiều (2D) và ba chiều(3D).
Các phím chức năng đặt biệt (chuyên dùng) và các lệnh dùng cho hệ thống:

Ctrl + P hoặc ↑

Gọi lại lệnh vừa thực hiện trước đó từ của sổ lệnh của
MATLAB

Ctrl + n hoặc ↓

Gọi lại lệnh đã đánh vào trước đó
Ctrl + f hoặc →

Chuyển con trỏ sang phải một kí tự



TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Ctrl + b hoặc ←

Chuyển con trỏ sang trái một kí tự.

Ctrl + l hoặc Ctrl + → Chuyển con trỏ sang phải một từ

Ctrl + r hoặc Ctrl + ← Chuyển con trỏ sang trái một từ

Ctrl + a hoặc HOME

Chuyển con trỏ về đầu dòng.

Ctrl + k

Xoá cho đến dòng cuối cùng

Trong MATLAB, thanh trình đơn thay đổi tùy theo cửa sổ mà ta lựa chọn. Tuy vậy
các trình đơn File, Desktop, Window, Help có mặt hầu hết trong các thanh trình đơn.
Trình đơn File:







New: tạo một đối tượng mới (biến, m-file, figure, model, GUI).
Open: mở một file theo định dạng của MATLAB (*.m, *.mat, *.mdl)

Import data…: nhập dữ liệu từ các file khác vào MATLAB.
Save workspace…: lưu các biến trong MATLAB vào file *.mat.
Set path: khai báo các đường dẫn của các thư mục chứa các m-file.
Preferences: thay đổi các định dạng về font, font size, color cũng như các tùy
chọn cho Editor, Command Window v.v.
• Page Setup: định dạng trang in.
• Print: in.
Trình đơn Desktop:



Desktop layout: sắp xếp các cửa sổ trong giao diện.
Save layout: lưu cách sắp xếp cửa sổ.
Trình đơn Window dùng để kích họat (activate) cửa sổ.
Nút Start cung cấp shortcut tới các công cụ trong MATLAB
2.2. Các lệnh hệ thống :
Các lệnh trên cũng như sau này được viết từ cửa sổ lệnh của MATLAB


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Casesen off

Bỏ thuộc tính phân biệt chữ hoa và chữ thường

Casesen on

Sử dụng thuộc tính chữ hoa và chữ thường.

Clc


Xóa cửa sổ dòng lệnh

Clf

Xó cửa sổ đồ họa

computer

Lệnh in ra một xâu kí tự cho biệt loại máy tính.

exit hoặc quit

Thoát khỏi chương trình MATLAB

Ctrl + C

Dừng chương trình khi nó rơi vào tình trạng lặp không kết thúc .

help

Xem trợ giúp

input

Nhập dữ liệu từ bàn phím.

load

Tải các biến đã lưu trong một file đưa vào vùng làm việc.


pause

Ngừng tạm thời chương trình.

save

Lưu giữ các biến vào file có tên là matlab.mat

Demo

Lệnh cho phép xem các chương trình mẫu (minh họa khả năng làm
việc của MATLAB).

Edit

Lệnh để vào cửa sổ soạn thảo (dùng để viết một chương trình)

Các lệnh thông dụng trong đồ họa Matlab:

Matlab rất mạnh trong việc xử lý đồ họa, cho hình ảnh minh họa một cách sinh
động và trực quan trong không gian 2D và 3D mà không cần đến nhiều dòng lệnh.
plot (x,y)

Vẽ đồ thị trong tọa độ (x,y)

plot (x,y,z)

Vẽ đồ thị theo tọa độ ( x,y ,z)

title


Đưa các tiêu đề vào trong hình vẽ.

xlabel

Đưa các nhãn theo chiều x của đồ thị.

ylabel

Đưa các nhãn theo chiều y của đồ thị.

zlabel
grid

Đưa các nhãn theo chiều z của đồ thị.
Hiển thị lưới trên đồ thị


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK

plot (y)

Vẽ đồ thị theo y bỏ qua chỉ số theo y.
Nếu y là số phức (complex) thì đồ thị được vẽ là phần thực và phần ảo
của y

plot (x,y,S)

Vẽ theo x,y ; S: là các chỉ số về màu sắc và kiểu đường theo biến str
của các đường trên đồ thị được liệt kê ở dưới.


plot(x,y,z…,S
)

Vẽ theo x,y,z…; S: là các chỉ số về màu sắc và kiểu đường theo biến
str của các đường được liệt kê ở dưới.

polar (x,y)

Vẽ đồ thị theo hệ trục tọa độ cực

bar

Vẽ đồ thị dạng cột

2.2.1. Các chỉ số về màu sắc:
Giá trị cuả biến Str trong hàm plot về màu sắc hay kiều dáng của đường được liệt
kê theo bảng dưới đây.
Kiểu đường
Màu sắc
. : Điểm
Y: vàng
* : Sao
G : xanh lá cây
X : Chữ cái x
M : đỏ tươi
O : Chữ cái o
B : xanh lam
+ : Dấu cộng
C : xanh lá mạ.

- : Đường liền nét
W : màu trắng
-- : Đường đứt nét
R : đỏ
-. : Đường chấm gạch
K : đen
: : Đường chấm
2.3. Biến trong Matlab :
Tên các biến trong MATLAB có thể dài 19 kí tự bao gồm các chữ cái cùng các chữ số
cũng như một vài kí tự đặc biệt khác nhưng luôn phải bắt đầu bằng chữ cái. Tên các hàm đã
được đặt cũng có thể được sử dụng làm tên của biến với điều kiện hàm này sẽ không được sử
dụng trong suốt quá trình tồn tại của biến cho đến khi có lệnh clear xoá các biến trong bộ nhớ
hay clear + tên của biến.

Bình thường Matlab có sự phân biệt các biến tạo bởi chữ cái thường và chữ cái
hoa.Các lệnh trong Matlab nói chung thường sử dụng chữ cái thường. Việc phân biệt
đó có thể đươc bỏ qua nếu chúng ta thực hiện lệnh.
>> casensen off % bỏ thuộc tính phân biệt chữ hoa và chữ thường.
Tên của biến:


có thể chứa tới 31 ký tự.


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK




phân biệt chữ hoa và thường.

có thể chứa gạch thấp “_”
bắt đầu bằng chữ cái.

MATLAB không yêu cầu ta phải khai báo kích thước của biến. Để tạo một biến
mới ta chỉ cần gỏ tên biến, dấu bằng và giá trị gán cho biến. Nếu biến đã tồn tại trong
MATLAB, giá trị của nó sẽ được thay đổi.
Ví dụ:
>> variable_1=25;
Nếu ta chỉ nhập tên biến, giá trị của biến sẽ hiễn thị trong Command Window
Ví dụ:
>>variable_1
25
>>
Lưu ý rằng trong MATLAB nếu ta kết thúc câu lệnh bằng dấu “;” thì Command
Window sẽ không hiễn thị kết quả tính tóan ra màn hình.
Ví dụ:
>> variable_1;
>>

Để hiện thị các câu lệnh đã nhập trứơc vào Command Window ta có thể dùng phím
Arrow.
Một số tên biến được dành riêng cho MATLAB:





pi: số pi.
i, j: số ảo.
inf: vô cùng.

NaN: không phải là số.
Việc kiểm tra sự tồn tại của các biến trong bộ nhớ thông bộ qua lệnh.
who

Hiển thị danh sách các biến đã được định nghĩa.

whos

Hiển thị các biến đã được định nghĩa cùng kích thước của chúng và
thông báo chúng có phải là số phức không.


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK

who global

Hiển thị các biến cục bộ.

exist(namesrt)

Hiển thị các biến phụ thuộc vào cách các biến được định nghĩa trong
chuỗi namestr. Hàm sẽ trả lại giá trị sau:
Nếu namestr là tên của một biến.
Nếu namestr là tên của một file.m.
Nếu namestr là tên của một Mex file
Nếu namestr là tên của hàm dịch bởi Simulink.
Nếu namestr là tên của hàm được định nghĩa trước bởi Matlab.

2.3.1. Độ lớn của biến
Độ lớn hay chiều dài của biến vector cũng như ma trận có thể được xác định

thông qua một số hàm có sẵn của Matlab.
size (A)
[ m n] = size(A)
size(A ,p)
size (x)

lengh(x)
lengh(A)

Cho ra một vector chứa kích thước ma trận A. Phần tử đầu
tiên của vector là số hàng của ma trận, phần tử thứ hai là số
cột của matrận.
Trả giá trị độ lớn của ma trận A vào vector xác định bởi hai
biến m và n .
Đưa ra số hàng của ma trận A nếu p=1 và số cột của A nếu
p≥ 2
Đưa ra vector mô tả độ lớn của vector x. Nếu x là vector
hàng m phần tử thì giá trị đầu của vector là m và giá trị thứ
hai là 1. Trường hợp x là vector cột n thì giá trị thứ nhất sẽ là
1 và thứ hai là n.
Trả giá trị chiều dài của vector x
Trả giá trị chiều dài cuả ma trận A . Giá trị thu được sẽ là m
nếu m>n và ngược lại sẽ là n nếu n>m.

2.4. Toán tử
Các tóan tử cơ bản :










+ : cộng.
- : trừ.
* : nhân.
/ : chia.
\ :chia bên trái (dùng cho ma trận).
^ : lũy thừa.
‘: hóan vị.
( ) (dấu ngoặc): thứ tự ưu tiên tính tóan.

Hàm


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Chương trình MATLAB cung cấp một tập hợp rất lớn các hàm tóan học :


Hàm tóan sơ cấp (elemetary functions): như sin, cos, tan, atan, log, log10, exp,
sqrt, round, ceil, floor, sum,min, max, mean, abs.
• Hàm tóan chuyên dụng: như besselj (Bessel function of the first kind), bessely
(Bessel function of the second kind), beta (Beta function),erf (Error function),gamma
(Gamma function), primes (Generate list of prime numbers), cart2sph (Transform
Cartesian to spherical coordinates) v.v.
• Hàm chuyên dụng cho ma trận.
Lưu ý:



Để xem các danh sách các hàm mà MATLAB cung cấp ta dùng lệnh: help
elfun, help specfun, help elmat.
• Để biết cách sử dụng một hàm ta dùng lệnh help theo sau bởi tên của hàm.
Ví dụ:
>> help sine
Biểu thức
Biểu thức trong MATLAB bao gồm biến, dấu “=”, các tóan tử và hàm
Ví dụ:
>> variable_2=sine(5)+(4+variable_1)*exp(2);
2.5. Optimization toolbox
Bộ công cụ tối ưu hóa cho phép:





Tối thiểu phi tuyến không ràng buộc (Unconstrained nonlinear minimization)
Tối thiểu phi tuyến có ràng buộc (Constrained nonlinear minimization)
Quy họach tuyến tính và tòan phương (Quadratic and linear programming)
Nonlinear least squares and curve-fitting

Hàm bintprog(f, A, b, Aeq, beq, x0)
Dùng để giải bài tóan quy họach ngưyên (binary integer programming)
min

f Tx

st
A⋅ x ≤ b



TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Aeq ⋅ x ≤ beq

Ví dụ:
min -9x1 -5x2 -6x3 -4x4
st
6x1+3x2+5x3+3x2 ≤ 9
x3+ x4 ≤ 1
-x1

+x3
-x2

≤0
+x4 ≤ 0

x1,x2,x3,x4 là nhị phân
>> f=[-9 ; -5 ; -6 ; -4] ;
>>A=[6 3 5 2 ; 0 0 1 1 ; -1 0 1 0 ; 0 -1 0 1] ;
>>b=[9 ; 1 ;0 ; 0] ;
>>x=bintprog(f,A,b)
x=
1
1
0
0
Hàm linprog(f,A,b,Aeq,beq,lb,ub)
Dùng để giải bài tóan quy họach tuyến tính


min

f Tx

st
A⋅ x ≤ b


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Aeq ⋅ x ≤ beq
lb ≤ x ≤ ub

Ví dụ:
min -5x1 -4x2 -6x3
st
x1 – x2 + x3 ≤ 20
3x1 + 2x2 + 4x3 ≤ 42
3x1 + 2x2

≤ 30

0 ≤ x1, 0 ≤ x2, 0≤ x3
>>f=[-5 ; -4 ; -6]
>>A=[1 -1 1 ; 3 2 4 ; 3 2 0] ;
>>b=[20 ; 42 ; 30] ;
>>lb=zeros(3,1) ;
>>x=linprog(f,A,b,[],[],lb)
x=
0.0

15.0
3.0
Hàm x = fminbnd(fun,x1,x2)
Tìm cực tiểu của hàm fun(x) với x1 ≤ x ≤ x2
Ví dụ:
Tìm cực tiểu hàm 0.5x3-x2-x+exp(0.1x)
>> f1=inline('0.5*x^3-x^2-x+exp(0.1*x)','x')
f1 =
Inline function:


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
f1(x) = 0.5*x^3-x^2-x+exp(0.1*x)
>> [x,fval]=fminbnd(f1,0, 3)
x=
1.6827
fval =
-0.9487
Hàm fiminunc(fun,x0)
Tìm cực tiểu của hàm đa biến fun (x là vector)
Ví dụ:
>>f2=inline('2*x(1)^4+x(2)^4-2*x(1)^2-2*x(2)^2+4*sin(x(1)*x(2))','x')
f2 =
Inline function:
f2(x) = 2*x(1)^4+x(2)^4-2*x(1)^2-2*x(2)^2+4*sin(x(1)*x(2))
>> [x,fval]=fminunc(f2,[1 -1])
x=
0.9039 -1.1732
fval =
-4.6476

Hàm fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
min hàm phi tuyến
fun(x)
st
A ×x ≤ b
Aeq ⋅ x ≤ beq
lb ≤ x ≤ ub


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Ví dụ:
min f(x)= -x1*x2*x3
-x1-2*x2-2*x3 ≤0
x1+2*x2+2*x3 ≤72
>> f3=inline('-x(1)*x(2)*x(3)','x')
f3 =
Inline function:
f3(x) = -x(1)*x(2)*x(3)
>> A=[-1 -2 -2; 1 2 2];
>> b=[0; 72];
>> [x,fval]=fimcon(f3,[10;10;10],A,b)
x=
24.0000
12.0000
12.0000
fval =
-3.4560e+003
2.6. Statistics toolbox
Bộ cộng cụ với hơn 200 hàm hỗ trợ tính tóan trong:
• Probability Distributions: hỗ trợ 20 phân bố xác suất khác nhau, cung cấp các

hàm phân bố, mật độ, tích lũy, nghịch đảo, bộ tạo số ngẫu nhiên. Ngòai ra nó còn cho
phép xác định phân bố cho dữ liệu.
• Descriptive Statistics: cung cấp các hàm cho thống kê mô tả.
• Linear Models: hỗ trợ one-way, two-way, and n-way analysis of variance
(ANOVA), analysis of covariance (ANOCOVA), hồi quy (regression).
• Hypothesis Tests: hàm cho các kiểm định.
• Statistical Plots: hỗ trợ vẽ các đồ thị thống kê.
• Design of Experiments (DOE): hỗ trợ việc thiết kế thực nghiệm.

Probability Distributions


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK


normpdf(X,MU,SIGMA) tính giá trị của hàm mật độ tại X cho phân bố Normal
có tham số MU và SIGMA.
• R = normrnd(MU,SIGMA,m,n) tạo một ma trận R(m,n) chứa các giá trị ngẫu
nhiên có phân bố Normal với tham số MU và SIGMA.
• norminv(P,MU,SIGMA) tính giá trị nghịch đảo của xác suất p của hàm phân bố
Normal tích lũy với tham số MU và SIGMA.
• [muhat,sigmahat,muci,sigmaci] = normfit(DATA, alpha) ước lượng tham MU
và SIGMA với độ tin cậy100(1 - alpha) % cho dữ liệu DATA theo phân bố Normal.
2.7. Công cụ simulink trong matlap
Simulink là một phần mềm mở rộng của MATLAB (1 Toolbox của Matlab)
dùng để mô hình hoá, mô phỏng và phân tích một hệ thống động. Thông thường
dùng để thiết kế hệ thống điều khiển, thiết kế DSP, hệ thống thông tin và các ứng
dụng mô phỏng khác.
Thư viện của Simulink bao gồm các khối chuẩn trên, người sử dụng cũng có thể thay đổi
hay tạo ra các khối cho riêng mình. Simulink cũng giống như các phần mềm mô phỏng thiết

kế mạch điện tử như : MicroSim Eval, EWB, Circuit Maker….

Để mô hình hoá, Simulink cung cấp cho bạn một giao diện đồ họa để sử dụng và
xây dựng mô hình sử dụng thao tác "nhấn và kéo" chuột. Với giao diện đồ họa ta có
thể xây mô hình và khảo sát mô hình một cách trực quan hơn. Đây là sự khác xa các
phần mềm trước đó mà người sử dụng phải đưa vào các phương vi phân và các
phương trình sai phân bằng một ngôn ngữ lập trình.


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Giao diện công cụ simulink

Để vào simulink trong matlap thì ở cửa sổ lệnh của matlap ta đánh dòng lênh
>> simulink + enter
Khi khởi động simulink xong ta được của sổ màn hình như hình trên. Trong đó có
nhiều khối chức năng cụ thể như: khối nguồn( sourcces), khối đầu đo(Sinks), khối phi
tuyến( nonlinear), khối tuyến tính(linear), khối đầu nối (connections)….
Thư viện của simulink bao gồm các khối chuẩn trên, người sử dụng cũng có thể thay
đổi tạo ra các khối cho riêng mình. Simulink cũng giống như các phần mềm mô phỏng
thiết kế mạch điện tử. Trong sơ đồ này chọn các khối từ các thư viện:
+ Thư viện các nguồn tín hiệu (Sources): Chọn Sin wave.
+ Thư viện các khối nhận tín hiệu (Sinks): Chọn Scope.
+ Thư viện các hàm tuyến tính (Linear): Chọn Integrator.
+ Thư viện các đầu nối ( Connections): Chọn Mux.
Để chọn một thư viện trong Simulink ta nhấp kép (Double Click) vào khối (icon) đó.
Simulink sẽ hiển thị một cửa sổ chứa tất cả các khối của thư viện đó. Trong thư viện nguồn
tín hiệu chứa tất các khối đều là nguồn tín hiệu.
Người sử dụng thêm vào sơ đồ của mình bằng cách ghép khối đó từ thư viện hay từ mô
hình bất kì nào khác. Trong ví dụ này ta chọn khối phát sóng hình sin. Đặt con trỏ chuột lên
khối ấn và giữ phím trái chuột, kéo khối tới cửa sổ vẽ sơ đồ Untitled.

Khi di chuyển khối ta có thể thấy khối và tên của nó di chuyển cùng với con trỏ chuột.
Khi con trỏ chuột di chuyển tới nơi bạn cần đặt khối trong sơ đồ bằng cách nhả phím chuột,
một bản copy của khối đã ở trong màn hình mô phỏng. Khi ta không vừa ý chỗ đặt ta có thể di
chuyển khối bằng cách như trên.
Theo cách này chép những khối còn lại vào trong màn hình mô phỏng để tiếp tục xây
dựng sơ đồ.
Muốn copy tiếp một khối Sin nữa trong một một sơ đồ, ta làm bằng cách giữ phím Ctrl
+ phím trái chuột và di chuyển tới điểm cần đặt khối, lúc đó một khối đã được copy.
Với tất cả các khối đã chép vào cửa sổ màn hình mô phỏng sẽ được hiển thị


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Nếu xem kĩ từng khối, chúng ta thấy dấu > ở bên phải của khối là dâú đầu nối dành cho
ngõ ra của tín hiệu, còn dấu > ở bên trái là dấu đầu nối dành cho ngõ vào. Tín hiệu đi từ đầu
ra của một khối tới đầu vào của khối khác theo một đường nối giữ hai khối. Khi một khối đã
được nối thì biểu tượng > cũng mất đi.

Để vẽ được mô hình này phải làm các thao tác sau:
1. Từ cửa sổ lệnh Matlap đánh lệnh simulink
2. Nhấp chuột vào biểu tượng NEW trên thanh công cụ hoặc ẩn cltr+N

Hình 3.12: của sổ làm việc của công cụ simulink

3. Từ cửa sổ này chọn các khổi linh kiện mà yêu cầu bài toán cần đề ra, sau
đó ghép nối các khổi lại. muốn chỉnh định các khối thì ta nháy đúp chuột vào khối
đo và cài đặt các thông số mong muốn.
4. Đặt scope ở cuối đề hiển thị tín hiệu đầu ra và bắt đầu mô phỏng. Chọn
Start trong menu Simulation để chạy mô phỏng và kích đúp vào khối SCOPE để
xem tín hiệu. Muốn dừng mô phỏng thì chọn stop hay Pause
2.7.1. Các blocks library thường dùng và thuộc tính của một block

Sau đây là các BLOCK LIBRARY của Simulink. Giúp cho có cách nhìn khái quát thư
viện của Simulink. Như chúng ta đã biết phần tử để xây dựng nên một sơ đồ trong Simulink
đó chính là Block. Một Block được quy định bởi hai thuộc tính: Văn phong và cấu trúc.
Thuộc tính về văn phong được mô tả trong bản Style:


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK

Style
Drop Shadows
Orientation
Title
Font…
Foreground Color
Background Color
Screen Color

Bao gồm :
• Drop Shadows : Bật tắt bóng của Block.
• Orientation
: Định hướng chọn Block. Sự định hướng này có thể chọn phím nóng
• Ctrl +R
: Để xoay 900 hoặc Ctrl + F để xoay 1800
• Title
: Đặt tên cho Block.
Displayed
Hidden
Top/Left
Bottom/Right


Hiện tên Block
Ẩn tên Block
Tên của Block nằm trên đỉnh block hay
bên trái.
Tên của Block nằm ở dươí block hay
bên phải.

• Font :Định dạng Font cho Block
• Color : màu nền, khung màu chữ cho Block.
Thuộc tính về cấu trúc được mô tả trong hộp hội thoại của Block. Mở nó bằng cách
Double Click chuột vào biểu tượng Block.
Trong hộp hội thoại có những thành phần sau:
• Tên khối (block name)


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
• Mô tả ngắn gọn về đặt điểm của khối (Brief explanation)
• Những mảng thông số (parameters) nếu khối đó cần những thông số.
• Giải thích về đặc điểm của khối. (Help button)
Những mô tả về những cấu trúc thuộc tính của các blocks trong Simulink sẽ được mô tả
trong chương III.

2.7.1.1. KHỐI COMMONLY USED BLOCKS
-

Có các khối nối, bộ tỉ lệ khối viết gọn..

2.7.1.2. SOURCES:
-


Đây là nhóm bao gồm các khối phát và nhận tín hiệu .

CLOCK: Cung cấp vector theo thời gian.Mở trong suốt thời gian mô phỏng, hiển thị
thời gian liên tục mà cuộc mô phỏng đang xảy ra. Điểm quan trọng là Clock không phải là
khối phát thời gian, mà chỉ là khối hiển thị thời gian mô phỏng. Được phép nối với To
Workspace để chuyển vector thời gian vào trong Matlab.


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
CONSTANT: Phát ra giá trị là hằng số
SINE WAVE: Khối phát ra sóng có dạng sin.Giá trị biên độ, tần số ( rad/s, hezt),
pha, thời gian lấy mẫu (chỉ áp dụng cho hệ gián đoạn).
SIGNAL GENERATOR: Cung cấp cho 4 dạng sóng khác nhau (giống như máy phát
sóng): Sóng Sin Sóng vuông (square) Sóng răng cưa (sawtooth) Sóng ngẩu nhiên ( random).
REPEATING SEQUENCY: Lặp lại dạng sóng đã cho một cách tuần tự .Gồm vector
thời gian và quan hệ giá trị của hàm vector (cùng chiều).
PULSE GENERATOR :Phát ra một chuổi xung tuần tự với khoảng thời gian ổn
định.Những thông số : Chu kì xung, độ rộng xung (hệ số chu kì), biên độ xung, thời gian bắt
đầu phát xung.

2.7.1.3. SINKS

Scope: Hiển thị dạng tín hiệu trong suốt thời gian mô phỏng (giống như Oscilloscope)
To Workspace:Lưu trữ dữ liệu dưới dạng một ma trận.
To File:Lưu trữ dữ liệu dưới dạng file.
XY graph:Hai đồ thị của hai tín hiệu sẽ được vẽ trên cửa sổ đồ họa của Matlab .


TÌM HIỂU VỀ PHẦN MỀM MATLAP-SIMULINK
Stop Simulation:Ngừng cuộc mô phỏng ngay lậy tức khi ngõ vào bằng không.

Graph:Vẽ số liệu trên cửa sổ đồ họa.

2.7.1.4. DISCRETE:

Unit Delay: ngõ vào trễ bởi một chu kì lấy mẫu
Discrete Zero –Pole: hàm truyền rời rạc (theo thời gian) ở dạng Cực và Zero.Các zero,Các
cực, độ lợi, thời gian lấy mẫu
Discrete Tranfer Fcn:Thựchiện chức năng một hàm truyền rời rạc.
Discrete- Time Integrator:Thực hiện hàm tích phân gián đoạn.

2.7.1.5. Khối continuous
-

Có các bộ tích phân vi phân để sử dụng cho các chương trình tính toán mô phỏng

GVHD: LÊ QUỐC DŨNG

25


×