SlideShare a Scribd company logo
1 of 133
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
BỘ LAO ĐỘNG - THƯƠNG BINH & XÃ HỘI TRƯỜNG ĐẠI
HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG
ĐỒ ÁN MÔN HỌC
Hướng dẫn sử dụng MATLAB &
Simulink và ứng dụng điều
khiển các hệ thống tự động
Môn học: Đồồ án Điềồu khiể n 2
Họ và tên: MAI LÊ THÀNH NHÂN
MSSV: 18007023
Giáo viên hướng dẫn: LÊ MINH THÀNH
Vĩnh Long, tháng 12 năm 2021
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
- Ý thức thực hiện:
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
- Nội dung thực hiện:
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
- Hình thức trình bài:
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
- Tổng hợp kết quả:
 Tổ chức báo cáo trước hội đồng

 Tổ chức chấm thuyết minh
Vĩnh Long, Ngày … Tháng … Năm 2021
Người Hướng Dẫn
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
LÊ MINH THÀNH
0
lOMoAR cPSD|2935381
LỜI CÁM ƠN
Trong những lời đâu tiên báo cáo đồ án học phần này, em muốn gửi
nhũng lời cám ơn và biết ơn trân thành nhất của mình tới tất cả những
người đã hỗ trợ và giúp đỡ em cả về kiến thức và tinh thần trong quá trình
thực hiện đồ án.
Trước hết, em xin chân thành cám ơn thầy Lê Minh Thành, người đã
trực tiếp hướng dẫn, nhận xét, tận tình chỉ bảo, giúp đỡ em trong suốt quá
trình làm đồ án, để em có thể hoàn thiện đồ án một cách tốt nhất.
Xin chân thành cảm ơn tới tất cả các thầy cô đã nhiệt tình dạy bảo,
truyền đạt kiến thức cho chúng em trong suốt thời gian học tập dưới máy
trường Đại Học Sư Phạm Kỹ Thuật Vĩnh Long, đặc biệt với các thầy cô tại
Khoa Điện- Điện tử, các thầy cô đã luôn quan tâm , định hướng và tạo điều
khiện thuận lợi cho em học tập, nghiên cứu và thực hiện đồ án.
Em đã cố gắng để hoàn thiện Đồ án 2 một cách tốt nhất, nhưng do
sự hạn chế về thơi gian và kiến thức nên không thể tránh khỏi những thiếu
sót, rất mong sự đóng góp của thầy cô và các bạn.
Xin chân thành cám ơn!
Vĩnh Long, Ngày … Tháng … Năm 2021
Sinh Viên
(Người thực hiện đồ án)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
MAI LÊ THÀNH NHÂN
1
lOMoAR cPSD|2935381
MỤC LỤC
Trang
NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN
LỜI CÁM ƠN
MỤC LỤC
LỜI NÓI ĐẦU
PHẦN 1: SƠ LƯỢC VỀ MATLAB …………………………………………………………………………………
I. Phần mềm Matlab ………………………………………………………………………………………..
II. Phạm vi ứng dụng ……………………………………………………………………………………
III. Cài đặt phần mềm Matlab …………………………………………………………………………
PHẦN 2: GIỚI THIỆU VỀ MATLAB VÀ PHẠM VI ỨNG DỤNG…………………………………………
CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ MATLAB………………………………………………………………
I. Giới thiệu về Matlab.……………………………………………………………………………………
1.1 Khởi động và Giao Diện của Matlab……………………………………………………
1.2 Cách thức sử dụng phần mềm Matlab ……………………………………………………
1.3. Các thức viết biểu thức, sử dụng biến, các phím chức năng ……………………
II. Thao tác với các tệp trong Matlab ………………………………………………………………
2.1. Các loại tệp được dùng trong Matlab……………………………………………………
2.2. Các lệnh xử lý tệp .mat ………………………………………………………………
2.3. Đường dẫn ……………………………………………………………………………………
2.4. Các lệnh xử lý m. file…………………………………………………………………………
CHƯƠNG 2. XỬ LÝ DỮ LIỆU DẠNG MẢNG (MA TRẬN) TRONG MATLAB………………………………
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
I. Các phương pháp tạo mảng dữ liệu ………………………………………………………………
1.1 Phương pháp nhập trực tiếp từ bàn phím…………………………………………
1.2 Dùng toán tử " : "…………………………………………………………………………
1.3 Dùng hàm linspace và logspace:……………………………………………………
1.4. Sử dụng các mảng chuẩn………………………………………………………………
1.5. Mảng tạo từ tệp…………………………………………………………………………
2
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
II. Tham chiếu tới các phần tử của mảng, tạo các mảng con………………………………
2.1 Nguyên tắc tham chiếu tới các phần tử của mảng…………………………………………
2.2 Các ứng dụng của việc truy cập các phần tử của mảng………………………………
III. Các phép tính thực hiện trên mảng………………………………………………………………
3.1 Các phép toán thông thường………………………………………………………………
3.2. Sử dụng các toán tử với dấu "."……………………………………………………
3.3. Các hàm dùng trên mảng………………………………………………………………
CHƯƠNG 3. ĐỒ HỌA TRONG MATLAB…………………………………………………………………………
3.1. Những vấn đề chung…………………………………………………………………………
3.2. Đường cong biểu diễn mỗi quan hệ của các giá trị …………………………………………
3.2.1. Đồ thị 2 chiều…………………………………………………………………………
3.2.2. Đồ thị 3 chiều (dạng lưới và bề mặt)……………………………………………………
3.2. Tên của đồ thị……………………………………………………………………………………
3.3. Các trục toạ độ……………………………………………………………………………………
3.3.1. Điều khiển các trục toạ độ………………………………………………………………
3.3.2. Các chú thích trên trục toạ độ……………………………………………………
3.4. Các chú thích khác trên đồ thị………………………………………………………………
3.5. Các thuộc tính của văn bản đồ hoạ………………………………………………………………
3.5.1. Các thuộc tính của văn bản………………………………………………………………
3.5.2. Các ký tự đặc biệt…………………………………………………………………………
3.5.3. Một số ví dụ…………………………………………………………………………
3.5.4. Các tuỳ chọn của lệnh plot………………………………………………………………
3.6. Một số lệnh viết chữ khác…………………………………………………………………………
3.6.1 Lệnh gtext……………………………………………………………………………………
3.6.2: Lệnh ginput…………………………………………………………………………
3.7. In ấn đồ thị ……………………………………………………………………………………
CHƯƠNG 4. LẬP TRÌNH ỨNG DỤNG TRONG MATLAB……………………………………………………
I. Các loại dữ liệu dùng trong Matlab………………………………………………………………
1. Dữ liệu số……………………………………………………………………………………
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
3
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
2. Các phép tính trên số phức………………………………………………………………
2.1 Nhập dữ liệu…………………………………………………………………………
2.2 các phép tính thực hiện trên số phức…………………………………………
2.3 Các hàm xử lý số phức……………………………………………………
3. Dữ liệu dạng chuỗi………………………………………………………………
3.1. Phép gán và tham chiếu đến dữ liệu dạng chuỗi……………………
3.2. Tạo các mảng với phần tử là chuỗi…………………………………………
3.2.1 Tạo véc tơ cột các chuỗi:……………………………………………………
3.2.2 Tạo mảng hoặc véc tơ hàng các chuỗi…………………………………………
3.3. Các hàm dùng trên chuỗi……………………………………………………
3.3.1 Hàm chuyển đổi từ dữ liệu số sang chuỗi và ngược lại……………………
II. Nhập, xuất dữ liệu……………………………………………………………………………………
1. Các lệnh nhập dữ liệu…………………………………………………………………………
1.1. Nhập từ bàn phím: Lệnh input……………………………………………………
1.2. Nhập từ hộp thoại: Lệnh inputdlg…………………………………………
1.3. Nhập dữ liệu từ tệp: Lệnh fread……………………………………………………
1.4. Lệnh fopen: …………………………………………………………………………
1.5 Lệnh đóng tệp, fclose………………………………………………………………
1.6 Lệnh fscanf: …………………………………………………………………………
2. Các lệnh xuất dữ liệu…………………………………………………………………………
2.1. lệnh disp…………………………………………………………………………
2.2. Lệnh fprintf…………………………………………………………………………
2.3. Lệnh fwrite…………………………………………………………………………
III. Các lệnh phân nhánh…………………………………………………………………………
1. Lệnh if……………………………………………………………………………………
1.1 Cú pháp: Lệnh If………………………………………………………………
1.2 Các toán tử logic………………………………………………………………
1.3 Các hàm logíc………………………………………………………………
2. Lệnh switch…………………………………………………………………………
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
4
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
IV. Các vòng lặp……………………………………………………………………………………
1. Vòng lặp xác định: for………………………………………………………………
2. Vòng lặp không xác định: while……………………………………………………
V. Các chương trình con………………………………………………………………
1.Phương pháp xây dựng các hàm và chương trình con………………………………
2. Các đối số vào, ra…………………………………………………………………………
CHƯƠNG 5. MÔ PHỎNG CÁC HỆ THỐNG ĐỘNG LỰC BẰNG SIMULINK………………………………
I. Giới thiệu về mô phỏng số …………………………………………………………………………
1. Ý nghĩa và tầm quan trọng của mô phỏng số…………………………………………
2. Giới thiệu về các phần mềm mô phỏng …………………………………………
II. Trình tự thực hiện một quá trình mô phỏng.……………………………………………………
1. Xây dựng cấu trúc mô phỏng: Sơ đồ khối…………………………………………
2. Xác lập giá trị các thông số của mô hình…………………………………………
3. Xác lập các điều kiện đầu……………………………………………………………
4. Các kích động đưa vào hệ thống……………………………………………………
5. Lựa chọn cách thức xuất kết quả……………………………………………………
6. Điểu khiển việc thực thi quá trình mô phỏng.…………………………………………
III. Sử dụng SIMULINK trong mô phỏng các hệ động lực…………………………………………
1. Các thao tác cơ bản…………………………………………………………………………
2. Chức năng và thao tác trên các khối thông dụng………………………………
2.1. Nhóm các khối xử lý tín hiệu liên tục…………………………………………
2.2. Nhóm các khối thực hiện việc gọi hàm từ Matlab và hàm truyền…………
2.3. Nhóm các khối thực hiện thao tác toán học (Math)……………………
2.4. Nhóm các khối xử lý tín hiệu……………………………………………………
2.5. Nhóm các khối thực hiện chức năng xuất kết quả (Sinks)……………………
2.6. Nhóm các khối thực hiện chức năng nhập dữ liệu (Sources)…………
PHẦN 3: ỨNG DỤNG………………………………………………………………………………………………
ỨNG DỤNG SIMULINK ĐIỀU KHIỂN HỆ THỐNG LÒ NHIỆT…………………………………………
1.ỨNG DỤNG SIMULINK ĐIỀU KHIỂN HỆ THỐNG LÒ NHIỆT ………………………………
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
5
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
1.1. Mục đích …………………………………………………………………………
1.2. Giới thiệu Simulink ………………………………………………………
1.2.1. Các khối sử dụng trong bài thí nghiệm ……………………………………
1.2.2 Các bước để xây dựng ứng dụng mới……………………………………
2.Hàm truyền lò điện và mô hình của Ziegler-Nichols……………………………………
2.1 Hàm truyền lò điện …………………………………………………………………………
2.2 Mô hình của Ziegler-Nichols ………………………………………………………
2.3. Thí nghiệm …………………………………………………………………………
2.3.1. Chuẩn bị thí nghiệm ………………………………………………………
2.3.2. Khảo sát hệ hở lò nhiệt, nhận dạng hệ thống theo mô hình Ziegler – Nichols. …..
2.3.3. Khảo sát mô hình điều khiển nhiệt độ ON – OFF. ……………………………………
2.4 Khảo sát mô hình điều khiển nhiệt độ PID (phương pháp Ziegler – Nichols).
…………………
KIỂM SOÁT MỰC NƯỚC HỆ BỒN ĐƠN DÙNG BỘ ĐIỀU KHIỂN PID SỐ………………………………
1.Giới Thiệu……………………………………………………………………………………………
2.Nội dung………………………………………………………………………………………………
2.1 Mô hình toán của hệ bồn đơn ………………………………………………………………
2.2 Hệ thống điều khiển rời rạc………………………………………………………………
2.3. Mô phỏng ………………………………………………………………………………
2.4. Điều khiển hệ bồn đơn dùng bộ điều khiển PID………………………………………
2.5. Kết quả thực tế ………………………………………………………………………
3. Kết luận………………………………………………………………………………………………
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
6
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
PHẦN 1: SƠ LƯỢC
VỀ MATLAB
I. Phần mềm Matlab
MATLAB là phần mềm ứng dụng của
tập đoàn Mathworks (Mỹ). Đây là phần mềm
xử lý toán học rất mạnh, thông qua việc thực
hiện các phép toán trên ma trận (MAT - Matrix),
được các chuyên gia toán học và máy tính đã
lập trình các thuật giải thông qua các thư viện
công cụ xử lý toán học (LAB - Laboratory).
Phần mềm cũng cung cấp nhiều modulee khác
nhau, phục vụ cho các lĩnh vực, các chuyên
ngành cụ thể.
- Định hướng của phần mềm Matlab là dùng
cho những cán bộ nghiên cứu, thiết kế và lập
trình.
- Đối với ngôn ngữ lập trình thông thường để
giải bài toán cơ học người ta phải thực hiện
qua các bước sau:
+Xây dựng mô hình cơ học → Xây dựng mô
hình toán học → áp dụng phương pháp toán
+Xây dựng thuật toán → Lập trình
- Trong Matlab ta không cần quan tâm nhiều
đến việc sử dụng phương pháp toán
II. Phạm vi ứng dụng
Matlab đóng vai trò như một công cụ tính
toán mạnh cho phép nhanh chóng tính ra trị số
của biểu thức phức tạp và lưu giữ trị số của
biểu thức vào bộ nhớ của máy tính.
Malab cung cấp các công cụ xử lý các mảng
dữ liệu: véc tơ và ma trận, cho phép tính toán
ra kết quả của các biểu thức với dữ liệu đầu
vào là các véc tơ.
Matlab cung cấp các hàm để giải quyết các
vấn đề thường gặp trong kỹ thuật như:
+Xử lý các đa thức (nhân, chia, tìm điểm 0
(nghiệm) của đa thức).
+ Giải các phương trình tổng quát.
+ Giải hệ phương trình tuyến tính.
+ Giải hệ phương trình vi phân.
+ Xử lý các tín hiệu đo bằng phép khai triển
furier nhanh.
+ Các phép nội suy để xử lý dữ liệu trong
bảng.
+ Thuật giải bài toán tối ưu.
+ Phép tích phân vi phân.
+ Công cụ đồ hoạ .
Mat lab cung cấp công cụ lập trình để xây
dựng các chương trình ứng dụng.
Ngoài ra còn có các module ứng dụng riêng
phục vụ cho nghiên cứu sâu như:
+ Giải các phương trình vi phân đạo hàm
riêng phục vụ để giải quyết các bài
toán bền dùng phương pháp phần tử hữu hạn
+ Simulink cho phép mô phỏng các cơ cấu
máy
+ Stateflow: để nghiên cứu các dòng chảy
khí hay chất lỏng
+ Fuzzy logic: nghiên cứu lôgic mờ
+ …v.v
III. Cài đặt phần mềm Matlab
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
7
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
Sau khi tải về, bạn tiến hành giải nén
tệp tin với WinRAR phiên bản mới nhất.
Với MATLAB 2021, quy trình cài đặt
tương tự như MATLAB 2020, bạn tiến hành
thực hiện các bước sau đây.
Bước 1: Gán File iso
MATLABv9.10R2021a_Win64.iso vào ổ đĩa
ảo (nhấn chuột phải vào file > Mount (Gán))
Bước 2: Chạy setup.exe > Advanced
Options > I have a File Installation Key
Bước 3: Nhập Enter File Installation Key
09806-07443-53955-64350-21751-41297
Bước 4:Select License File: license.lic
hoặc license_standalone.lic trong thư mục
“MATLAB Licenses” đã tải về.
Chọn các thành phần bạn cần cài
đặt: Select products, bạn cần
- 32GB ổ cứng để cài toàn bộ các thành phần.
- 3GB nếu chỉ cài “MATLAB”
Bước 5: Chọn Add shortcut to desktop để
thêm lõi tắt MATLAB ra Desktop.
Bước 6: Chờ cho quá trình cài đặt hoàn tất.
Bước 7: Sau khi cài đặt thành công, bạn copy
file “libmwlmgrimpl.dll” trong “MATLAB
Licenses” tới thư mục cài đặt
MATLAB <matlabfolder>binwin64matlab_st
artup_pluginslmgrimpl thay thế file cũ để hoàn
tất kích hoạt.
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
8
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
PHẦN 2:
GIỚI THIỆU VỀ MATLAB
VÀ PHẠM VI ỨNG DỤNG
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
9
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ MATLAB
I. Giới thiệu về Matlab.
1.1 Khởi động và Giao Diện của Matlab
Để khởi động Matlab ta nháy đúp chuột
vào biểu tượng của Matlab, trên màn hình sẽ
hiện ra cửa sổ giao diện của Matlab
Menu Toolbar
( Menu (Thanh Công Cụ)
Bar
lệnh)
Cửa sổ
mục
chứ a thư
hiện
thời
Command
Cửa sổ l ệnh)
Window
Cửa sổ
lư u trữ
các
lệnh đã
thực
hiện
( Hình 1: Giao diện Matlap)
✻ Trên cửa sổ giao diện chính có một số menu,
toolbar, cũng như một số cửa sổ nhỏ hơn:
Menu bar: Chứa các cây thư mục chính,
tương tự như một số phần mềm khác chạy
trong môi trường Windows, ngoài ra có một số
lệnh thực hiện riêng của Matlab.
Toolbar (thanh công cụ): chứa các biểu tượng
(icon) thực hiện một số chức năng thông thường
(Open, New, Save, Cut, Paste...) và riêng biệt
(Simulink, Guide, Help...).
Cửa sổ lệnh (Command window): đây là cửa
sổ quan trọng nhất, có thể cho phép thực hiện
ngay các phép toán, hoặc liên kết với các cửa
sổ khác.
10
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Một số cửa sổ phụ thực hiện các chức năng riêng
(thông báo thư mục hiện thời, thông báo các dòng
lệnh đã thực hiện, tên biến đang có,...)
✻ Cửa sổ lệnh:
Cửa sổ lệnh là nơi cho phép nhập các lệnh thực
hiện từng phép toán, các chương trình con, cũng như
kết nối với các module ứng dụng trong Matlab.
Trên cửa sổ giao diện chính luôn có dấu nhắc ">>":
người sử dụng có thể nhập trực tiếp tên lệnh vào đó,
kết thúc gõ Enter ( ) để thực lệnh
Nếu 1 câu lệnh dài, để xuống dòng thì sử dụng 3
dấu chấm "..." trước khi gõ Enter.
Nếu trước 1 dòng lệnh có ký tự "%" thì dòng lệnh
đó chỉ là chú thích, Matlab không thực hiện lệnh trong
dòng soạn thảo đó.
Khi thực hiện xong 1 lệnh đúng (không có lỗi),
Matlab sẽ đưa ngay kết quả của lệnh đó nếu cuối câu
lệnh không có dấu ";". Kết quả sẽ được trả lời
sau dòng ans.
Lệnh clc cho phép xóa toàn bộ các lệnh đã
thực hiện trước đó, trả về 1 trang cửa sổ trắng.
Lệnh clear all cho phép xóa toàn bộ lưu trữ
các biến có trong bộ nhớ hiện thời của máy tính.
Gõ help <tên lệnh>, trên cửa sổ sẽ hiện cho
cách thức sử dụng lệnh đó.
1.2 Cách thức sử dụng phần mềm Matlab
a. Tính toán trực tiếp
Có hai cách thực hiện:
Gõ trực tiếp biểu thức hoặc các lệnh vào trong
cửa sổ lệnh, kết quả sẽ hiện ra màn hình sau
khi ấn Enter.
Đưa các câu lệnh, biểu thức vào trong tệp văn
bản script file (ghi dưới dạng mã ASCII) tệp này
cần có phần mở rộng là.m (nên còn được gọi là
m file). khi cần thực hiện việc tính toán ta chỉ
cần gọi tệp này vào Matlab.
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
b. Lập trình ứng dụng
Chương trình cần được ghi vào trong tệp
m.file khi cần chạy chương trình ta gọi vào môi
trường Matlab.
Để kiểm nghiệm từng dòng lệnh có thể đưa
thử trực tiếp trong cửa sổ của Matlab.
Để biên tập các tệp chương trình ta có thể
dùng một trình biên tập bất kỳ hoặc dùng trực
tiếp chương trình Matlab-Editor của Matlab với
các tiện ích hỗ trợ cho lập trinh.
1.3. Các thức viết biểu thức, sử dụng biến,
các phím chức năng
a. Tính toán biểu thức số:
Các biểu thức số có thể nhập trực tiếp vào cửa
sổ lệnh của Matlab, sau khi ấn Enter kết quả
của biểu thức sẽ hiện ra màn hình.
Các phép tính: Cộng +, Trừ -, Nhân *, Chia /,
Luỹ thừa ^ và dấu ngoặc ưu tiên phép tinh.
Các dòng lệnh dài có thể được phân ra nhiều
dòng (bằng các ấn Enter),tuy nhiên cuối mỗi
dòng (trừ dòng cuối cùng) ta phải thêm dấu...
b. Sử dụng các hàm, hằng và biến
Các hàm: abs, sqrt, sin, cos, tan, cot, exp,
log, log10, asin, acos, atan, acot
Các hằng số đã định nghĩa: realmax,
eps,realmin, pi, inf
Khi viết biểu thức, kết quả tính toán sẽ được
lưu trữ vào trong biến có tên mặc định là ans.
Thông thường để lưu kết quả tính ta thường
dùng phép gán với cú pháp sau:
<tên biến> = <biểu thức>
hoặc
<tên biến> = <biểu thức>:
Trong đó:
Tên biến do người dùng đặt, không có khoảng
trống và phân biệt chữ cái hoa, thường.
ở cú pháp 1: kết quả tính của biểu thức sẽ
hiện ra màn hình và lưu trữ dưới tên biến.
ở cú pháp 2: kết quả không hiện ra màn hình .
Để kiểm tra giá trị hiện thời của biến ta chỉ cần
gõ tên biến.
Trong biểu thức thay cho việc nhập giá trị cụ
thể ta có thể gõ tên biến.
Để kiểm tra các biến tồn tại trong môi trường
Matlab ta gõ who, hoặc whos, hay dùng menu
FileShow Work Space
Để xoá biến khỏi mô trường ta có thể dùng các
lệnh: clear, clear , <tên biến 1>,<tên biến 2>...
c. Các phím chức năng
Để biên tập các dòng lệnh ta dùng các phím
mũi tên hoặc dùng chức năng cắt dán
Phím xoá lùi, phím del, end, pageup,
pagedown..
Các phím tắt thông thường khác như ở các
phần mềm ứng dụng trong Windows: Ctrl + C;
Ctrl + V; Ctrl + N, Ctrl + O, Ctrl + X,...
d. Quy định việc hiển thị kết quả số ra màn
hình
Dùng lệnh format:
Các chế độ chính sau đây:
FORMAT Chế độ mặc định có ý nghĩa như
FORMAT SHORT
FORMAT SHORT Ghi chế độ thập phân với 5
chữ số sau dấu phẩy
FORMAT LONG Ghi chế độ thập phân với 15
chữ số sau dấu phẩy
FORMAT SHORT E Chế độ ghi số e với 5 chữ
số thập phân.
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
11
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
FORMAT LONG E Chế độ ghi số e với 15 chữ
số thập phân..
FORMAT + Sử dụng dấu +, - ghi trước số
II. Thao tác với các tệp trong Matlab
2.1. Các loại tệp được dùng trong Matlab
Trong Matlab, ta thường dùng một số loại tệp
chính:
a. Tệp *.m (m. file):
Tệp này có nhiều chức năng:
Có thể chứa các biểu thức của Matlab (script
file) để gọi vào môi trường của Matlab khi cần
thiết
Là chương trình ứng dụng dùng ngôn ngữ lập
trình của Matlab
Là một hàm mới của Matlab do người dùng
định nghĩa M. file được lưu trữ dưới mã ASCII
b. Tệp *.mat
(có phần mở rộng là mat) dùng để ghi lại các
biến có trong môi trường làm việc của
Matlab.Tệp này được ghi dưới mã nhị phân.
c. Một số dạng tệp khác:
các dạng tệp đặc biệt, riêng cho các module
ứng dụng trong Matlab (VD: *.fig: đồ thị trong
Matlab; *.mdl: file mô phỏng trong Simulink...)
2.2. Các lệnh xử lý tệp .mat
a.Lệnh Save hoặc File/Save Work Space As
Cú pháp:
Save('filename'): ghi các biến có trong môi
trường làm việc của Matlab vào tệp
Save('filename', 'biến 1', 'biến 2',...): ghi các ,
,... vào tệp
Nếu dùng menu lệnh: File/Save Work Space
as máy sẽ cho hiện ra bảng chọn Save as cho
phép ta đặt tên tệp, vị trí thư mục sẽ lưu trữ tệp
ghi các biến trong môi trường làm việc của
Matlab
b. Lệnh Load hoặc FileLoad Work Space
Lệnh Load('Filename') sẽ tải các biến lưu trữ
trong tệp <Filename> vào môi trường làm việc
của Matlab
FileLoad Work Space: Sẽ hiện ra hộp thoại
Open cho phép ta tìm kiếm và mở tệp để tải các
biến lưu trữ trong nó vào môi trường làm việc
của Matlab.
2.3. Đường dẫn
Thông thường để làm việc với các tệp (ghi hoặc
tải các tệp) ta cần chỉ rõ đường dẫn đến tệp cần
thao tác.
Trong môi trường làm việc của Matlab đã quy
định trước một số đường dẫn đến thư mục của
Matlab, nếu các tệp đưa ra không có đường
dẫn, máy sẽ tự tìm kiếm trong các thư mục này,
các thư mục này được gọi là "thư mục mặc
định".
Để thao tác với các thư mục mặc định của
Matlab ta dùng lệnh: path, addpath, rmpath
hoặc dùng menu lệnh FileSet Path
a. Lệnh path:
Cú pháp: path cho hiện ra danh sách các
đường dẫn đến thư mục mặc định của Matlab
b. Lệnh addpath
Cú pháp: addpath('đường dẫn 1', 'đường dẫn
2',...): Thêm các đường dẫn thường trực vào
môi trường của Matlab
c. Lệnh rmpath
Cú pháp rmpath('đường dẫn 1', 'đường dẫn
2'..): Loại bỏ các đường dẫn chỉ định khỏi môi
trường của Matlab
d. Sử dụng menu lệnh: FileSet Path
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
12
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
Lệnh FileSet Path Cho hiện ra hộp
thoại thể hiện danh sách các đường dẫn thường
trực đồng thời giúp người dùng thực hiện việc
thêm vào, bớt đi các đường dẫn thường trực
một cách trực quan.
*Để thêm vào đường dẫn thường trực ta
thực hiện các thao tác sau:
Nháy chuột vào Path/ Add to Path,
Nháy chuột vào nút... trong hộp thoại vừa mở
ra để tìm đến thư mục lựa chọn
Nháy vào OK
Vào Menu FileSave Path
Vào Menu FileExit Browser để thoát khỏi hộp
thoại
*Để loại bỏ một đường dẫn thường trực ta
thực hiện các bước sau:
Nháy chuột vào thư mục cần loại bỏ trong
danh sách các thư mục mặc định của Matlab
Nháy chuột vào PathRemove From path
Vào Menu FileExit Browser để thoát khỏi hộp
thoại Với các phiên bản Matlab đời cao (từ 6.5
trở lên) thì nếu khi chạy m file từ một thư mục
(đường dẫn mới) thì Matlab sẽ hỏi trực tiếp
người sử dụng có đưa đường dẫnnày vào hiện
thời hay không, do đó giảm bớt công việc đưa
đường dẫn vào cụ thể như trên trong mỗi lần sử
dụng (khi thoát khỏi Matlab, đường dẫn cũng tự
động được xóa khỏi bộ nhớ)
2.4. Các lệnh xử lý m. file
Để tạo ra, biên tập và sửa chữa các tệp
m. file ta có thể sử dụng bất kỳ một trình biên
tập nào có thể tạo ra tệp mã ASCII, tuy nhiên
Matlab cung cấp một trình soạn thảo hết sức
tiện lợi đó là chương trình Matlab Editor.
Để tạo file mới từ cửa sổ của Matlab ta gọi:
File/New/M.file, Hoặc nháy vào biểu tượng
New trên thanh công cụ
Để mở tệp đã có ra để hiệu chỉnh, ta nháy
chuột vào biểu tượng Open hoặc chọn
File/Open, Máy sẽ hiện ra hộp thoại Open cho
ta tìm đến tệp cần mở và gọi Matlab Editor ra để
đưa tệp cần mở vào biên tập
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
13
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
CHƯƠNG 2. XỬ LÝ DỮ LIỆU DẠNG
MẢNG (MA TRẬN) TRONG MATLAB
*Một số khái niệm cơ bản:
- Số: là ma trận có kích thước 1x1 (1 hàng, 1
cột)
- Véctơ: là ma trận có số hàng, hoặc số cột
bằng 1
+ Véctơ hàng: ma trận có số hàng bằng 1
+ Véctơ cột: ma trận có số cột bằng 1
- Ma trận số (mảng số): là ma trận có kích
thước mxn (m hàng, n cột) trong đó các phần
tử của ma trận đều là dữ liệu dạng số.
- Ma trận khối (mảng khối): là ma trận có các
phần tử dạng dữ liệu chuỗi ký tự.
I. Các phương pháp tạo mảng dữ liệu
1.1 Phương pháp nhập trực tiếp từ bàn phím
Các nguyên tắc chung
Các phần tử của mảng được bao trong dấu
ngoặc vuông: [ ]
Các phần tử trên một hàng được cách
nhau bằng dấu cách
Các hàng được phân cách bằng dấu ";" hoặc
dấu "Enter"
Ví dụ:
Nếu ta gõ: C=[3.5 4.3 5.0] , ta sẽ nhận được
véc tơ hàng có ba phần tử là 3.5, 4.3 và 5.0
và trên màn hình của Matlab sẽ hiện ra: C =
3.5000 4.3000 5.0000
Nếu ta nhập vào: V=[3.5; 4.3; 5.0], hoặc
V=[3.5000
4.3000
5.0000]
Ta sẽ nhận được véc tơ cột có ba phần tử là
3.5, 4.3 và 5.0 và trên màn hình của Matlab sẽ
hiện ra:
V =
3.5000
4.3000
5.0000
Câu lệnh:
M=[134;537;214]
Sẽ cho kết quả ma trận 3 hàng, 3 cột
M =
1 3 4
5 3 7
2 1 4
Chú ý: Các phần tử trong mỗi hàng khi
nhập vào phải như nhau
1.2 Dùng toán tử " : "
Cú pháp:
<Tên biến>=<Begin>: <Step>: <Limit>
Sẽ tạo ra véc tơ hàng có phần tử đầu tiên là
giá trị <Begin>, gia số giữa các phần tử là
<Step>, giá trị phần tử cuối cùng không
vượt quá <Limit>
Chú ý: Nếu bỏ qua trị số của <Step>, máy sẽ
nhận gia số =1
Ví dụ:
Nếu nhập vào sau dấu nhắc dòng lệnh
Y=1:2:10
Ta nhận được véc tơ hàng:
Y =
13579
Nếu nhập vào sau dấu nhắc dòng lệnh: Y=1:9
Ta nhận được véc tơ:
Y =
123456789
1.3 Dùng hàm linspace và logspace:
Cú pháp:
<tên biến>=linspace(<MinVal>,
<MaxVal>, <Num>)
Hàm sẽ tạo ra véc tơ hàng có số phần
tử bằng <Num>, gia số giữa các phần tử như
nhau và bằng (MaxVal-MinVal)/(Num-1), phần
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
14
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
tử đầu tiên có giá trị bằng MinVal, phần tử
cuối cùng có giá trị bằng MaxVal
Ví dụ:
Dùng hàm: linspace(1,11,6)
Ta nhận được véc tơ
ans =
1357911
Ứng dụng: Hàm linspace rất tiện dụng trong
việc xác định véc tơ các giá trị trên trục hoành
khi vẽ đồ thị
Hàm logspace
Có cú pháp tương tự như hàm linspace, tuy
nhiên các phần tử biến thiên theo quy luật
hàm số mũ với gia số của các số mũ tăng đều
và bằng:
(MaxVal-MinVal)/(Num-1).
Ví dụ: logspace(1,6,6)
Sẽ cho kết quả:
ans =
10 100 1000 10000 100000 1000000
1.4 Sử dụng các mảng chuẩn
1.4.1 Ma trận có các phần tử bằng
0 Ứng dụng:
Ma trận có các phần tử bằng 0 thường dùng
trong các trường hợp sau:
Dùng làm ma trận mồi trong phép tính tổng
nhiều ma trận (dùng vòng lặp)
Dùng để tạo ma trận có nhiều phần tử bằng 0
rất thường gặp trong kỹ thuật
Sử dụng hàm zeros:
Cú pháp: <Tên biến>=zeros(<RowNum>,
<ColumnNum>)
Tạo ra ma trận với các phần tử 0, có số hàng
là <RowNum>, số cột là <ColumnNum>.
Ví dụ: Hàm M=zeros(2,3)
Sẽ cho kết quả
M =
0 0 0
0 0 0
1.4.2. Ma trận có các phần tử bằng
1 Ứng dụng:
Ma trận có các phần tử bằng 1 thường dùng
trong các trường hợp sau:
Dùng làm ma trận mồi trong phép tính tích
các phần tử tương ứng của nhiều ma trận
(dùng vòng lặp)
Dùng để tạo ma trận có các phần tử bằng
nhau (dùng khi thực hiện phép tính cộng hoặc
trừ từng phần tử của ma trận với cùng một số).
Sử dụng hàm ones:
Cú pháp: <Tên biến>=ones (<RowNum>,
<ColumnNum>)
Tạo ra ma trận với các phần tử 1, có số hàng
là <RowNum>, số cột là <ColumnNum>.
Ví dụ: M=ones(3,4)
Sẽ cho kết quả
M =
1111
1111
1111
M=3.5*ones(3,2)
Sẽ cho kết quả
M = 3.5 3.5
3.5 3.5
3.5 3.5
1.4.3. Ma trận đơn vị
Để tạo ma trận đơn vị, ta dùng hàm eye;
Cú pháp:
<Tên biến>=eye(<RowNum>,
<ColumnNum>);
hoặc
<Tên biến>=eye(<Size>)
Cú pháp thứ nhất sẽ tạo ra ma trận đơn vị chữ
nhật, có số hàng bằng<RowNum> và số cột
bằng <ColumnNum>.
Cú pháp thứ hai sẽ tạo ra ma trận đơn vị có số
hàng bằng số cột bằng <Size> Ví dụ:
I=eye(3,4)
Sẽ tạo ra ma trận
I = 1000
0100
0010
I=eye(4)
Sẽ tạo ra ma trận
I = 1000
0100
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
15
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
0010
0001
1.4.4. Tạo các mảng đường chéo ứng dụng
Mảng đường chéo thường gặp ở các ma trận
độ cứng và ma trận khối lượng trong tính toán
bền
Dùng hàm diag
Cú pháp:
<tên biến>=diag(v)
<tên biến>=diag(v,n)
ở đây:
V là một véc tơ hàng, hoặc cột. hoặc có thể là
ma trận
n là số nguyên chỉ đường chéo nào của ma
trận sẽ đặt các phần tử của véc tơ V
Nếu V là một véc tơ, hàm sẽ cho kết quả là
ma trận vuông có các phần tử trên đường chéo
chỉ định là các phần tử của véc tơ V
Nếu V là một ma trận, sẽ trả kết quả là véc tơ
cột của các phần tử nằm trên đường chéo của
ma trận V
Nếu không chỉ ra n, các phần tử của V sẽ nằm
trên đường chéo chính
Ví dụ:
V=[1 3 5 3]; M=diag(V)
Sẽ cho kết quả
M =
1000
0300
0050
0003
M=diag(V,1)
Sẽ cho kết quả
M =
01000
00300
00050
00003
00000
M=diag(V,-1)
Cho kết quả
M =
00000
10000
03000
00500
00030
V=[3 4 6;5 6 7;8 9 6]; M=diag(V)
Cho kết quả:
M = 3
6
6
1.4.5. Mảng các số ngẫu nhiên
ứng dụng:
Mảng các số ngẫu nhiên dùng nhiều
trong đồ hoạ hoặc tạo các nhiễu trong mô
phỏng và sử lý số liêụ thực nghiệm
Sử dụng lệnh rand:
<tên biến>= rand(số hàng, số cột)
Tạo ra mảng các số ngẫu nhiên với số
hàng, cột chỉ định
1.5 Mảng tạo từ tệp
Nếu ta ghi các mảng trong một tệp
dạng m.file (theo đúng quy cách tạo mảng
trong Matlab như trình bày ở trên), ta hoàn
toàn có thể gọi mảng vào môi trường làm việc
của Matlab bằng cách nhập tên của m.file sau
dấu nhắc của Matlab và ấn Enter.
Điều này rất thuận tiện khi ta dữ liệu
dạng mảng được xuất ra từ một chương trình
tính toán khác.
II. Tham chiếu tới các phần tử của mảng, tạo
các mảng con
2.1 Nguyên tắc tham chiếu tới các phần tử
của mảng
Để tham chiếu đến một phần tử của mảng, ta
cần chỉ ra chỉ số hàng và cột của phần tử (đặt
trong dấu ngoặc đơn)
Để tham chiếu đến một nhóm các phần tử của
mảng, thay cho việc chỉ ra chính xác chỉ số của
phần tử như trên ta phải chỉ ra được mảng các
chỉ số của các phần tử cần tham chiếu tới
Dấu: để chỉ toàn bộ các chỉ số của hàng và cột
Từ khoá end là chỉ số cuối cùng của hàng
hoặc cột của mảng
Ví dụ: để tham chiếu đến phần tử nằm ở hàng
số 2 và cột số 3 của ma trận M ta viết M(2,3)
M1= M([1 2],[3 2])
sẽ cho ta một ma trận
mới: M1 = M1,3 M2,3
M1,2 M2,2
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
16
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
Ví dụ:
M1=M(:,1)
sẽ cho ra véc tơ bao gồm các phần tử trên cột
thứ nhất của ma trận M
M1=M(2,:)
sẽ cho ra véc tơ bao gồm các phần tử trên hàng
thứ hai của ma trận M
Ví dụ:
M1=M([2 4],[3:end])
Sẽ tạo ra ma trận M1 từ hàng 2 và 4 của ma
trận M, mỗi hàng lấy ra từ phần tử thứ 3 đến
phần tử cuối cùng
2.2 Các ứng dụng của việc truy cập các
phần tử của mảng
2.2.1. Lấy các phần tử của mảng ra để tính
toán
Ví dụ:
S=V(2)^2+V(5)^2
Sẽ tính tổng bình phương các giá trị của phần
tử thứ 2 và thứ 5 của véc tơ V
S=M(1,2)-M(2,3)
Sẽ tìm ra hiệu của hai phần tử ở hàng 1 cột 2
và hàng 2 cột 3 của ma trận M
2.2.2. Thay đổi giá trị của từng phần tử của
mảng
Ví dụ:
Để tạo ra ma trận M =[
1 0 0
],
00 3
0
0
0
ta thực hiện theo các bước sau:
- Tạo ma trận với các phần tử 0: M=zeros(3,3);
- Sau đó gán lại các phần tử khác 0 của ma
trận: M(1,1)=1;M(3,2)=3;
2.2.3. Tạo các mảng con từ mảng cơ sở
Ví dụ:
Để lấy ra hàng đầu tiên của ma trận M ta dùng
lệnh:
V=M(1,:)
Để tạo ra véc tơ mới bằng cách bỏ đi phần tử
đầu tiên của véc tơ V, ta dùng lệnh:
V1=V(2:end);
2.2.4. Loại bỏ bớt các phần tử của mảng:
Để loại bỏ các phần tử khỏi mảng ta chỉ cần
gán giá trị của các phần tử cần loại trị số rỗng:
"[ ]"
Ví dụ: nếu ta có ma trận M=
2 3 4
5 3 7
3 2 8
Sau khi dùng phép gán: M(:,1)=[ ]
Ta nhận được:
M =
3 4
3 7
2 8
2.2.5. Hợp mảng mới từ các mảng thành
phần (nối mảng)
Để tạo mảng từ các mảng thành phần ta dùng
dấu "[ ]" bên trong cần chỉ rõ các phần tử đưa
vào mảng, nếu các phần tử nằm trên 1 hàng,
chúng cách nhau bằn dấu cách (bước trống),
để xuống dòng ta dùng dấu ;
Ví dụ:
Nếu ta có 2 véc tơ:
V1=[3 5 7 9], V2=[4 6 8 2 7 3]
Khi dùng lệnh:
V=[V1(2:end) V2([1 3 4])]
Ta sẽ nhận được:
V =
579482
III. Các phép tính thực hiện trên mảng
3.1 Các phép toán thông thường
3.1.1: Phép cộng
Cú pháp: M=M1 + M2 + M3+...
Ý nghĩa: tạo ra mảng mới M có cùng kích
thước với mảng M1, M2..., các phần tử của
mảng mới sẽ bằng tổng từng phần tử tương
ứng của các mảng thành phần
Điều kiện:
Các mảng M1, M2,... phải có cùng kích thước.
3.1.2: Phép
trừ Cú pháp:
M=M1 - M2 - M3-...
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
17
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
ý
+ Cộng (không có toán tử.+)
- Trừ (không có toán tử.-)
.* Nhân từng phần tử
./ Chia từng phần tử
.^ Luỹ thừa từng phần tử
' Phép chuyển vị
nghĩa: Tạo ra mảng M với các phần
tử M(i,j)=M1(i,j)-M2(i,j)-M3(i,j)-..
Điều kiện:
Các mảng M1, M2,... phải có cùng kích thước.
3.1.3. Phép nhân
Cú pháp:
M=A*B
ý nghĩa: Nếu A là ma trận có kích thước (i x k)
và B là ma trận có kích thước (k x j), ta sẽ nhận
được ma trận M có kích thước là (i x j) với:
Điều kiện:
Số cột của ma trận A phải bằng số hàng của
ma trận B.
3.1.4 Phép luỹ thừa
Cú pháp:
M=A^n,
trong đó n là số nguyên dương
Có kết quả như là phép nhân n ma trận A với
nhau:
Điều kiện: Các ma trận A phải là ma trận
vuông 3.1.5 Phép chia hai ma trận Cú pháp:
M=A/B
ý nghĩa: Phép chia ma trận hoàn toàn giống
như phép nhân với ma trận nghịch đảo:
M=A/B M=A*B-1
Điều kiện:
Các ma trận A, B phải là các ma trận vuông
cùng kích thước
3.2. Sử dụng các toán tử với dấu "."
3.2.1. Ý nghĩa:
Các toán tử có dấu "." (xem bảng dưới ) sẽ cho
phép thao thác trên từng phần tử của mảng
3.2.2 Các ví dụ:
VD1: Xác định véc tơ S, với các phần tử được
lOMoAR cPSD|2935381
xác định bằng quan hệ: S(i)=Y(i+1)-2*Y(i); i=1
đến n-1, với Y =[3.5 6.2 7.0 5.4 6.2]
ở đây ta sử dụng biểu thức véc tơ:
S=Y(2:end)-2*Y(1:end-1)
VD2: tính giá trị của véc tơ V mà các phần tử của
nó được xác định bằng biểu thức: V(i)=2*Y(i)-b,
với Y =[3.5 6.2 7.0 5.4 6.2], b=1.5
ở đây ta sử dụng biểu thức véc tơ:
S=2*Y-b*ones(1,5)
VD3: giải hệ phương trình:
{4 X 1+7 X3=5
3 X1+5 X2−4 X3= 12
2 X 1+5 X 2+ X3=4
Ta tạo ra các ma trận: M=[4 0 7; 3 5 -4;2 5
1]; Y=[5;12;4]
nghiệm của hệ được xác định bằng biểu thức:
X=eye(3,3)/M*Y
X =
3.0000
-0.2000
1.0000
3.3. Các hàm dùng trên mảng
3.3.1 Các hàm dùng chung:
Tất cả các hàm tính toán trên dữ liệu số
đều có thể thực hiện trên dữ liệu mảng, và quả
là mảng có cùng kích cỡ Ví dụ:
Để vẽ đồ thị của hàm số:
Y =
sin2
( X ) +2 cos( 2 X )
; X=0
1+cos2
( X )
đến Pi
Ta sử dụng các lệnh sau:
X=linspace(0,pi,20);
Y=(sin(X).^2+2*cos(2*X))./
(ones(1,20)+cos(X).^2);
plot(X,Y)
3.2 Các hàm dùng cho việc xử lý dữ
liệu a. Hàm size
cú pháp:
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
18
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
S=size(A): đưa ra véc tơ hàng chỉ số lượng
hàng và cột của ma trận
[r,c]=size(A) gán số hàng cho r, số cột cho c
4 0 7
Ví dụ: Nếu ta có ma trận M = 3 5 − 4
2 5 1
Nếu gọi lệnh: S=size(M), ta nhận được:
S = 3 3
b. Hàm length
cú pháp:
S=length(V): đưa ra kết quả là 1 giá trị số
bằng tổng số phần tử có trong vectơ V
c. Hàm min, max
Cú pháp: min(A) max(A)
Nếu A là một véc tơ, hàm sẽ trả kết quả là giá
trị min (max) của các phần tử trong véctơ
Nếu A là một ma trận, hàm sẽ trả kết quả là
một véc tơ hàng với các phần tử là min (max)
của các phần tử trong mỗi cột trong ma trận A
d. Hàm sum
Cú pháp: sum(A)
Nếu A là một véc tơ, hàm sẽ trả kết quả là
tổng các phần tử của véc tơ
Nếu A là một ma trận, hàm sẽ trả kết quả là
một véc tơ hàng với các phần tử là tổng các
phần tử của mỗi cột trong ma trận A
e. Hàm cumsum
Cú pháp:
B = cumsum(A)
B = cumsum(A,dim)
Mô tả:
Nếu A là một véc tơ, B = cumsum(A) sẽ đưa
ra kết quả là véc tơ B có các phần tử là tổng
tích luỹ của các phần tử của véc tơ A: được
xác định bằng công thức:
Nếu A là một ma trận, cumsum(A) Sẽ đưa ra
kết quả là ma trận có cùng kích cỡ với A và các
phần tử của nó tương ứng là tổng tích luỹ của
các phần tử trên từng cột của ma trận A.
B = cumsum(A,dim) Sẽ đưa ra kết quả là ma
trận B có cùng kích thước với A, các phần tử
của véc tơ B sẽ là tổng tích luỹ của các phần tử
dọc theo hàng hoặc cột của ma trận A, tuỳ
thuộc vào trị số của <dim>. Ví dụ cumsum(A,1)
sẽ tính dọc theo các cột, cumsum(A,2) sẽ tính
dọc theo các hàng.
Thí dụ
cumsum(1:5) = [1 3 6 10 15]
A=[123;456];
cumsum(A)
1 2 3
5 7 9
cumsum(A,2)
1 3 6
4915
f. Hàm diff
Tính toán độ lệch giữa các phần tử trong mảng
Cú pháp
Y = diff(X)
Y = diff(X,n)
Mô tả:
Y = diff(X) tính ra độ lệch giữa các phần tử kề
nhau của véc tơ X.
*Nếu X là véc tơ kết quả đưa ra là véc tơ ít hơn
X 1 phần tử:
[X(2)-X(1) X(3)-X(2)... X(n)-X(n-1)]
*Nếu X là ma trận, hàm diff(X) đưa ra kết quả
là ma trận cột các độ lệch:
[X(2:m,:)-X(1:m-1,:)]
Y = diff(X,n) Đưa ra véc tơ độ sai lệch
bậc n:
như vậy diff(X,2) cho ra cùng kết quả với
diff(diff(X)).
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
19
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoAR cPSD|2935381
CHƯƠNG 3. ĐỒ HỌA TRONG MATLAB
3.1. Những vấn đề chung
Một đồ thị hoàn chỉnh bao gồm những thành
phần sau:
- Đường cong biểu diễn mối quan hệ các giá trị
- Tên của đồ thị
- Các trục toạ độ
- Các chú thích khác trên đồ thị
Sau đây chúng ta xem xét từng thành phần
trong môi trường làm việc của Matlab.
3.2. Đường cong biểu diễn mỗi quan hệ của
các giá trị
Thông thường chúng ta đã biết các loại đồ thị 2
chiều và 3chiều. Trong bài này chúng ta chỉ
nghiên cứu đến loại đồ thị phẳng (2chiều) còn
chỉ giới thiệu về đồ thị 3 chiều.
3.2.1. Đồ thị 2 chiều
a) Lệnh plot:
Cú pháp 1:
plot(Y)
plot(X,Y)
Giải thích:
- Nếu Y là một véc tơ, hàm plot(y) sẽ in ra đồ thị
Y phụ thuộc vào chỉ số của nó trong véc tơ.
- Nếu X, Y là hai véc tơ cùng độ lớn hàm
plot(X,Y) sẽ in ra đồ thị hàm Y(X)
- Nếu đối số trong hàm bao gồm nhiều bộ X, Y,
Hàm sẽ đưa ra được nhiều đồ thị trên màn
hình và Matlab sẽ tự động hiển thị các đồ thị
với các màu khác nhau.
Ví dụ: để vẽ đồ thị hàm Sin với trị số hoành độ
từ 0 đến 2 Pi ta dùng các dòng lệnh sau:
X=0:Pi/100:2*Pi;
Y=Sin(X);
plot(X,Y)
Cú pháp 2: plot(X1,Y1,X2,Y2,X3,Y3)
Giải thích: Cú pháp 2 cho phép vẽ các đường
cong Y1(X1), Y2(X2), Y3(X3)... trên cùng 1 hệ
trục tọa độ. Yêu cầu: các cặp véc tơ (X1,Y1),
(X2,Y2), (X3,Y3)... phải có cùng kích thước.
Ví dụ: Vẽ nhiều đường cong trên cùng một
hệ trục
Nếu ta có: y1= sin(x); y2=sin(x-0.25); y3=sin(x-
0.5)
Để có thể so sánh đồ thị pha y1(x), y2(x), y3(x)
trên cùng một hệ trục ta cũng dùng lệnh plot
Hàm: plot(x, y,x,y2,x,y3) sẽ đưa ra bộ đồ thị
như hình vẽ
Để làm nổi bật hay để phân biệt các đường
cong cho tiện theo dõi hay trình bày, ta cũng có
thể chỉ định kiểu đường nét, màu sắc và kiểu
đánh dấu các điểm nút
Cú pháp 3: plot(x,y,'color_style_marker')
- Giải thích: trong lệnh trên, color_style_marker
là một bộ qui định màu sắc, kiểu đường và kiểu
đánh dấu các điểm nút. Chúng được phân cách
trong dấu nháy đơn.
- Một số chữ cái qui định kiểu màu: 'c', 'm', 'y',
'r', 'g', 'b', 'w' và 'k'. Chúng tương ứng với các
màu xanh da trời, tím đỏ, vàng, đỏ, xanh lá
cây, xanh nước biển, trắng và đen.
- Các ký tự chỉ kiểu đường bao gồm '-' đối với
nét liền, '- -' đối với đường gạnh, ':' đường
chấm, '-.' đường chấm gạch, và 'none' khi
không vẽ đường.
- Các ký tự để đánh dấu điểm bao gồm: '+', 'o',
'*', và 'x'.
Ví dụ: câu lệnh plot(x,y,'y:+') vẽ ra đồ thị là
đường chấm chấm màu vàng có dấu + đanh
dấu các điểm nút.
Một số chú ý:
- Lệnh plot sẽ tự động mở ra một cửa sổ đồ
hoạ mới. Nếu cửa sổ này đã tồn tại lệnh plot
mặc định sẽ sử dụng cửa sổ này. Để mở một
cửa sổ mới và đưa nó thành hiện thời ta dùng
lệnh figure.
- Để đưa một cửa sổ đã mở thành hiện thời ta
dùng câu lệnh figure(n), trong đó n là số trên
thanh tiêu đề của cửa sổ.
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
20
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
- Vẽ thêm đường cong mới vào một đồ thị đã
có: Lệnh hold cho phép bạn thêm đường cong
vào đồ thị đã có. Nếu bạn đặt chế độ hold on
Matlab sẽ không xoá đồ thị đã có và vẽ thêm
đường cong mới khi gọi lệnh vẽ.
Ví dụ: Để vẽ 3 đường cong y1, y2, y3 như ví
dụ ở trên ta cũng có thể viết bằng 3 lệnh plot
riêng biệt, chỉ cần thêm lệnh hold on:
hold on
plot(x,y1)
plot(x,y2)
plot(x,y3)
b) Lệnh subplot:
Hàm subplot sẽ chia cửa sổ đồ hoạ ra
nhiều phần để hiển thị nhiều đồ thị trên cùng
một cửa sổ
Cú pháp: subplot(m,n,p)
Trong đó m,n,p là các số nguyên, sẽ
chia cửa sổ đồ hoạ ra m hàng và n cột và đưa
phần cửa sổ thứ p thành hiện thời. Chỉ số các
cửa sổ con được xác định từ phải qua trái và
từ trên xuống dưới.
Ví dụ: Để vẽ 3 đường cong y1, y2, y3 ở ví dụ
trên nhưng trên 3 đồ thị trong cùng một cửa sổ
đồ hoạ, ta thực hiện
lệnh subplot
subplot(1,3,1)
plot(x,y1)
subplot(1,3,2)
plot(x,y2)
subplot(1,3,3)
plot(x,y3)
3.2.2. Đồ thị 3 chiều (dạng lưới và bề
mặt) a) Các hàm tạo bề mặt
Matlab định nghĩa một bề mặt lưới bởi
các toạ độ Z trên lưới của mặt xy. Dùng các
đường thẳng để nối các điểm kề nhau. Hàm
mesh và surf hiển thị các bề mặt ở dạng 3
chiều. Mesh cung cấp các bề mặt dạng khung
dây trong đó chỉ thể hiện màu ở các đường
nối. Surf hiển thị màu cả đường nối và bề mặt.
b) Trực quan hoá các hàm hai biến
Để hiển thị hàm 2 biến z=f(x,y), hãy tạo
các ma trận x và y chứa đựng các hàng và cột
lặp.
Sau đó sử dụng các ma trận này để tính ra đồ
thị của hàm
* Hàm meshgrid chuyển phạm vi được
định nghĩa bằng một véc tơ hoặc hai véc tơ x, y
thành các ma trận X, Y dùng để tính ra giá trị
của hàm. Các hàng của X là các bản sao của
véc tơ x, các cột của Y là copy của véc tơ y.
Cú pháp:
[X,Y] = meshgrid(x,y)
[X,Y] = meshgrid(x)
[X,Y,Z] =
meshgrid(x,y,z) Thí dụ:
Hàm
[X,Y] = meshgrid(1:3,10:14)
Tạo hai mảng x và y sau X
=
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
Y =
10 10 10
11 11 11
12 12 12
13 13 13
14 14 14
* Hàm Mesh
Cú pháp
mesh(X,Y,Z)
Ví dụ:
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)
Trong đó R là khoảng cách từ tâm, eps dùng để
tránh việc chia cho 0 ở điểm 0,0
3.2. Tên của đồ thị
Một đồ thị hoàn chỉnh bao giờ cũng phải
có tên của đồ thị. Ta dùng hàm title Cú pháp:
title('String')
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
21
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
title(…,'PropertyName',PropertyValue,…)
Giải thích:
- 'string': Là tên của đồ thị mà chúng ta cần
(Nhập từ bàn phím)
- 'PropertyName': Tên của thuộc tính
- PropertyValue: Giá trị của thuộc tính Tên và
giá trị của thuộc tính sẽ được giới thiệu ở phần
sau.(3.5)
3.3. Các trục toạ độ
3.3.1. Điều khiển các trục toạ độ
Sử dụng hàm axis:
Cú pháp;
axis square: Tạo cho toàn bộ trục x và y có
cùng chiều dài
axis equal: tạo ra các khoảng chia trên trục x và
y có chiều dài như nhau
axis auto: trả lại chế độ mặc định
axis on: Viết ra tên của trục và đánh dấu các
điểm chia trên trục
axis off: Huỷ bỏ việc viết ra tên của trục và
đánh dấu các điểm chia trên trục Bật/tắt các
đường lưới trên đồ thị
Cú pháp:
grid on: Vẽ ra các đường lưới
grid off: Không vẽ các đường lưới
grid: Chuyển chế độ bật hoặc tắt
3.3.2. Các chú thích trên trục toạ độ
Các hàm để viết chú thích trên trục toạ
độ xlabel, ylabel, zlabel
Cú pháp:
xlabel('string')
xlabel(...,'PropertyName',PropertyValue,...)
Giải thích: Mỗi trục của đồ thị đều có thể có
nhãn riêng được tạo bằng các lệnh xlabel,
ylabel, zlabel.
- xlabel('string'): Tên của trục x là chuỗi ký tự
trong 'string'
- 'PropertyName': Tên của thuộc tính
- PropertyValue: Giá trị của thuộc tính Tên và
giá trị của thuộc tính sẽ được giới thiệu ở phần
sau.(3.5)
Tương tự như vậy với các hàm ylabel
và zlabel.
3.4. Các chú thích khác trên đồ thị
Hàm để viết chú thích tại điểm bất kỳ text
Cú pháp: text(x,y,'string')
text(x,y,z,'string')
text(...,'PropertyName',PropertyValu
e,...)
Giải thích: Trong lệnh text ở trên: x,y, z là tọa
độ vị trí ghi dòng chú thích
- string: Tên của dòng chú thích là chuỗi ký tự
trong 'string'
- 'PropertyName': Tên của thuộc tính
- PropertyValue: Giá trị của thuộc tính
Tên và giá trị của thuộc tính sẽ được giới thiệu
ở phần sau.(3.5)
3.5. Các thuộc tính của văn bản đồ hoạ
Để quy định vị trí, cách căn chỉnh, kích
cỡ và kiểu font chữ của văn bản đồ hoạ đưa ra
bởi các lệnh xlabel, ylabel, zlabel, text, title...,
chúng ta có thể gán thuộc tính cho các dòng
văn bản đó ở dạng:
<câu lệnh>(...., 'Property Name',<property
value>...).
ở đây:
- <câu lệnh> là các câu lệnh viết chữ của
Matlab (xlabel, text, title...)
- 'Property Name' là tên thuộc tính (cần đặt
bên trong dấu ' ')
- <property value> là giá trị của thuộc tính có
thể là chuỗi hoặc số nguyên, số thực...
3.5.1. Các thuộc tính của văn bản
3.5.2. Các ký tự đặc biệt
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
22
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
Trong các chuỗi của đối số của các
hàm viết chữ trong chế độ đồ hoạ ta có thể
đưa vào các ký tự điều khiển để xuất ra các
chữ cái hy lạp, ký hiệu toán học, và kiểu font.
Các mã điều khiển được đặt sau dấu ''
Chúng ta có thể điều khiển trực tiếp
kiểu font chữ bằng các ký tự điều
khiển:fontname
3.5.4. Các tuỳ chọn của lệnh plot
Trong lệnh plot ta có thể đưa vào các tuỳ chọn
ở dạng:
plot(...,'PropertyName',PropertyValue,...)
Trong đó 'PropertyName' là tên các thuộc tính,
PropertyValue là giá trị của thuộc tính mà ta
muốn gán:
Dưới đây là bảng liệt kê các thuộc tính của đồ
Trong trường hợp này tên font chữ sẽ
phải đặt trong dấu {}. kế tiếp phần điều khiển
font chữ, chúng ta có thể thêm các mã điều
khiển:
bf - kiểu chữ đậm
it - kiểu chữ nghiêng
sl - oblique font
rm - kiểu chữ bình thường
fontsize{fontsize} - Định nghĩa cỡ chữ.
Các chỉ số trên và dưới được định nghĩa bằng
các ký tự điều khiển "_" và "^"
3.5.3. Một số ví dụ
Ví dụ 1: Vẽ đồ thị của hàm số y=sin(x).
t = -pi:pi/100:pi;
y = sin(t);
thị:
Tên thuộc ý nghĩa
tính
'LineWidt điều khiển bề dầy
h' của nét vẽ đồ thị
Điều khiển màu
'MarkerE của nét vẽ biểu
dgeColor' tượng đánh dấu
điểm
'MarkerSi
Kích thước của
biểu tượng đánh
ze'
dấu điểm
'MarkerFa Điều khiển màu
ceColor' của biểu tượng
đánh dấu điểm
kiểu giá trị
số nguyên
các ký tự
chỉ màu
ví
dụ:'g','y'...
số nguyên
các ký tự
chỉ màu
ví
dụ:'g','y'...
plot(t,y)
axis([-pi pi -1 1])
xlabel('-pi leq itt leq pi')
ylabel('sin(t)')
title('Graph of the sine function')
text(1,-1/3,'it{Note the odd symmetry.}')
Đưa ra đồ thị như hình vẽ:
3.6. Một số lệnh viết chữ khác
3.6.1 Lệnh gtext
Cú pháp:
gtext('string')
Mô tả
gtext
sẽ hiển thị chuỗi văn bản tại vị trí chỉ định bằng
chuột trên đồ thị
3.6.2: Lệnh ginput
Nhập dữ liệu của các điểm bằng
chuột Cú pháp
[x,y] = ginput(n)
[x,y] = ginput
Giải thích:
[x,y] = ginput(n) Cho phép bạn chọn n điểm
bằng chuột và trả kết quả là toạ độ x và y của
các điểm chọn cho các véc tơ x và y. Có thể
kết thúc việc chọn điểm ngay cả khi chưa nhập
đủ n điểm bằng cách ấn Enter
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
23
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
[x,y] = ginput Cho phép chọn số điểm không
hạn chế.
3.7. In ấn đồ thị
Tuỳ chọn Print của menu FILE và lệnh
print đều dùng để in đồ thị. Tuỳ chọn Print sẽ
gọi ra hộp thoại cho phép người dùng chọn các
tuỳ chọn về in ấn giống như ở các phần mềm
khác, còn lệnh print cung cấp chúng ta các khả
năng mềm dẻo hơn và cho phép điều khiển
việc in đồ thị từ m. file. Kết quả có thể gửi trực
tiếp ra máy in hoặc được xếp xắp trong một tệp
xác định. Các định dạng đầu ra hết sức khác
nhau được cung cấp ở đây (kể cả PostScript)
Thí dụ: câu lệnh sau đây ghi hình ảnh của màn
hình đồ hoạ ra tệp Postscript cấp 2 có tên là
magicsquare.eps:
print -depsc2 magicsquare.eps
Một điều hết sức quan trọng là cần phải
biết trước khả năng của máy in trước khi dùng
lệnh print. Ví dụ như tệp Postscript cấp 2
thường là gọn hơn và tô bóng nhanh hơn khi in
so với tệp Postscript cấp 1. Tuy nhiên không
phải tất cả các máy in đều có khả năng làm
việc với tệp Postscript cấp 2
CHƯƠNG 4. LẬP TRÌNH ỨNG DỤNG TRONG MATLAB
I. Các loại dữ liệu dùng trong Matlab - Matlab sử dụng các chế độ ghi dữ liệu số
1. Dữ liệu số: thập phân thông thường.
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
24
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
- Có kiểu ghi dùng chữ cái e để xác định số mũ
cơ số 10. Ví dụ: 1.60210e-20 =1.60210*
1020
- Các số được lưu trữ trong bộ nhớ có giới hạn
là 16 chữ số sau dấu phẩy và giá trị giới hạn
nằm trong khoảng −10308
đến 10308
.
Một số hằng số thường dùng trong
Matlab pi = 3.14169265
i,j = các đơn vị của số ảo
esp = độ chính xác tương đối của số thực,
2−52
Inf = Vô cùng lớn
NaN = Không phải là số
2. Các phép tính trên số phức
2.1 Nhập dữ liệu
Số phức được nhập ở dạng Phần thực +
phần ảo i
Ví dụ: x= 2+3i
2.2 các phép tính thực hiện trên số phức -
Phép cộng: Sử dụng toán tử +,
- Phép trừ: Sử dụng toán tử -,
- Phép nhân: Sử dụng toán tử *,
- Phép chia: Sử dụng toán tử
/ Ví dụ:
Nếu X= 3 +4i, Y=5+6i, ta sẽ có:
X+Y
ans =8.0000
+10.0000i X*Y
ans =-9.0000 +38.0000i
X-Y
ans =-2.0000 -
2.0000i X/Y
ans =0.6393 + 0.0328i
2.3 Các hàm xử lý số phức
a. Hàm real
Lấy ra giá trị phần thực của số phức
Ví dụ: Nếu ta có X=3 +4i, real(X) sẽ cho giá trị
3
b. Hàm imag
Lấy ra phần ảo của số phức Ví dụ: với X lấy
giá trị như trên, imag(X) sẽ cho giá trị 4
c. Hàm conj
Tìm số phức liên hợp của số phức đã cho
Ví dụ: với X lấy giá trị như trên, conj(X) sẽ
cho giá trị 3-4i
3. Dữ liệu dạng chuỗi
3.1. Phép gán và tham chiếu đến dữ liệu
dạng chuỗi
* Phép gán: <tên biến>='chuỗi'
* Tham chiếu đến dữ liệu dạng chuỗi Chuỗi là
một véc tơ hàng có số phần tử bằng số chữ cái
trong chuỗi để tham chiếu đến từng chữ cái ta
chỉ cần gọi phần tử tương ứng của chuỗi
Các ví dụ: nếu gán x='String Mat'
Khi gọi x(1), ta nhận được ans = S
nếu gọi x(1:6), ta sẽ nhận được ans = String
3.2. Tạo các mảng với phần tử là chuỗi
3.2.1 Tạo véc tơ cột các chuỗi:
* Nhập trực tiếp: nhập theo nguyên tắc giống
mảng với các phần tử là số, tuy nhiên yêu cầu
các chuỗi có chiều dài như nhau, trong trường
hợp các chuỗi có chiều dài khác nhau, ta phải
thêm bước trống vào cuối chuỗi.
Ví dụ:
x=['first '
'second'
'third '] x
= first
second
third
* Dùng hàm: char
Cú pháp: char('chuỗi 1', 'chuỗi 2',....)
Chú ý: hàm char sẽ chèn cả các chuỗi rỗng vào
mảng
Ví dụ: x=char('first','second', '', 'third') sẽ cho kết
quả là véc tơ cột có 4 phần tử
x =
first
second
third
3.2.2 Tạo mảng hoặc véc tơ hàng các chuỗi
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
25
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
Dùng mảng khối:
-Mảng khối được nhập như mảng thông
thường, chỉ khác là mảng được bao bằng dấu {
}
Các phần tử của mảng khối sẽ là các chuỗi
ví dụ:
x={'first' 'second' 'third'}
x =
'first' 'second' 'third'
Nếu gọi: x(1), ta nhận được
ans =
'first'
3.3. Các hàm dùng trên chuỗi
3.3.1 Hàm chuyển đổi từ dữ liệu số sang
chuỗi và ngược lại
a. Chuyển từ số sang chuỗi: Các hàm
int2str, num2str, mat2str
* Hàm int2str: chuyển số nguyên sang chuỗi.
Cú pháp: str = int2str(N)
Mô tả:
str = int2str(N) Chuyển số nguyên sang chuỗi
với định dạng của số nguyên. N có thể là một
số nguyên riêng lẻ hoặc mảng các số nguyên.
Các giá trị thực sẽ được làm tròn trước khi
chuyển đổi.
Thí dụ:
int2str(2+3) là chuỗi
'5'. int2str(3.5) =4
* Hàm num2str
Chuyển đổi từ số thực sang
chuỗi Cú pháp
str = num2str(A)
str = num2str(A,precision)
str = num2str(A,format)
Mô tả
Hàm num2str chuyển đổi các số thực sang
chuỗi. Hàm này được dùng nhiều khi cần đưa
vào đồ thị các nhãn hoặc tiêu đề bằng các giá
trị số thực.
str = num2str(a) chuyển đổi mảng A thành
chuỗi str với 4 chữ số sau dấu phảy và số mũ
nếu cần thiết.
str = num2str(a,precision) chuyển đổi mảng A
thành chuỗi str với độ chính xác được quy định
bằng 'precision'. đối số precision quy định số
chữ số sau dấu phảy, mặc định là 4.
str = num2str(A,format) chuyển đổi mảng A sử
dụng định dạng quy định bằng 'format'. (xem
lệnh fprint).
num2str(pi) là 3.142. num2str([1/3
3/6]) là 0.33333 0.5 num2str(3/7,5)
cho kết quả là: 0.42857
* Hàm mat2str
Cú pháp:
str = mat2str(A)
str = mat2str(A,n)
Mô tả
str = mat2str(A) Chuyển ma trận A thành chuỗi,
phù hợp với dữ liệu đầu vào của hàm eval, sử
dụng độ chính xác cao nhất.
str = mat2str(A,n) Chuyển đổi ma trận A thành
chuỗi với n chữ số sau dấu phảy.
Chú ý: Hàm mat2str chỉ được thực hiện trên
các giá trị số, véc tơ hoặc mảng chữ nhật.
Thí dụ:
Xét ma trận:
A =
1 2
3 4
Câu lệnh
b = mat2str(A)
cho kết quả: b
= [1 2 ;3 4 ]
b. Chuyển từ chuỗi sang số, thực hiện
các phép tính: hàm eval
Cú pháp:
eval('Chuỗi')
[a1,a2,a3,...] = eval('Chuỗi')
Mô tả:
eval('Chuỗi') thực hiện biểu thức được mô tả
trong 'chuỗi'. Bạn có thể tạo ra 'chuỗi' bằng
cách nối kết các chuỗi con và các biến trong
ngoặc vuông.
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
26
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
[a1,a2,a3,...] = eval('Chuỗi') thực thi biểu thức
trong 'chuỗi' và đưa ra các kết quả trong các
biến đầu ra chỉ định.
Thí dụ:
y=eval('5+6-7'), cho kết quả y =4
Nếu ta có x='5+6-sin(pi)', hàm y=eval(x) sẽ cho
kết quả: y =11
eval(['sin(pi/2)' '+' 'cos(pi)']), cho kết quả là 0
c. Hàm sprintf
Cú pháp:
s = sprintf(format,A,...)
Mô tả:
s = sprintf(format,A,...) Định dạng các dữ liệu
trong ma trận A, trên cơ sở của chuỗi quy định
mẫu định dạng 'format' và trả kết quả cho biến
dạng chuỗi s. Câu lệnh sprintf cũng có ý nghĩa
tương tự như fprint, điểm khác chỉ ở chỗ câu
lệnh fprint thường dùng để xuất dữ liệu ra tệp.
Chuỗi format quy định các ghi chú, căn
chỉnh, số chữ số, bề rộng của trường. Nó có
thể chứa các dữ liệu số, chữ và các ký tự điều
khiển theo cấu trúc sau:
Bảng dưới đây sẽ mô tả các ký tự không nhìn
thấy được sử dụng trong định dạng của lệnh
sprintf.
Các ký tự thoát
ký tự Mô tả
b Xoá lùi
f Kéo giấy
n Xuống dòng
t lùi vào một bước tab
 Backslash
'' dấu "
%% dấu %
Các quy định chuyển đổi
ký tự
điều Mô tả
khiển
%c Ký tự riêng lẻ
%d
chế độ ghi số thập phân dùng dấu chấm
động
%e ghi bằng số e (sử dụng e)
%E ghi bằng số e (sử dụng E)
%f Cho phép quy định số chữ số xuất ra
Chế độ ghi ngắn gọn %e, %f, Các chữ
%g số 0 phía sau không
được in ra
%G Giống %g, nhưng sử dụng E thay cho e
%s Ghi chuỗi ký tự
Các ký tự khác
Các ký tự khác có thể chèn vào mã quy định ở
vị trí giữa % và ký tự điều khiển.
Ký tự Mô tả Thí dụ
Dấu Left-justifies the converted
%-5.2d
(-) argument in its field.
Dấu Luôn in dấu (+ hoặc -) trước
%+5.2d
(+) số xuất ra.
Số Đưa vào các số 0 thay cho
%05.2d
(0) các khoảng trống.
Số
Quy định số lượng chữ số ít
nguy %6f
nhất được in ra.
ên
Số
với Số với dấu. xác định số
dấu lượng chữ số được in sang %6.2f
chấm phải dấu chấm phân cách.
động)
Thí dụ
Lệnh Kết quả
sprintf('%0.5g',
1.618
(1+sqrt(5))/2)
sprintf('%0.5g',1/eps) 4.5036e+15
sprintf('%15.5f',1/eps) 4503599627370496.00000
sprintf('%d',round(pi)) 3
sprintf('%s','hello') hello
sprintf('The array is
The array is 2x3
%dx%d.',2,3)
sprintf('n') Xuống dòng
d. Hàm sscanf
Đọc chuỗi theo định dạng quy định, hàm có
ý nghĩa như là hàm ngược của sprintf. Cú
pháp
A = sscanf(s,format)
A = sscanf(s,format,size)
Mô tả
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
A = sscanf(s,format) Đọc dữ liệu từ
chuỗi s, chuyển đổi nó phù hợp với định
dạng được quy
27
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
định trong format và trả ra kết quả cho ma trận
a.
A = sscanf(s,format,size) Đọc số phần tử quy
định trong size và chuyển đổi nó phù hợp với
định dạng quy định trong format. size có thể lấy
các giá trị sau:
n Đọc n phần tử và trả véc tơ
cột
inf
Đọc đến cuối tệp và trả kết
quả ra véc tơ cột.
[m,n]
Đọc đủ số phần tử để điền
vào ma trân m x n phần tử.
Nếu ma trận A là kết quả chỉ của việc sử dụng
các ma trận chuyển đổi, và size không ở dạng
[M,N], véc tơ hàng sẽ được trả. Thí dụ:
Các câu lệnh
s = '2.7183 3.1416';
A = sscanf(s,'%f')
Tạo ra véc tơ cột có hai phần tử chứa giá
trị của pi và e.
II. Nhập, xuất dữ liệu
1. Các lệnh nhập dữ liệu
1.1. Nhập từ bàn phím: Lệnh input
Cú pháp:
<tên biến>=input('lời nhắc')
<tên biến>=input('lời nhắc',
's') Mô tả:
<tên biến>=input('lời nhắc') Sẽ hiển thị lời nhắc
và chờ người dùng nhập dữ liệu, các dữ liệu
này sẽ được gán cho <tên biến>.
<tên biến>=Input('lời nhắc', 's') thường dùng
khi nhập chuỗi: nếu dùng cú pháp thứ nhất để
nhập chuỗi thì ta cần đặt chuỗi trong dấu ' ',
còn ở cú pháp 2 ta có thể nhập trực tiếp nội
dung của chuỗi.
Chú ý:
Nếu ta ấn enter khi xuất hiện lời nhắc,
Matlab sẽ trả kết quả là ma trận rỗng.
1.2. Nhập từ hộp thoại: Lệnh inputdlg
Cú pháp:
answer = inputdlg(prompt)
answer = inputdlg(prompt,title)
answer = inputdlg(prompt,title,lineNo)
answer = inputdlg(prompt,title,lineNo,defAns)
Mô tả:
Prompt: là các dòng nhắc trên các trường dữ
liệu, được nhập ở dạng mảng khối các chuỗi
lời nhắc
Title: là tiêu đề của hộp thoại, nhập vào ở
dạng chuỗi
LineNo: là số nguyên quy định số dòng cho mỗi
trường nhập dữ liệu
DefAns: là một mảng khối các chuỗi gán giá
trị mặc định
Các dữ liệu nhập vào được gán cho
answer dưới dạng mảng khối các chuỗi Ví
dụ
prompt = {'Nhập số hàng ma trận:','Nhập số
cột ma trận'};
title = 'Hộp thoại nhập ma
trận'; lines= 1;
def = {'20','20'};
answer = inputdlg(prompt,title,lines,def);
Sẽ đưa ra hộp thoại:
Nếu nhập ở hai hộp các giá trị 40 và 30, sau
đó nháy OK, ta nhận được: answer={'20' '30'}
Chú ý:
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
28
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
Kết quả nhập vào được gán cho biến ở dạng
mảng khối các chuỗi, chính vì vậy để có thể sử
dụng được các giá trị này ta phải dùng hàm
char để chuyển đổi về mảng thông thường, sau
đó dùng các hàm sscanf hoặc eval để chuyển
dữ liệu về dạng số.
1.3. Nhập dữ liệu từ tệp: Lệnh fread
Cú pháp:
[A,count] = fread(fid,size,precision Dữ liệu đọc
được sẽ ghi vào mảng A, count sẽ ghi lại số
phần tử được đọc Fid là chỉ số của tệp được
mở lấy ra từ lệnh fopen
Size: định dạng số phần tử được lấy ra. Có các
loại định dạng sau:
- n: Đọc n phần tử và ghi ra ở dạng véc tơ cột.
- inf: Đọc đến cuối mảng, các phần tử đưa vào
ma trận cột.
- [m,n]:Đọc đủ số phần tử để điền vào ma trận
m x n, các phần tử điền vào theo trật tự các
cột, nếu không đủ số phần tử điền, máy thêm
vào phần tử 0.
Preciscion: Dạng của phần tử
'char' Character; 8 bits
'schar' Signed character; 8 bits
'uchar'
Unsigned character; 8
bits
'int8' Integer; 8 bits
'int16' Integer; 16 bits
'int32' Integer; 32 bits
'int64' Integer; 64 bits
'uint8' Unsigned integer; 8 bits
'uint16'
Unsigned integer; 16
bits
'uint32'
Unsigned integer; 32
bits
1.4. Lệnh fopen:
Mở tệp để ghi hoặc đọc dữ liệu
Cú pháp: fid = fopen('filename','permission')
Permission: quy định chế độ mở, có thể lấy các
giá trị:
'r': mở ra để đọc
'w': mở ra để ghi, nếu tệp đã có, nó sẽ xoá
toàn bộ nội dung tệp và ghi lại 'a': mở ra để ghi
thêm
Filename: là tên của tệp sẽ mở được đặt trong
dấu ' '
Kết quả sẽ trả ra chỉ số của tệp được mở (con
trỏ tham chiếu đến tệp) và gán cho biến fid.
1.5 Lệnh đóng tệp, fclose
Cú pháp:
status = fclose(fid), đóng tệp chỉ định
status = fclose('all'), đóng tất cả các tệp đang
mở
1.6 Lệnh fscanf:
Nhập dữ liệu từ tệp định dạng mã ascci
Cú pháp:
A = fscanf(fid,format)
[A,count] = fscanf(fid,format,size)
ở cú pháp thứ nhất, fscanf sẽ đọc dữ liệu từ
tệp có con trỏ fid theo định dạng quy định bằng
chuỗi format.
Số phần tử được đọc thành công sẽ được trả
cho biến count
Ví dụ:
Ta có tệp dữ liệu có tên là 'd:datadl.dat' có
các số liệu sau:
1.345 4.123 4.567 2.456
2.675 6.876 4.576 3.456
Đoạn chương trình sau sẽ đọc dữ liệu từ tệp
xếp thành ma trận (4,2) và gán cho biến M
f=fopen('d:datadl.dat','r'); M=fscanf(f,'%f',[4,2]);
fclose(f);
2. Các lệnh xuất dữ liệu
2.1. lệnh disp: Hiển thị văn bản hoặc mảng
cú pháp: disp(A)
Mô tả
disp(X) Hiển thị giá trị các mảng mà không đưa
ra tên mảng, nếu x chứa chuỗi, chuỗi sẽ được
in ra màn hình.
2.2. Lệnh fprintf: Ghi lại dữ liệu
Cú pháp:
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
29
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
count = fprintf(fid,format,A,...)
fprintf(format,A,...)
Mô tả:
count = fprintf(fid,format,A,...) định dạng các
dữ liệu ở phần thực của ma trận A dưới sự
điều khiển của chuỗi định dạng 'format' và ghi
vào tệp tham chiếu bằng con trỏ 'fid'. Hàm
fprintf trả số lượng byte được ghi ra.
fid là chỉ số của tệp được mở ra để ghi dữ liệu,
nhận được từ lệnh fopen. Nếu bỏ qua fid, kết
quả sẽ in ra màn hình.
format là chuỗi quy định định dạng sẽ xuất ra
(xem lệnh sprintf)
2.3. Lệnh fwrite: Ghi dữ liệu ra tệp ở dạng
mã nhị phân.
Cú pháp:
count = fwrite(fid,A,precision)
Mô tả:
count = fwrite(fid,A,precision) ghi các phần tử
của ma trận A vào tệp tham chiếu bởi 'fid'.
Chuyển đổi các giá trị của MATLAB với độ
chính xác được quy định trong 'precision'. Dữ
liệu được ghi theo trật tự cột, count sẽ đếm số
phần tử được ghi thành công vào tệp. đối số
'fid' là con trỏ tệp nhận được từ lệnh fopen.
III. Các lệnh phân nhánh
1. Lệnh if
1.1 Cú pháp: Lệnh If
Cú pháp 1:
if Biểu thức lôgíc
Các biểu thức tính;
end
Cú pháp 2:
if Biểu thức lôgíc
Các biểu thức tính 1
else
Các biểu thức tính 2
end
Cú pháp 3:
if Biểu thức lôgíc 1
Các biểu thức tính
1 elseif Biểu thức lôgíc 2
Các biểu thức tính 2
else
Các biểu thức tính 3
end
Trong các cú pháp đưa ra ở trên:
- Các biểu thức lô gíc viết theo quy
tắc được trình bày ở dưới đây
- Các biểu thức tính chứa các dòng
lệnh của Matlab
Trong cú pháp 1: Máy sẽ kiểm tra biểu thức
logic: nếu biểu thức lôgic đúng, máy sẽ thực
hiện các lệnh trong if (nằm giữa if và end), còn
nếu biểu thức lô gíc sai máy sẽ bỏ qua các câu
lệnh trong if và thực hiện các câu lệnh kế tiếp
câu lệnh if
Trong cú pháp 2: nếu biểu thức lôgic đúng máy
sẽ thực hiện các câu lệnh trong Các biểu thức
tính 1, còn nếu biểu thức lôgic sai máy sẽ thực
hiện các câu lệnh Các biểu thức tính 2.
Trong cú pháp 3: Nếu biểu thức lôgíc 1 đúng,
máy sẽ thực hiện Các biểu thức tính 1. Nếu
biểu thức lôgíc 1 sai, máy sẽ kiểm tra biểu thức
lôgíc 2: nếu biểu thức lôgic này đúng, máy sẽ
thực hiện các biểu thức tính 2, còn các trường
hợp khác máy sẽ thực hiện các biểu thức tính
3.
1.2 Các toán tử logic
Mat lab cho phép sử dụng các toán tử
lôgic sau:
S
Toán
T ý nghĩa thí dụ
T tử
kiểm tra liệu hai biểu
1 = = thức có bằng nhau A=B
không
2 > Lớn hơn A>B
3 < Nhỏ hơn A<B
4 <= Nhỏ hơn hoặc bằng A<=B
5 >= Lớn hơn hoặc bằng A>=B
6 ~= Khác A~=B
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
30
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
7 & Và lôgic A&B
8 | Hoặc lôgic A|B
9 Not Phủ định Not(A)
1.3 Các hàm logíc
Kiểm tra liệu mảng X có rỗng không, cho giá trị
đúng (1) khi X rỗng nguợc lại cho kết quả sai
(0)
b. Hàm isequal(a,b...)
k = isequal(A,B,...) sẽ trả giá trị đúng lôgic(1),
nếu các mảng đối số có cùng dạng, cùng kích
cỡ và có cùng nội dung. Hàm này thường dùng
khi so sánh hai hay nhiều mảng, nó sẽ không
gây lỗi khi 2 mảng có kích thước khác nhau. c.
Hàm ischar(x)
Cho kết quả đúng nếu x là dữ liệu dạng chuỗi. d.
Các hàm strcmp(s1,s2), strcmp(s1, s2, n)
Hàm strcmp(s1,s2) so sánh hai chuỗi s1, s2.
Nếu hai chuỗi giống nhau sẽ trả kết quả đúng
Hàm strcmp(s1,s2,n) cho kết quả đúng nếu n
ký tự đầu tiên của hai chuỗi như nhau.
Chú ý:
Trong trường hợp đối số trong các hàm lôgic là
ma trận, máy sẽ thử từng cặp phần tử trong
ma trận, nếu đúng trả giá trị 1, nếu sai trả giá trị
0 và kết quả nhận được là ma trận các giá trị 1
và 0. Để so sánh được hai ma trận phải có
cùng kích thước.
2. Lệnh switch
Cú pháp:
switch Biểu thức switch
case Biểu thức case 1
Các biểu thức tính 1
case Biểu thức case 2
Các biểu thức tính 2
...
otherwise
Các biểu thức tính khác
end
Khi lệnh switch được gọi, nó sẽ tính
toán giá trị biểu thức switch Sau đó giá trị của
biểu thức này sẽ được so với mỗi một biểu
thức case theo trình tự được ghi trong câu
lệnh, nếu 2 phép so sánh đưa ra kết quả đúng,
nhóm các câu lệnh tương ứng sẽ được thực
hiện, sau đó thoát khỏi lệnh và thực hiện các
câu lệnh sau switch.
Nếu tất cả các biểu thức case đều
không phù hợp với giá trị của biểu thức switch.
Nhóm lệnh dưới otherwise sẽ được thực hiện.
IV. Các vòng lặp
1. Vòng lặp xác định: for
Cú pháp:
for <biến>= mảng
Các biểu thức tính;
end
Vòng lặp for sẽ thực hiện các câu lệnh lặp với
số lần bằng số cột của mảng, trong mỗi lần lặp
<biến> sẽ mang giá trị là một véc tơ hàng
tương ứng của mảng
Thí dụ: Tạo mảng có các phần tử a(i,j)=1/(i+j-
1) a = zeros(n,n) % Preallocate matrix
for i = 1:n
for j = 1:n
a(i,j) = 1/(i+j -1);
end
end
2. Vòng lặp không xác định:
while Cú pháp:
while <biểu thức logíc >
Các biểu thức tính end
Khi thực hiện câu lệnh, máy sẽ kiểm tra
biểu thức lôgíc, nếu giá trị biểu thức là đúng,
các câu lệnh trong vòng lặp sẽ được thực hiện,
sau khi thực hiện xong sẽ quay trở về kiểm tra
lại giá trị của biểu thức logic.
Nếu giá trị của biểu thức lô gíc là sai, vòng lặp
sẽ kết thúc.
Thí dụ: Tìm nghiệm của phương trình x3 - 2x - 5
= 0 trong khoảng [0,3] theo phương pháp dây
cung.
3. Lệnh break:
Thoát khỏi vòng lặp một cách cưỡng bức
Cú pháp:
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
31
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
lOMoARcPSD|293 538 1
break
Mô tả:
break
Dừng việc thực thi vòng lặp for hoặc while. Khi
có nhiều vòng lặp lồng vào nhau, break sẽ chỉ
thoát khỏi vòng lặp gần nhất.
V. Các chương trình con
1.Phương pháp xây dựng các hàm và
chương trình con
- Hàm được viết trong m file, tên của m file
được bắt đầu bằng ký tự chữ hoặc số và có
phần mở rộng là.m.
- Dòng trên cùng của hàm m file phải chứa từ
khoá function và viết theo đúng quy cách quy
định trong Matlab.function [biến ra1, biến ra 2...]
= <Tên hàm>(biến vào 1, biến vào 2..)
- Tên của m file phải trùng với <tên hàm>.
Ví dụ: tệp stat.m chứa nội dung sau tính ra
độ lệch chuẩn của véc tơ x = [x1 x2... xn]
function [mean,stdev] = stat(x)
n = length(x);
mean = sum(x)/n;
stdev = sqrt(sum((x-mean).^2/n));
Chúng ta có thể định nghĩa một hàm
con trong hàm khác bằng cách gọi ra từ khoá
function bên dưới thân của hàm chính. Ví dụ
dưới đây sẽ định nghĩa hàm con avg bên trong
tệp stat.m:
function [mean,stdev] = stat(x)
n = length(x);
mean = avg(x,n);
stdev = sqrt(sum((x- avg(x,n)).^2)/n);
function mean = avg(x,n) mean =
sum(x)/n;
Khi Matlab không nhận ra một tên hàm,
nó sẽ tìm kiếm tên tệp trùng với tên hàm, nếu
tìm ra nó sẽ dịch và đưa vào bộ nhớ. Trong
trường hợp tổng quát nếu ta nhập một tên vào
Matlab, nó sẽ kiểm tra theo trình tự sau:
1. Kiểm tra xem đó có phải là tên biến
2. Kiểm tra xem đó có phải là tên hàm nội trú
trong Matlab.
3. Kiểm tra xem đó có phải là hàm m. file
Khi gọi một m.file từ dòng nhắc hoặc trong m.file
khác đưa hàm vào bộ nhớ, và nó sẽ lưu lại ở đó
cho tới khi ta thoát khỏi Matlab hoặc dùng lệnh
clear.
2. Các đối số vào, ra
Chú ý
- Hàm m-file có thể không chứa đối số nào
- Hàm có thể được gọi với số đối số ra hoặc vào
ít hơn số đối số được khai báo trong hàm
- Khi hàm được gọi ra các biến sử dụng trong
hàm chỉ tồn tại tạm thời trong vùng bộ nhớ dành
cho hàm
- Hàm trong Matlab có thể chứa không hạn chế
thông số đầu vào, khi đó biến đầu vào cuối cùng
của hàm phải được khai báo là varargin, khi đó
biến đầu vào được coi như một mảng khối có vô
số phần tử. Tương tự hàm cũng có thể chứa vô
hạn các thông số ra khi ta khai báo bằng
varargout.
- Câu lệnh varagin và varagout
Cho phép định nghĩa vô số biến vào và ra
của hàm trong Matlab
Cú pháp:
function varargout =
foo(n) y = function
bar(varargin) Mô tả:
Hàm varargout = foo(n) sẽ trả một số lượng
không hạn chế các biến ra từ hàm foo.m.
Hàm y = function bar(varargin) Chấp nhận vô số
biến đầu vào của hàm bar.m
Các câu lệnh varargin và varargout chỉ
được sử dụng bên trong hàm m.file để chứa
biến tuỳ chọn vào hoặc ra của hàm. Chúng phải
được định nghĩa như là một biến cuối cùng
trong danh sách các biến khai báo ở câu lệnh
function.
CHƯƠNG 5. MÔ PHỎNG CÁC HỆ THỐNG
ĐỘNG LỰC BẰNG SIMULINK
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
32
Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc
Hướng dẫn sử dụng MATLAB  Simulink và ứng dụng điều khiển các hệ thống tự động.doc

More Related Content

What's hot

NGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdfNGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdfMan_Ebook
 
Chọn công suất động cơ điện
Chọn công suất động cơ điệnChọn công suất động cơ điện
Chọn công suất động cơ điệnKent Phan
 
đồ án chi tiết máy-nguyễn hải sứ
đồ án chi tiết máy-nguyễn hải sứđồ án chi tiết máy-nguyễn hải sứ
đồ án chi tiết máy-nguyễn hải sứNguyễn Hải Sứ
 
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...TÀI LIỆU NGÀNH MAY
 
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...Chu Quang Thảo
 
Thiết kế động cơ điện không đồng bộ ba pha rôto lồng sóc (Kèm file Autocad)
Thiết kế động cơ điện không đồng bộ ba pha rôto lồng sóc (Kèm file Autocad) Thiết kế động cơ điện không đồng bộ ba pha rôto lồng sóc (Kèm file Autocad)
Thiết kế động cơ điện không đồng bộ ba pha rôto lồng sóc (Kèm file Autocad) nataliej4
 
Kĩ thuật đo lường
Kĩ thuật đo lường Kĩ thuật đo lường
Kĩ thuật đo lường Vũ Quang
 
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểmBáo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểmLuanvantot.com 0934.573.149
 
Công thức Máy điện 1 - Chương 2 - Máy biến áp
Công thức Máy điện 1 - Chương 2 - Máy biến ápCông thức Máy điện 1 - Chương 2 - Máy biến áp
Công thức Máy điện 1 - Chương 2 - Máy biến ápMan_Ebook
 
Thiết kế bộ điều khiển pid thích nghi điều khiển tốc độ động cơ điện một chiề...
Thiết kế bộ điều khiển pid thích nghi điều khiển tốc độ động cơ điện một chiề...Thiết kế bộ điều khiển pid thích nghi điều khiển tốc độ động cơ điện một chiề...
Thiết kế bộ điều khiển pid thích nghi điều khiển tốc độ động cơ điện một chiề...Man_Ebook
 
Bai giang-vhdl
Bai giang-vhdlBai giang-vhdl
Bai giang-vhdlhoangclick
 

What's hot (20)

NGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdfNGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdf
 
Chọn công suất động cơ điện
Chọn công suất động cơ điệnChọn công suất động cơ điện
Chọn công suất động cơ điện
 
đồ án chi tiết máy-nguyễn hải sứ
đồ án chi tiết máy-nguyễn hải sứđồ án chi tiết máy-nguyễn hải sứ
đồ án chi tiết máy-nguyễn hải sứ
 
Luận án: Xây dựng phương pháp điều hệ Euler Lagrange, HAY
Luận án: Xây dựng phương pháp điều hệ Euler Lagrange, HAYLuận án: Xây dựng phương pháp điều hệ Euler Lagrange, HAY
Luận án: Xây dựng phương pháp điều hệ Euler Lagrange, HAY
 
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
 
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
 
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAYĐề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
 
Đề tài: Mạch vòng tốc độ theo hai tiêu chuẩn module tối ưu, HOT
Đề tài: Mạch vòng tốc độ theo hai tiêu chuẩn module tối ưu, HOTĐề tài: Mạch vòng tốc độ theo hai tiêu chuẩn module tối ưu, HOT
Đề tài: Mạch vòng tốc độ theo hai tiêu chuẩn module tối ưu, HOT
 
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOTĐề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
 
Đề tài: Tính toán và thiết kế hộp giảm tốc đồng trục hai cấp
Đề tài: Tính toán và thiết kế hộp giảm tốc đồng trục hai cấpĐề tài: Tính toán và thiết kế hộp giảm tốc đồng trục hai cấp
Đề tài: Tính toán và thiết kế hộp giảm tốc đồng trục hai cấp
 
Btl chi tiết máy
Btl chi tiết máyBtl chi tiết máy
Btl chi tiết máy
 
Thiết kế động cơ điện không đồng bộ ba pha rôto lồng sóc (Kèm file Autocad)
Thiết kế động cơ điện không đồng bộ ba pha rôto lồng sóc (Kèm file Autocad) Thiết kế động cơ điện không đồng bộ ba pha rôto lồng sóc (Kèm file Autocad)
Thiết kế động cơ điện không đồng bộ ba pha rôto lồng sóc (Kèm file Autocad)
 
Đề tài: Thiết kế bộ điều khiển tốc độ động cơ một chiều, HOT
Đề tài: Thiết kế bộ điều khiển tốc độ động cơ một chiều, HOTĐề tài: Thiết kế bộ điều khiển tốc độ động cơ một chiều, HOT
Đề tài: Thiết kế bộ điều khiển tốc độ động cơ một chiều, HOT
 
Kĩ thuật đo lường
Kĩ thuật đo lường Kĩ thuật đo lường
Kĩ thuật đo lường
 
Luận văn: Nghiên cứu thiết kế bộ điều khiển PID mờ, HOT
Luận văn: Nghiên cứu thiết kế bộ điều khiển PID mờ, HOTLuận văn: Nghiên cứu thiết kế bộ điều khiển PID mờ, HOT
Luận văn: Nghiên cứu thiết kế bộ điều khiển PID mờ, HOT
 
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểmBáo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
 
Công thức Máy điện 1 - Chương 2 - Máy biến áp
Công thức Máy điện 1 - Chương 2 - Máy biến ápCông thức Máy điện 1 - Chương 2 - Máy biến áp
Công thức Máy điện 1 - Chương 2 - Máy biến áp
 
Chuong 7 truc
Chuong 7 truc Chuong 7 truc
Chuong 7 truc
 
Thiết kế bộ điều khiển pid thích nghi điều khiển tốc độ động cơ điện một chiề...
Thiết kế bộ điều khiển pid thích nghi điều khiển tốc độ động cơ điện một chiề...Thiết kế bộ điều khiển pid thích nghi điều khiển tốc độ động cơ điện một chiề...
Thiết kế bộ điều khiển pid thích nghi điều khiển tốc độ động cơ điện một chiề...
 
Bai giang-vhdl
Bai giang-vhdlBai giang-vhdl
Bai giang-vhdl
 

Similar to Hướng dẫn sử dụng MATLAB Simulink và ứng dụng điều khiển các hệ thống tự động.doc

Đồ Án Tốt Nghiệp Về Các Phương Pháp Điều Khiển Tương Tranh Và Truy Cập Dữ Liệ...
Đồ Án Tốt Nghiệp Về Các Phương Pháp Điều Khiển Tương Tranh Và Truy Cập Dữ Liệ...Đồ Án Tốt Nghiệp Về Các Phương Pháp Điều Khiển Tương Tranh Và Truy Cập Dữ Liệ...
Đồ Án Tốt Nghiệp Về Các Phương Pháp Điều Khiển Tương Tranh Và Truy Cập Dữ Liệ...mokoboo56
 
Đồ Án Tốt Nghiệp Tìm Hiểu Kỹ Thuật Xuyên Lớp Trong Mạng Wsns.doc
Đồ Án Tốt Nghiệp Tìm Hiểu Kỹ Thuật Xuyên Lớp Trong Mạng Wsns.docĐồ Án Tốt Nghiệp Tìm Hiểu Kỹ Thuật Xuyên Lớp Trong Mạng Wsns.doc
Đồ Án Tốt Nghiệp Tìm Hiểu Kỹ Thuật Xuyên Lớp Trong Mạng Wsns.docmokoboo56
 
Luận văn Thạc sĩ Cấu trúc lưới điện, đi sâu tìm hiểu về hệ thống lưới điện th...
Luận văn Thạc sĩ Cấu trúc lưới điện, đi sâu tìm hiểu về hệ thống lưới điện th...Luận văn Thạc sĩ Cấu trúc lưới điện, đi sâu tìm hiểu về hệ thống lưới điện th...
Luận văn Thạc sĩ Cấu trúc lưới điện, đi sâu tìm hiểu về hệ thống lưới điện th...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...mokoboo56
 
Luận văn Thạc sĩ Nghiên cứu ảnh hưởng của một số yếu tố đến quá trình xử lý ...
 Luận văn Thạc sĩ Nghiên cứu ảnh hưởng của một số yếu tố đến quá trình xử lý ... Luận văn Thạc sĩ Nghiên cứu ảnh hưởng của một số yếu tố đến quá trình xử lý ...
Luận văn Thạc sĩ Nghiên cứu ảnh hưởng của một số yếu tố đến quá trình xử lý ...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Ứng dụng công nghệ truyền thông Lora trong hệ thống tự động hóa nông nghiệp.doc
Ứng dụng công nghệ truyền thông Lora trong hệ thống tự động hóa nông nghiệp.docỨng dụng công nghệ truyền thông Lora trong hệ thống tự động hóa nông nghiệp.doc
Ứng dụng công nghệ truyền thông Lora trong hệ thống tự động hóa nông nghiệp.docDịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
ĐỒ ÁN - Thiết kế cấu trúc điều khiển bộ biến đổi dc-dc hai chiều không cách l...
ĐỒ ÁN - Thiết kế cấu trúc điều khiển bộ biến đổi dc-dc hai chiều không cách l...ĐỒ ÁN - Thiết kế cấu trúc điều khiển bộ biến đổi dc-dc hai chiều không cách l...
ĐỒ ÁN - Thiết kế cấu trúc điều khiển bộ biến đổi dc-dc hai chiều không cách l...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Luận Văn Xây Dựng Chương Trình Quản Lý Thủ Tục Tàu Biển.doc
Luận Văn Xây Dựng Chương Trình Quản Lý Thủ Tục Tàu Biển.docLuận Văn Xây Dựng Chương Trình Quản Lý Thủ Tục Tàu Biển.doc
Luận Văn Xây Dựng Chương Trình Quản Lý Thủ Tục Tàu Biển.doctcoco3199
 

Similar to Hướng dẫn sử dụng MATLAB Simulink và ứng dụng điều khiển các hệ thống tự động.doc (20)

THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN BƠM NƯỚC SỬ DỤNG PLC S71200.docx
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN BƠM NƯỚC SỬ DỤNG PLC S71200.docxTHIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN BƠM NƯỚC SỬ DỤNG PLC S71200.docx
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN BƠM NƯỚC SỬ DỤNG PLC S71200.docx
 
Đồ Án Tốt Nghiệp Về Các Phương Pháp Điều Khiển Tương Tranh Và Truy Cập Dữ Liệ...
Đồ Án Tốt Nghiệp Về Các Phương Pháp Điều Khiển Tương Tranh Và Truy Cập Dữ Liệ...Đồ Án Tốt Nghiệp Về Các Phương Pháp Điều Khiển Tương Tranh Và Truy Cập Dữ Liệ...
Đồ Án Tốt Nghiệp Về Các Phương Pháp Điều Khiển Tương Tranh Và Truy Cập Dữ Liệ...
 
Nhận dạng và phân loại hoa quả trong ảnh màu.doc
Nhận dạng và phân loại hoa quả trong ảnh màu.docNhận dạng và phân loại hoa quả trong ảnh màu.doc
Nhận dạng và phân loại hoa quả trong ảnh màu.doc
 
Đồ Án Tốt Nghiệp Tìm Hiểu Kỹ Thuật Xuyên Lớp Trong Mạng Wsns.doc
Đồ Án Tốt Nghiệp Tìm Hiểu Kỹ Thuật Xuyên Lớp Trong Mạng Wsns.docĐồ Án Tốt Nghiệp Tìm Hiểu Kỹ Thuật Xuyên Lớp Trong Mạng Wsns.doc
Đồ Án Tốt Nghiệp Tìm Hiểu Kỹ Thuật Xuyên Lớp Trong Mạng Wsns.doc
 
Luận văn Thạc sĩ Cấu trúc lưới điện, đi sâu tìm hiểu về hệ thống lưới điện th...
Luận văn Thạc sĩ Cấu trúc lưới điện, đi sâu tìm hiểu về hệ thống lưới điện th...Luận văn Thạc sĩ Cấu trúc lưới điện, đi sâu tìm hiểu về hệ thống lưới điện th...
Luận văn Thạc sĩ Cấu trúc lưới điện, đi sâu tìm hiểu về hệ thống lưới điện th...
 
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
 
Luận văn: Xây dựng hệ điều khiển mờ cho động cơ điện một chiều
Luận văn: Xây dựng hệ điều khiển mờ cho động cơ điện một chiềuLuận văn: Xây dựng hệ điều khiển mờ cho động cơ điện một chiều
Luận văn: Xây dựng hệ điều khiển mờ cho động cơ điện một chiều
 
Luận văn Thạc sĩ Nghiên cứu ảnh hưởng của một số yếu tố đến quá trình xử lý ...
 Luận văn Thạc sĩ Nghiên cứu ảnh hưởng của một số yếu tố đến quá trình xử lý ... Luận văn Thạc sĩ Nghiên cứu ảnh hưởng của một số yếu tố đến quá trình xử lý ...
Luận văn Thạc sĩ Nghiên cứu ảnh hưởng của một số yếu tố đến quá trình xử lý ...
 
Cải thiện chất lƣợng thiết bị điều khiển gia nhiệt bằng bộ điều khiển mờ chỉn...
Cải thiện chất lƣợng thiết bị điều khiển gia nhiệt bằng bộ điều khiển mờ chỉn...Cải thiện chất lƣợng thiết bị điều khiển gia nhiệt bằng bộ điều khiển mờ chỉn...
Cải thiện chất lƣợng thiết bị điều khiển gia nhiệt bằng bộ điều khiển mờ chỉn...
 
Thiết kế bộ điều khiển mờ theo đại số gia tử cho robot 2 bậc tự do.doc
Thiết kế bộ điều khiển mờ theo đại số gia tử cho robot 2 bậc tự do.docThiết kế bộ điều khiển mờ theo đại số gia tử cho robot 2 bậc tự do.doc
Thiết kế bộ điều khiển mờ theo đại số gia tử cho robot 2 bậc tự do.doc
 
Ứng dụng công nghệ truyền thông Lora trong hệ thống tự động hóa nông nghiệp.doc
Ứng dụng công nghệ truyền thông Lora trong hệ thống tự động hóa nông nghiệp.docỨng dụng công nghệ truyền thông Lora trong hệ thống tự động hóa nông nghiệp.doc
Ứng dụng công nghệ truyền thông Lora trong hệ thống tự động hóa nông nghiệp.doc
 
Thiết kế và chế tạo cảm biến vi hạt trong dòng chảy chất lỏng dựa trên cấu tr...
Thiết kế và chế tạo cảm biến vi hạt trong dòng chảy chất lỏng dựa trên cấu tr...Thiết kế và chế tạo cảm biến vi hạt trong dòng chảy chất lỏng dựa trên cấu tr...
Thiết kế và chế tạo cảm biến vi hạt trong dòng chảy chất lỏng dựa trên cấu tr...
 
ĐỒ ÁN - Thiết kế cấu trúc điều khiển bộ biến đổi dc-dc hai chiều không cách l...
ĐỒ ÁN - Thiết kế cấu trúc điều khiển bộ biến đổi dc-dc hai chiều không cách l...ĐỒ ÁN - Thiết kế cấu trúc điều khiển bộ biến đổi dc-dc hai chiều không cách l...
ĐỒ ÁN - Thiết kế cấu trúc điều khiển bộ biến đổi dc-dc hai chiều không cách l...
 
Luận Văn Đề Xuất Phương Án Bảo Mật Mạng.doc
Luận Văn Đề Xuất Phương Án Bảo Mật Mạng.docLuận Văn Đề Xuất Phương Án Bảo Mật Mạng.doc
Luận Văn Đề Xuất Phương Án Bảo Mật Mạng.doc
 
luan van thac si tim hieu he thong nguon mo ho tro hoc truc tuyen
luan van thac si tim hieu he thong nguon mo ho tro hoc truc tuyenluan van thac si tim hieu he thong nguon mo ho tro hoc truc tuyen
luan van thac si tim hieu he thong nguon mo ho tro hoc truc tuyen
 
MÔ HÌNH HỆ THỐNG KHÓA CỬA THÔNG MINH sử dụng Arduino Uno RFID-MFRC522.docx
MÔ HÌNH HỆ THỐNG KHÓA CỬA THÔNG MINH sử dụng Arduino Uno RFID-MFRC522.docxMÔ HÌNH HỆ THỐNG KHÓA CỬA THÔNG MINH sử dụng Arduino Uno RFID-MFRC522.docx
MÔ HÌNH HỆ THỐNG KHÓA CỬA THÔNG MINH sử dụng Arduino Uno RFID-MFRC522.docx
 
Nghiên cứu ảnh hưởng của điều kiện chuyển động đến vận tốc của ô tô trang bị ...
Nghiên cứu ảnh hưởng của điều kiện chuyển động đến vận tốc của ô tô trang bị ...Nghiên cứu ảnh hưởng của điều kiện chuyển động đến vận tốc của ô tô trang bị ...
Nghiên cứu ảnh hưởng của điều kiện chuyển động đến vận tốc của ô tô trang bị ...
 
Nâng cao chất lượng hệ thống điều khiển vị trí động cơ bước sử dụng phươ...
Nâng cao chất lượng hệ thống điều khiển vị trí động cơ bước sử dụng phươ...Nâng cao chất lượng hệ thống điều khiển vị trí động cơ bước sử dụng phươ...
Nâng cao chất lượng hệ thống điều khiển vị trí động cơ bước sử dụng phươ...
 
Đề tài: Tính toán phân tán và ứng dụng, HAY
Đề tài: Tính toán phân tán và ứng dụng, HAYĐề tài: Tính toán phân tán và ứng dụng, HAY
Đề tài: Tính toán phân tán và ứng dụng, HAY
 
Luận Văn Xây Dựng Chương Trình Quản Lý Thủ Tục Tàu Biển.doc
Luận Văn Xây Dựng Chương Trình Quản Lý Thủ Tục Tàu Biển.docLuận Văn Xây Dựng Chương Trình Quản Lý Thủ Tục Tàu Biển.doc
Luận Văn Xây Dựng Chương Trình Quản Lý Thủ Tục Tàu Biển.doc
 

More from Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864

Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.docTạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.docDịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 

More from Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864 (20)

Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.docYếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
 
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.docTừ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
 
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
 
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
 
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
 
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
 
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
 
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.docTác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
 
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
 
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.docSong Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
 
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.docỨng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
 
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.docVai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
 
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
 
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.docThu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
 
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
 
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.docTạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
 

Recently uploaded

TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANGPHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANGhoinnhgtctat
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 

Recently uploaded (20)

TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANGPHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 

Hướng dẫn sử dụng MATLAB Simulink và ứng dụng điều khiển các hệ thống tự động.doc

  • 1. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 BỘ LAO ĐỘNG - THƯƠNG BINH & XÃ HỘI TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG ĐỒ ÁN MÔN HỌC Hướng dẫn sử dụng MATLAB & Simulink và ứng dụng điều khiển các hệ thống tự động Môn học: Đồồ án Điềồu khiể n 2 Họ và tên: MAI LÊ THÀNH NHÂN MSSV: 18007023 Giáo viên hướng dẫn: LÊ MINH THÀNH Vĩnh Long, tháng 12 năm 2021
  • 2. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN - Ý thức thực hiện: ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… - Nội dung thực hiện: ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… - Hình thức trình bài: ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… - Tổng hợp kết quả:  Tổ chức báo cáo trước hội đồng   Tổ chức chấm thuyết minh Vĩnh Long, Ngày … Tháng … Năm 2021 Người Hướng Dẫn
  • 3. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 LÊ MINH THÀNH 0 lOMoAR cPSD|2935381 LỜI CÁM ƠN Trong những lời đâu tiên báo cáo đồ án học phần này, em muốn gửi nhũng lời cám ơn và biết ơn trân thành nhất của mình tới tất cả những người đã hỗ trợ và giúp đỡ em cả về kiến thức và tinh thần trong quá trình thực hiện đồ án. Trước hết, em xin chân thành cám ơn thầy Lê Minh Thành, người đã trực tiếp hướng dẫn, nhận xét, tận tình chỉ bảo, giúp đỡ em trong suốt quá trình làm đồ án, để em có thể hoàn thiện đồ án một cách tốt nhất. Xin chân thành cảm ơn tới tất cả các thầy cô đã nhiệt tình dạy bảo, truyền đạt kiến thức cho chúng em trong suốt thời gian học tập dưới máy trường Đại Học Sư Phạm Kỹ Thuật Vĩnh Long, đặc biệt với các thầy cô tại Khoa Điện- Điện tử, các thầy cô đã luôn quan tâm , định hướng và tạo điều khiện thuận lợi cho em học tập, nghiên cứu và thực hiện đồ án. Em đã cố gắng để hoàn thiện Đồ án 2 một cách tốt nhất, nhưng do sự hạn chế về thơi gian và kiến thức nên không thể tránh khỏi những thiếu sót, rất mong sự đóng góp của thầy cô và các bạn. Xin chân thành cám ơn! Vĩnh Long, Ngày … Tháng … Năm 2021 Sinh Viên (Người thực hiện đồ án)
  • 4. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 MAI LÊ THÀNH NHÂN 1 lOMoAR cPSD|2935381 MỤC LỤC Trang NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN LỜI CÁM ƠN MỤC LỤC LỜI NÓI ĐẦU PHẦN 1: SƠ LƯỢC VỀ MATLAB ………………………………………………………………………………… I. Phần mềm Matlab ……………………………………………………………………………………….. II. Phạm vi ứng dụng …………………………………………………………………………………… III. Cài đặt phần mềm Matlab ………………………………………………………………………… PHẦN 2: GIỚI THIỆU VỀ MATLAB VÀ PHẠM VI ỨNG DỤNG………………………………………… CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ MATLAB……………………………………………………………… I. Giới thiệu về Matlab.…………………………………………………………………………………… 1.1 Khởi động và Giao Diện của Matlab…………………………………………………… 1.2 Cách thức sử dụng phần mềm Matlab …………………………………………………… 1.3. Các thức viết biểu thức, sử dụng biến, các phím chức năng …………………… II. Thao tác với các tệp trong Matlab ……………………………………………………………… 2.1. Các loại tệp được dùng trong Matlab…………………………………………………… 2.2. Các lệnh xử lý tệp .mat ……………………………………………………………… 2.3. Đường dẫn …………………………………………………………………………………… 2.4. Các lệnh xử lý m. file………………………………………………………………………… CHƯƠNG 2. XỬ LÝ DỮ LIỆU DẠNG MẢNG (MA TRẬN) TRONG MATLAB………………………………
  • 5. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 I. Các phương pháp tạo mảng dữ liệu ……………………………………………………………… 1.1 Phương pháp nhập trực tiếp từ bàn phím………………………………………… 1.2 Dùng toán tử " : "………………………………………………………………………… 1.3 Dùng hàm linspace và logspace:…………………………………………………… 1.4. Sử dụng các mảng chuẩn……………………………………………………………… 1.5. Mảng tạo từ tệp………………………………………………………………………… 2 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 6. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 II. Tham chiếu tới các phần tử của mảng, tạo các mảng con……………………………… 2.1 Nguyên tắc tham chiếu tới các phần tử của mảng………………………………………… 2.2 Các ứng dụng của việc truy cập các phần tử của mảng……………………………… III. Các phép tính thực hiện trên mảng……………………………………………………………… 3.1 Các phép toán thông thường……………………………………………………………… 3.2. Sử dụng các toán tử với dấu "."…………………………………………………… 3.3. Các hàm dùng trên mảng……………………………………………………………… CHƯƠNG 3. ĐỒ HỌA TRONG MATLAB………………………………………………………………………… 3.1. Những vấn đề chung………………………………………………………………………… 3.2. Đường cong biểu diễn mỗi quan hệ của các giá trị ………………………………………… 3.2.1. Đồ thị 2 chiều………………………………………………………………………… 3.2.2. Đồ thị 3 chiều (dạng lưới và bề mặt)…………………………………………………… 3.2. Tên của đồ thị…………………………………………………………………………………… 3.3. Các trục toạ độ…………………………………………………………………………………… 3.3.1. Điều khiển các trục toạ độ……………………………………………………………… 3.3.2. Các chú thích trên trục toạ độ…………………………………………………… 3.4. Các chú thích khác trên đồ thị……………………………………………………………… 3.5. Các thuộc tính của văn bản đồ hoạ……………………………………………………………… 3.5.1. Các thuộc tính của văn bản……………………………………………………………… 3.5.2. Các ký tự đặc biệt………………………………………………………………………… 3.5.3. Một số ví dụ………………………………………………………………………… 3.5.4. Các tuỳ chọn của lệnh plot……………………………………………………………… 3.6. Một số lệnh viết chữ khác………………………………………………………………………… 3.6.1 Lệnh gtext…………………………………………………………………………………… 3.6.2: Lệnh ginput………………………………………………………………………… 3.7. In ấn đồ thị …………………………………………………………………………………… CHƯƠNG 4. LẬP TRÌNH ỨNG DỤNG TRONG MATLAB…………………………………………………… I. Các loại dữ liệu dùng trong Matlab……………………………………………………………… 1. Dữ liệu số……………………………………………………………………………………
  • 7. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 3 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 8. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 2. Các phép tính trên số phức……………………………………………………………… 2.1 Nhập dữ liệu………………………………………………………………………… 2.2 các phép tính thực hiện trên số phức………………………………………… 2.3 Các hàm xử lý số phức…………………………………………………… 3. Dữ liệu dạng chuỗi……………………………………………………………… 3.1. Phép gán và tham chiếu đến dữ liệu dạng chuỗi…………………… 3.2. Tạo các mảng với phần tử là chuỗi………………………………………… 3.2.1 Tạo véc tơ cột các chuỗi:…………………………………………………… 3.2.2 Tạo mảng hoặc véc tơ hàng các chuỗi………………………………………… 3.3. Các hàm dùng trên chuỗi…………………………………………………… 3.3.1 Hàm chuyển đổi từ dữ liệu số sang chuỗi và ngược lại…………………… II. Nhập, xuất dữ liệu…………………………………………………………………………………… 1. Các lệnh nhập dữ liệu………………………………………………………………………… 1.1. Nhập từ bàn phím: Lệnh input…………………………………………………… 1.2. Nhập từ hộp thoại: Lệnh inputdlg………………………………………… 1.3. Nhập dữ liệu từ tệp: Lệnh fread…………………………………………………… 1.4. Lệnh fopen: ………………………………………………………………………… 1.5 Lệnh đóng tệp, fclose……………………………………………………………… 1.6 Lệnh fscanf: ………………………………………………………………………… 2. Các lệnh xuất dữ liệu………………………………………………………………………… 2.1. lệnh disp………………………………………………………………………… 2.2. Lệnh fprintf………………………………………………………………………… 2.3. Lệnh fwrite………………………………………………………………………… III. Các lệnh phân nhánh………………………………………………………………………… 1. Lệnh if…………………………………………………………………………………… 1.1 Cú pháp: Lệnh If……………………………………………………………… 1.2 Các toán tử logic……………………………………………………………… 1.3 Các hàm logíc……………………………………………………………… 2. Lệnh switch…………………………………………………………………………
  • 9. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 4 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 10. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 IV. Các vòng lặp…………………………………………………………………………………… 1. Vòng lặp xác định: for……………………………………………………………… 2. Vòng lặp không xác định: while…………………………………………………… V. Các chương trình con……………………………………………………………… 1.Phương pháp xây dựng các hàm và chương trình con……………………………… 2. Các đối số vào, ra………………………………………………………………………… CHƯƠNG 5. MÔ PHỎNG CÁC HỆ THỐNG ĐỘNG LỰC BẰNG SIMULINK……………………………… I. Giới thiệu về mô phỏng số ………………………………………………………………………… 1. Ý nghĩa và tầm quan trọng của mô phỏng số………………………………………… 2. Giới thiệu về các phần mềm mô phỏng ………………………………………… II. Trình tự thực hiện một quá trình mô phỏng.…………………………………………………… 1. Xây dựng cấu trúc mô phỏng: Sơ đồ khối………………………………………… 2. Xác lập giá trị các thông số của mô hình………………………………………… 3. Xác lập các điều kiện đầu…………………………………………………………… 4. Các kích động đưa vào hệ thống…………………………………………………… 5. Lựa chọn cách thức xuất kết quả…………………………………………………… 6. Điểu khiển việc thực thi quá trình mô phỏng.………………………………………… III. Sử dụng SIMULINK trong mô phỏng các hệ động lực………………………………………… 1. Các thao tác cơ bản………………………………………………………………………… 2. Chức năng và thao tác trên các khối thông dụng……………………………… 2.1. Nhóm các khối xử lý tín hiệu liên tục………………………………………… 2.2. Nhóm các khối thực hiện việc gọi hàm từ Matlab và hàm truyền………… 2.3. Nhóm các khối thực hiện thao tác toán học (Math)…………………… 2.4. Nhóm các khối xử lý tín hiệu…………………………………………………… 2.5. Nhóm các khối thực hiện chức năng xuất kết quả (Sinks)…………………… 2.6. Nhóm các khối thực hiện chức năng nhập dữ liệu (Sources)………… PHẦN 3: ỨNG DỤNG……………………………………………………………………………………………… ỨNG DỤNG SIMULINK ĐIỀU KHIỂN HỆ THỐNG LÒ NHIỆT………………………………………… 1.ỨNG DỤNG SIMULINK ĐIỀU KHIỂN HỆ THỐNG LÒ NHIỆT ………………………………
  • 11. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 5 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 12. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 1.1. Mục đích ………………………………………………………………………… 1.2. Giới thiệu Simulink ……………………………………………………… 1.2.1. Các khối sử dụng trong bài thí nghiệm …………………………………… 1.2.2 Các bước để xây dựng ứng dụng mới…………………………………… 2.Hàm truyền lò điện và mô hình của Ziegler-Nichols…………………………………… 2.1 Hàm truyền lò điện ………………………………………………………………………… 2.2 Mô hình của Ziegler-Nichols ……………………………………………………… 2.3. Thí nghiệm ………………………………………………………………………… 2.3.1. Chuẩn bị thí nghiệm ……………………………………………………… 2.3.2. Khảo sát hệ hở lò nhiệt, nhận dạng hệ thống theo mô hình Ziegler – Nichols. ….. 2.3.3. Khảo sát mô hình điều khiển nhiệt độ ON – OFF. …………………………………… 2.4 Khảo sát mô hình điều khiển nhiệt độ PID (phương pháp Ziegler – Nichols). ………………… KIỂM SOÁT MỰC NƯỚC HỆ BỒN ĐƠN DÙNG BỘ ĐIỀU KHIỂN PID SỐ……………………………… 1.Giới Thiệu…………………………………………………………………………………………… 2.Nội dung……………………………………………………………………………………………… 2.1 Mô hình toán của hệ bồn đơn ……………………………………………………………… 2.2 Hệ thống điều khiển rời rạc……………………………………………………………… 2.3. Mô phỏng ……………………………………………………………………………… 2.4. Điều khiển hệ bồn đơn dùng bộ điều khiển PID……………………………………… 2.5. Kết quả thực tế ……………………………………………………………………… 3. Kết luận………………………………………………………………………………………………
  • 13. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 6 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 14. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 PHẦN 1: SƠ LƯỢC VỀ MATLAB I. Phần mềm Matlab MATLAB là phần mềm ứng dụng của tập đoàn Mathworks (Mỹ). Đây là phần mềm xử lý toán học rất mạnh, thông qua việc thực hiện các phép toán trên ma trận (MAT - Matrix), được các chuyên gia toán học và máy tính đã lập trình các thuật giải thông qua các thư viện công cụ xử lý toán học (LAB - Laboratory). Phần mềm cũng cung cấp nhiều modulee khác nhau, phục vụ cho các lĩnh vực, các chuyên ngành cụ thể. - Định hướng của phần mềm Matlab là dùng cho những cán bộ nghiên cứu, thiết kế và lập trình. - Đối với ngôn ngữ lập trình thông thường để giải bài toán cơ học người ta phải thực hiện qua các bước sau: +Xây dựng mô hình cơ học → Xây dựng mô hình toán học → áp dụng phương pháp toán +Xây dựng thuật toán → Lập trình - Trong Matlab ta không cần quan tâm nhiều đến việc sử dụng phương pháp toán II. Phạm vi ứng dụng Matlab đóng vai trò như một công cụ tính toán mạnh cho phép nhanh chóng tính ra trị số của biểu thức phức tạp và lưu giữ trị số của biểu thức vào bộ nhớ của máy tính. Malab cung cấp các công cụ xử lý các mảng dữ liệu: véc tơ và ma trận, cho phép tính toán ra kết quả của các biểu thức với dữ liệu đầu vào là các véc tơ. Matlab cung cấp các hàm để giải quyết các vấn đề thường gặp trong kỹ thuật như: +Xử lý các đa thức (nhân, chia, tìm điểm 0 (nghiệm) của đa thức). + Giải các phương trình tổng quát. + Giải hệ phương trình tuyến tính. + Giải hệ phương trình vi phân. + Xử lý các tín hiệu đo bằng phép khai triển furier nhanh. + Các phép nội suy để xử lý dữ liệu trong bảng. + Thuật giải bài toán tối ưu. + Phép tích phân vi phân. + Công cụ đồ hoạ . Mat lab cung cấp công cụ lập trình để xây dựng các chương trình ứng dụng. Ngoài ra còn có các module ứng dụng riêng phục vụ cho nghiên cứu sâu như: + Giải các phương trình vi phân đạo hàm riêng phục vụ để giải quyết các bài toán bền dùng phương pháp phần tử hữu hạn + Simulink cho phép mô phỏng các cơ cấu máy + Stateflow: để nghiên cứu các dòng chảy khí hay chất lỏng + Fuzzy logic: nghiên cứu lôgic mờ + …v.v III. Cài đặt phần mềm Matlab
  • 15. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 7 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 16. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 Sau khi tải về, bạn tiến hành giải nén tệp tin với WinRAR phiên bản mới nhất. Với MATLAB 2021, quy trình cài đặt tương tự như MATLAB 2020, bạn tiến hành thực hiện các bước sau đây. Bước 1: Gán File iso MATLABv9.10R2021a_Win64.iso vào ổ đĩa ảo (nhấn chuột phải vào file > Mount (Gán)) Bước 2: Chạy setup.exe > Advanced Options > I have a File Installation Key Bước 3: Nhập Enter File Installation Key 09806-07443-53955-64350-21751-41297 Bước 4:Select License File: license.lic hoặc license_standalone.lic trong thư mục “MATLAB Licenses” đã tải về. Chọn các thành phần bạn cần cài đặt: Select products, bạn cần - 32GB ổ cứng để cài toàn bộ các thành phần. - 3GB nếu chỉ cài “MATLAB” Bước 5: Chọn Add shortcut to desktop để thêm lõi tắt MATLAB ra Desktop. Bước 6: Chờ cho quá trình cài đặt hoàn tất. Bước 7: Sau khi cài đặt thành công, bạn copy file “libmwlmgrimpl.dll” trong “MATLAB Licenses” tới thư mục cài đặt MATLAB <matlabfolder>binwin64matlab_st artup_pluginslmgrimpl thay thế file cũ để hoàn tất kích hoạt.
  • 17. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 8 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 18. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 PHẦN 2: GIỚI THIỆU VỀ MATLAB VÀ PHẠM VI ỨNG DỤNG
  • 19. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 9 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 20. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ MATLAB I. Giới thiệu về Matlab. 1.1 Khởi động và Giao Diện của Matlab Để khởi động Matlab ta nháy đúp chuột vào biểu tượng của Matlab, trên màn hình sẽ hiện ra cửa sổ giao diện của Matlab Menu Toolbar ( Menu (Thanh Công Cụ) Bar lệnh) Cửa sổ mục chứ a thư hiện thời Command Cửa sổ l ệnh) Window Cửa sổ lư u trữ các lệnh đã thực hiện ( Hình 1: Giao diện Matlap) ✻ Trên cửa sổ giao diện chính có một số menu, toolbar, cũng như một số cửa sổ nhỏ hơn: Menu bar: Chứa các cây thư mục chính, tương tự như một số phần mềm khác chạy trong môi trường Windows, ngoài ra có một số lệnh thực hiện riêng của Matlab. Toolbar (thanh công cụ): chứa các biểu tượng (icon) thực hiện một số chức năng thông thường (Open, New, Save, Cut, Paste...) và riêng biệt (Simulink, Guide, Help...). Cửa sổ lệnh (Command window): đây là cửa sổ quan trọng nhất, có thể cho phép thực hiện ngay các phép toán, hoặc liên kết với các cửa sổ khác. 10
  • 21. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Một số cửa sổ phụ thực hiện các chức năng riêng (thông báo thư mục hiện thời, thông báo các dòng lệnh đã thực hiện, tên biến đang có,...) ✻ Cửa sổ lệnh: Cửa sổ lệnh là nơi cho phép nhập các lệnh thực hiện từng phép toán, các chương trình con, cũng như kết nối với các module ứng dụng trong Matlab. Trên cửa sổ giao diện chính luôn có dấu nhắc ">>": người sử dụng có thể nhập trực tiếp tên lệnh vào đó, kết thúc gõ Enter ( ) để thực lệnh Nếu 1 câu lệnh dài, để xuống dòng thì sử dụng 3 dấu chấm "..." trước khi gõ Enter. Nếu trước 1 dòng lệnh có ký tự "%" thì dòng lệnh đó chỉ là chú thích, Matlab không thực hiện lệnh trong dòng soạn thảo đó. Khi thực hiện xong 1 lệnh đúng (không có lỗi), Matlab sẽ đưa ngay kết quả của lệnh đó nếu cuối câu lệnh không có dấu ";". Kết quả sẽ được trả lời sau dòng ans. Lệnh clc cho phép xóa toàn bộ các lệnh đã thực hiện trước đó, trả về 1 trang cửa sổ trắng. Lệnh clear all cho phép xóa toàn bộ lưu trữ các biến có trong bộ nhớ hiện thời của máy tính. Gõ help <tên lệnh>, trên cửa sổ sẽ hiện cho cách thức sử dụng lệnh đó. 1.2 Cách thức sử dụng phần mềm Matlab a. Tính toán trực tiếp Có hai cách thực hiện: Gõ trực tiếp biểu thức hoặc các lệnh vào trong cửa sổ lệnh, kết quả sẽ hiện ra màn hình sau khi ấn Enter. Đưa các câu lệnh, biểu thức vào trong tệp văn bản script file (ghi dưới dạng mã ASCII) tệp này cần có phần mở rộng là.m (nên còn được gọi là m file). khi cần thực hiện việc tính toán ta chỉ cần gọi tệp này vào Matlab. Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 22. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 b. Lập trình ứng dụng Chương trình cần được ghi vào trong tệp m.file khi cần chạy chương trình ta gọi vào môi trường Matlab. Để kiểm nghiệm từng dòng lệnh có thể đưa thử trực tiếp trong cửa sổ của Matlab. Để biên tập các tệp chương trình ta có thể dùng một trình biên tập bất kỳ hoặc dùng trực tiếp chương trình Matlab-Editor của Matlab với các tiện ích hỗ trợ cho lập trinh. 1.3. Các thức viết biểu thức, sử dụng biến, các phím chức năng a. Tính toán biểu thức số: Các biểu thức số có thể nhập trực tiếp vào cửa sổ lệnh của Matlab, sau khi ấn Enter kết quả của biểu thức sẽ hiện ra màn hình. Các phép tính: Cộng +, Trừ -, Nhân *, Chia /, Luỹ thừa ^ và dấu ngoặc ưu tiên phép tinh. Các dòng lệnh dài có thể được phân ra nhiều dòng (bằng các ấn Enter),tuy nhiên cuối mỗi dòng (trừ dòng cuối cùng) ta phải thêm dấu... b. Sử dụng các hàm, hằng và biến Các hàm: abs, sqrt, sin, cos, tan, cot, exp, log, log10, asin, acos, atan, acot Các hằng số đã định nghĩa: realmax, eps,realmin, pi, inf Khi viết biểu thức, kết quả tính toán sẽ được lưu trữ vào trong biến có tên mặc định là ans. Thông thường để lưu kết quả tính ta thường dùng phép gán với cú pháp sau: <tên biến> = <biểu thức> hoặc <tên biến> = <biểu thức>: Trong đó: Tên biến do người dùng đặt, không có khoảng trống và phân biệt chữ cái hoa, thường. ở cú pháp 1: kết quả tính của biểu thức sẽ hiện ra màn hình và lưu trữ dưới tên biến. ở cú pháp 2: kết quả không hiện ra màn hình . Để kiểm tra giá trị hiện thời của biến ta chỉ cần gõ tên biến. Trong biểu thức thay cho việc nhập giá trị cụ thể ta có thể gõ tên biến. Để kiểm tra các biến tồn tại trong môi trường Matlab ta gõ who, hoặc whos, hay dùng menu FileShow Work Space Để xoá biến khỏi mô trường ta có thể dùng các lệnh: clear, clear , <tên biến 1>,<tên biến 2>... c. Các phím chức năng Để biên tập các dòng lệnh ta dùng các phím mũi tên hoặc dùng chức năng cắt dán Phím xoá lùi, phím del, end, pageup, pagedown.. Các phím tắt thông thường khác như ở các phần mềm ứng dụng trong Windows: Ctrl + C; Ctrl + V; Ctrl + N, Ctrl + O, Ctrl + X,... d. Quy định việc hiển thị kết quả số ra màn hình Dùng lệnh format: Các chế độ chính sau đây: FORMAT Chế độ mặc định có ý nghĩa như FORMAT SHORT FORMAT SHORT Ghi chế độ thập phân với 5 chữ số sau dấu phẩy FORMAT LONG Ghi chế độ thập phân với 15 chữ số sau dấu phẩy FORMAT SHORT E Chế độ ghi số e với 5 chữ số thập phân.
  • 23. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 11 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 24. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 FORMAT LONG E Chế độ ghi số e với 15 chữ số thập phân.. FORMAT + Sử dụng dấu +, - ghi trước số II. Thao tác với các tệp trong Matlab 2.1. Các loại tệp được dùng trong Matlab Trong Matlab, ta thường dùng một số loại tệp chính: a. Tệp *.m (m. file): Tệp này có nhiều chức năng: Có thể chứa các biểu thức của Matlab (script file) để gọi vào môi trường của Matlab khi cần thiết Là chương trình ứng dụng dùng ngôn ngữ lập trình của Matlab Là một hàm mới của Matlab do người dùng định nghĩa M. file được lưu trữ dưới mã ASCII b. Tệp *.mat (có phần mở rộng là mat) dùng để ghi lại các biến có trong môi trường làm việc của Matlab.Tệp này được ghi dưới mã nhị phân. c. Một số dạng tệp khác: các dạng tệp đặc biệt, riêng cho các module ứng dụng trong Matlab (VD: *.fig: đồ thị trong Matlab; *.mdl: file mô phỏng trong Simulink...) 2.2. Các lệnh xử lý tệp .mat a.Lệnh Save hoặc File/Save Work Space As Cú pháp: Save('filename'): ghi các biến có trong môi trường làm việc của Matlab vào tệp Save('filename', 'biến 1', 'biến 2',...): ghi các , ,... vào tệp Nếu dùng menu lệnh: File/Save Work Space as máy sẽ cho hiện ra bảng chọn Save as cho phép ta đặt tên tệp, vị trí thư mục sẽ lưu trữ tệp ghi các biến trong môi trường làm việc của Matlab b. Lệnh Load hoặc FileLoad Work Space Lệnh Load('Filename') sẽ tải các biến lưu trữ trong tệp <Filename> vào môi trường làm việc của Matlab FileLoad Work Space: Sẽ hiện ra hộp thoại Open cho phép ta tìm kiếm và mở tệp để tải các biến lưu trữ trong nó vào môi trường làm việc của Matlab. 2.3. Đường dẫn Thông thường để làm việc với các tệp (ghi hoặc tải các tệp) ta cần chỉ rõ đường dẫn đến tệp cần thao tác. Trong môi trường làm việc của Matlab đã quy định trước một số đường dẫn đến thư mục của Matlab, nếu các tệp đưa ra không có đường dẫn, máy sẽ tự tìm kiếm trong các thư mục này, các thư mục này được gọi là "thư mục mặc định". Để thao tác với các thư mục mặc định của Matlab ta dùng lệnh: path, addpath, rmpath hoặc dùng menu lệnh FileSet Path a. Lệnh path: Cú pháp: path cho hiện ra danh sách các đường dẫn đến thư mục mặc định của Matlab b. Lệnh addpath Cú pháp: addpath('đường dẫn 1', 'đường dẫn 2',...): Thêm các đường dẫn thường trực vào môi trường của Matlab c. Lệnh rmpath Cú pháp rmpath('đường dẫn 1', 'đường dẫn 2'..): Loại bỏ các đường dẫn chỉ định khỏi môi trường của Matlab d. Sử dụng menu lệnh: FileSet Path
  • 25. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 12 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 26. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 Lệnh FileSet Path Cho hiện ra hộp thoại thể hiện danh sách các đường dẫn thường trực đồng thời giúp người dùng thực hiện việc thêm vào, bớt đi các đường dẫn thường trực một cách trực quan. *Để thêm vào đường dẫn thường trực ta thực hiện các thao tác sau: Nháy chuột vào Path/ Add to Path, Nháy chuột vào nút... trong hộp thoại vừa mở ra để tìm đến thư mục lựa chọn Nháy vào OK Vào Menu FileSave Path Vào Menu FileExit Browser để thoát khỏi hộp thoại *Để loại bỏ một đường dẫn thường trực ta thực hiện các bước sau: Nháy chuột vào thư mục cần loại bỏ trong danh sách các thư mục mặc định của Matlab Nháy chuột vào PathRemove From path Vào Menu FileExit Browser để thoát khỏi hộp thoại Với các phiên bản Matlab đời cao (từ 6.5 trở lên) thì nếu khi chạy m file từ một thư mục (đường dẫn mới) thì Matlab sẽ hỏi trực tiếp người sử dụng có đưa đường dẫnnày vào hiện thời hay không, do đó giảm bớt công việc đưa đường dẫn vào cụ thể như trên trong mỗi lần sử dụng (khi thoát khỏi Matlab, đường dẫn cũng tự động được xóa khỏi bộ nhớ) 2.4. Các lệnh xử lý m. file Để tạo ra, biên tập và sửa chữa các tệp m. file ta có thể sử dụng bất kỳ một trình biên tập nào có thể tạo ra tệp mã ASCII, tuy nhiên Matlab cung cấp một trình soạn thảo hết sức tiện lợi đó là chương trình Matlab Editor. Để tạo file mới từ cửa sổ của Matlab ta gọi: File/New/M.file, Hoặc nháy vào biểu tượng New trên thanh công cụ Để mở tệp đã có ra để hiệu chỉnh, ta nháy chuột vào biểu tượng Open hoặc chọn File/Open, Máy sẽ hiện ra hộp thoại Open cho ta tìm đến tệp cần mở và gọi Matlab Editor ra để đưa tệp cần mở vào biên tập
  • 27. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 13 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 28. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 CHƯƠNG 2. XỬ LÝ DỮ LIỆU DẠNG MẢNG (MA TRẬN) TRONG MATLAB *Một số khái niệm cơ bản: - Số: là ma trận có kích thước 1x1 (1 hàng, 1 cột) - Véctơ: là ma trận có số hàng, hoặc số cột bằng 1 + Véctơ hàng: ma trận có số hàng bằng 1 + Véctơ cột: ma trận có số cột bằng 1 - Ma trận số (mảng số): là ma trận có kích thước mxn (m hàng, n cột) trong đó các phần tử của ma trận đều là dữ liệu dạng số. - Ma trận khối (mảng khối): là ma trận có các phần tử dạng dữ liệu chuỗi ký tự. I. Các phương pháp tạo mảng dữ liệu 1.1 Phương pháp nhập trực tiếp từ bàn phím Các nguyên tắc chung Các phần tử của mảng được bao trong dấu ngoặc vuông: [ ] Các phần tử trên một hàng được cách nhau bằng dấu cách Các hàng được phân cách bằng dấu ";" hoặc dấu "Enter" Ví dụ: Nếu ta gõ: C=[3.5 4.3 5.0] , ta sẽ nhận được véc tơ hàng có ba phần tử là 3.5, 4.3 và 5.0 và trên màn hình của Matlab sẽ hiện ra: C = 3.5000 4.3000 5.0000 Nếu ta nhập vào: V=[3.5; 4.3; 5.0], hoặc V=[3.5000 4.3000 5.0000] Ta sẽ nhận được véc tơ cột có ba phần tử là 3.5, 4.3 và 5.0 và trên màn hình của Matlab sẽ hiện ra: V = 3.5000 4.3000 5.0000 Câu lệnh: M=[134;537;214] Sẽ cho kết quả ma trận 3 hàng, 3 cột M = 1 3 4 5 3 7 2 1 4 Chú ý: Các phần tử trong mỗi hàng khi nhập vào phải như nhau 1.2 Dùng toán tử " : " Cú pháp: <Tên biến>=<Begin>: <Step>: <Limit> Sẽ tạo ra véc tơ hàng có phần tử đầu tiên là giá trị <Begin>, gia số giữa các phần tử là <Step>, giá trị phần tử cuối cùng không vượt quá <Limit> Chú ý: Nếu bỏ qua trị số của <Step>, máy sẽ nhận gia số =1 Ví dụ: Nếu nhập vào sau dấu nhắc dòng lệnh Y=1:2:10 Ta nhận được véc tơ hàng: Y = 13579 Nếu nhập vào sau dấu nhắc dòng lệnh: Y=1:9 Ta nhận được véc tơ: Y = 123456789 1.3 Dùng hàm linspace và logspace: Cú pháp: <tên biến>=linspace(<MinVal>, <MaxVal>, <Num>) Hàm sẽ tạo ra véc tơ hàng có số phần tử bằng <Num>, gia số giữa các phần tử như nhau và bằng (MaxVal-MinVal)/(Num-1), phần
  • 29. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 14 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 30. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 tử đầu tiên có giá trị bằng MinVal, phần tử cuối cùng có giá trị bằng MaxVal Ví dụ: Dùng hàm: linspace(1,11,6) Ta nhận được véc tơ ans = 1357911 Ứng dụng: Hàm linspace rất tiện dụng trong việc xác định véc tơ các giá trị trên trục hoành khi vẽ đồ thị Hàm logspace Có cú pháp tương tự như hàm linspace, tuy nhiên các phần tử biến thiên theo quy luật hàm số mũ với gia số của các số mũ tăng đều và bằng: (MaxVal-MinVal)/(Num-1). Ví dụ: logspace(1,6,6) Sẽ cho kết quả: ans = 10 100 1000 10000 100000 1000000 1.4 Sử dụng các mảng chuẩn 1.4.1 Ma trận có các phần tử bằng 0 Ứng dụng: Ma trận có các phần tử bằng 0 thường dùng trong các trường hợp sau: Dùng làm ma trận mồi trong phép tính tổng nhiều ma trận (dùng vòng lặp) Dùng để tạo ma trận có nhiều phần tử bằng 0 rất thường gặp trong kỹ thuật Sử dụng hàm zeros: Cú pháp: <Tên biến>=zeros(<RowNum>, <ColumnNum>) Tạo ra ma trận với các phần tử 0, có số hàng là <RowNum>, số cột là <ColumnNum>. Ví dụ: Hàm M=zeros(2,3) Sẽ cho kết quả M = 0 0 0 0 0 0 1.4.2. Ma trận có các phần tử bằng 1 Ứng dụng: Ma trận có các phần tử bằng 1 thường dùng trong các trường hợp sau: Dùng làm ma trận mồi trong phép tính tích các phần tử tương ứng của nhiều ma trận (dùng vòng lặp) Dùng để tạo ma trận có các phần tử bằng nhau (dùng khi thực hiện phép tính cộng hoặc trừ từng phần tử của ma trận với cùng một số). Sử dụng hàm ones: Cú pháp: <Tên biến>=ones (<RowNum>, <ColumnNum>) Tạo ra ma trận với các phần tử 1, có số hàng là <RowNum>, số cột là <ColumnNum>. Ví dụ: M=ones(3,4) Sẽ cho kết quả M = 1111 1111 1111 M=3.5*ones(3,2) Sẽ cho kết quả M = 3.5 3.5 3.5 3.5 3.5 3.5 1.4.3. Ma trận đơn vị Để tạo ma trận đơn vị, ta dùng hàm eye; Cú pháp: <Tên biến>=eye(<RowNum>, <ColumnNum>); hoặc <Tên biến>=eye(<Size>) Cú pháp thứ nhất sẽ tạo ra ma trận đơn vị chữ nhật, có số hàng bằng<RowNum> và số cột bằng <ColumnNum>. Cú pháp thứ hai sẽ tạo ra ma trận đơn vị có số hàng bằng số cột bằng <Size> Ví dụ: I=eye(3,4) Sẽ tạo ra ma trận I = 1000 0100 0010 I=eye(4) Sẽ tạo ra ma trận I = 1000 0100
  • 31. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 15 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 32. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 0010 0001 1.4.4. Tạo các mảng đường chéo ứng dụng Mảng đường chéo thường gặp ở các ma trận độ cứng và ma trận khối lượng trong tính toán bền Dùng hàm diag Cú pháp: <tên biến>=diag(v) <tên biến>=diag(v,n) ở đây: V là một véc tơ hàng, hoặc cột. hoặc có thể là ma trận n là số nguyên chỉ đường chéo nào của ma trận sẽ đặt các phần tử của véc tơ V Nếu V là một véc tơ, hàm sẽ cho kết quả là ma trận vuông có các phần tử trên đường chéo chỉ định là các phần tử của véc tơ V Nếu V là một ma trận, sẽ trả kết quả là véc tơ cột của các phần tử nằm trên đường chéo của ma trận V Nếu không chỉ ra n, các phần tử của V sẽ nằm trên đường chéo chính Ví dụ: V=[1 3 5 3]; M=diag(V) Sẽ cho kết quả M = 1000 0300 0050 0003 M=diag(V,1) Sẽ cho kết quả M = 01000 00300 00050 00003 00000 M=diag(V,-1) Cho kết quả M = 00000 10000 03000 00500 00030 V=[3 4 6;5 6 7;8 9 6]; M=diag(V) Cho kết quả: M = 3 6 6 1.4.5. Mảng các số ngẫu nhiên ứng dụng: Mảng các số ngẫu nhiên dùng nhiều trong đồ hoạ hoặc tạo các nhiễu trong mô phỏng và sử lý số liêụ thực nghiệm Sử dụng lệnh rand: <tên biến>= rand(số hàng, số cột) Tạo ra mảng các số ngẫu nhiên với số hàng, cột chỉ định 1.5 Mảng tạo từ tệp Nếu ta ghi các mảng trong một tệp dạng m.file (theo đúng quy cách tạo mảng trong Matlab như trình bày ở trên), ta hoàn toàn có thể gọi mảng vào môi trường làm việc của Matlab bằng cách nhập tên của m.file sau dấu nhắc của Matlab và ấn Enter. Điều này rất thuận tiện khi ta dữ liệu dạng mảng được xuất ra từ một chương trình tính toán khác. II. Tham chiếu tới các phần tử của mảng, tạo các mảng con 2.1 Nguyên tắc tham chiếu tới các phần tử của mảng Để tham chiếu đến một phần tử của mảng, ta cần chỉ ra chỉ số hàng và cột của phần tử (đặt trong dấu ngoặc đơn) Để tham chiếu đến một nhóm các phần tử của mảng, thay cho việc chỉ ra chính xác chỉ số của phần tử như trên ta phải chỉ ra được mảng các chỉ số của các phần tử cần tham chiếu tới Dấu: để chỉ toàn bộ các chỉ số của hàng và cột Từ khoá end là chỉ số cuối cùng của hàng hoặc cột của mảng Ví dụ: để tham chiếu đến phần tử nằm ở hàng số 2 và cột số 3 của ma trận M ta viết M(2,3) M1= M([1 2],[3 2]) sẽ cho ta một ma trận mới: M1 = M1,3 M2,3 M1,2 M2,2
  • 33. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 16 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 34. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 Ví dụ: M1=M(:,1) sẽ cho ra véc tơ bao gồm các phần tử trên cột thứ nhất của ma trận M M1=M(2,:) sẽ cho ra véc tơ bao gồm các phần tử trên hàng thứ hai của ma trận M Ví dụ: M1=M([2 4],[3:end]) Sẽ tạo ra ma trận M1 từ hàng 2 và 4 của ma trận M, mỗi hàng lấy ra từ phần tử thứ 3 đến phần tử cuối cùng 2.2 Các ứng dụng của việc truy cập các phần tử của mảng 2.2.1. Lấy các phần tử của mảng ra để tính toán Ví dụ: S=V(2)^2+V(5)^2 Sẽ tính tổng bình phương các giá trị của phần tử thứ 2 và thứ 5 của véc tơ V S=M(1,2)-M(2,3) Sẽ tìm ra hiệu của hai phần tử ở hàng 1 cột 2 và hàng 2 cột 3 của ma trận M 2.2.2. Thay đổi giá trị của từng phần tử của mảng Ví dụ: Để tạo ra ma trận M =[ 1 0 0 ], 00 3 0 0 0 ta thực hiện theo các bước sau: - Tạo ma trận với các phần tử 0: M=zeros(3,3); - Sau đó gán lại các phần tử khác 0 của ma trận: M(1,1)=1;M(3,2)=3; 2.2.3. Tạo các mảng con từ mảng cơ sở Ví dụ: Để lấy ra hàng đầu tiên của ma trận M ta dùng lệnh: V=M(1,:) Để tạo ra véc tơ mới bằng cách bỏ đi phần tử đầu tiên của véc tơ V, ta dùng lệnh: V1=V(2:end); 2.2.4. Loại bỏ bớt các phần tử của mảng: Để loại bỏ các phần tử khỏi mảng ta chỉ cần gán giá trị của các phần tử cần loại trị số rỗng: "[ ]" Ví dụ: nếu ta có ma trận M= 2 3 4 5 3 7 3 2 8 Sau khi dùng phép gán: M(:,1)=[ ] Ta nhận được: M = 3 4 3 7 2 8 2.2.5. Hợp mảng mới từ các mảng thành phần (nối mảng) Để tạo mảng từ các mảng thành phần ta dùng dấu "[ ]" bên trong cần chỉ rõ các phần tử đưa vào mảng, nếu các phần tử nằm trên 1 hàng, chúng cách nhau bằn dấu cách (bước trống), để xuống dòng ta dùng dấu ; Ví dụ: Nếu ta có 2 véc tơ: V1=[3 5 7 9], V2=[4 6 8 2 7 3] Khi dùng lệnh: V=[V1(2:end) V2([1 3 4])] Ta sẽ nhận được: V = 579482 III. Các phép tính thực hiện trên mảng 3.1 Các phép toán thông thường 3.1.1: Phép cộng Cú pháp: M=M1 + M2 + M3+... Ý nghĩa: tạo ra mảng mới M có cùng kích thước với mảng M1, M2..., các phần tử của mảng mới sẽ bằng tổng từng phần tử tương ứng của các mảng thành phần Điều kiện: Các mảng M1, M2,... phải có cùng kích thước. 3.1.2: Phép trừ Cú pháp: M=M1 - M2 - M3-...
  • 35. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 17 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 36. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 ý + Cộng (không có toán tử.+) - Trừ (không có toán tử.-) .* Nhân từng phần tử ./ Chia từng phần tử .^ Luỹ thừa từng phần tử ' Phép chuyển vị nghĩa: Tạo ra mảng M với các phần tử M(i,j)=M1(i,j)-M2(i,j)-M3(i,j)-.. Điều kiện: Các mảng M1, M2,... phải có cùng kích thước. 3.1.3. Phép nhân Cú pháp: M=A*B ý nghĩa: Nếu A là ma trận có kích thước (i x k) và B là ma trận có kích thước (k x j), ta sẽ nhận được ma trận M có kích thước là (i x j) với: Điều kiện: Số cột của ma trận A phải bằng số hàng của ma trận B. 3.1.4 Phép luỹ thừa Cú pháp: M=A^n, trong đó n là số nguyên dương Có kết quả như là phép nhân n ma trận A với nhau: Điều kiện: Các ma trận A phải là ma trận vuông 3.1.5 Phép chia hai ma trận Cú pháp: M=A/B ý nghĩa: Phép chia ma trận hoàn toàn giống như phép nhân với ma trận nghịch đảo: M=A/B M=A*B-1 Điều kiện: Các ma trận A, B phải là các ma trận vuông cùng kích thước 3.2. Sử dụng các toán tử với dấu "." 3.2.1. Ý nghĩa: Các toán tử có dấu "." (xem bảng dưới ) sẽ cho phép thao thác trên từng phần tử của mảng 3.2.2 Các ví dụ: VD1: Xác định véc tơ S, với các phần tử được lOMoAR cPSD|2935381 xác định bằng quan hệ: S(i)=Y(i+1)-2*Y(i); i=1 đến n-1, với Y =[3.5 6.2 7.0 5.4 6.2] ở đây ta sử dụng biểu thức véc tơ: S=Y(2:end)-2*Y(1:end-1) VD2: tính giá trị của véc tơ V mà các phần tử của nó được xác định bằng biểu thức: V(i)=2*Y(i)-b, với Y =[3.5 6.2 7.0 5.4 6.2], b=1.5 ở đây ta sử dụng biểu thức véc tơ: S=2*Y-b*ones(1,5) VD3: giải hệ phương trình: {4 X 1+7 X3=5 3 X1+5 X2−4 X3= 12 2 X 1+5 X 2+ X3=4 Ta tạo ra các ma trận: M=[4 0 7; 3 5 -4;2 5 1]; Y=[5;12;4] nghiệm của hệ được xác định bằng biểu thức: X=eye(3,3)/M*Y X = 3.0000 -0.2000 1.0000 3.3. Các hàm dùng trên mảng 3.3.1 Các hàm dùng chung: Tất cả các hàm tính toán trên dữ liệu số đều có thể thực hiện trên dữ liệu mảng, và quả là mảng có cùng kích cỡ Ví dụ: Để vẽ đồ thị của hàm số: Y = sin2 ( X ) +2 cos( 2 X ) ; X=0 1+cos2 ( X ) đến Pi Ta sử dụng các lệnh sau: X=linspace(0,pi,20); Y=(sin(X).^2+2*cos(2*X))./ (ones(1,20)+cos(X).^2); plot(X,Y) 3.2 Các hàm dùng cho việc xử lý dữ liệu a. Hàm size cú pháp:
  • 37. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 18 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 38. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 S=size(A): đưa ra véc tơ hàng chỉ số lượng hàng và cột của ma trận [r,c]=size(A) gán số hàng cho r, số cột cho c 4 0 7 Ví dụ: Nếu ta có ma trận M = 3 5 − 4 2 5 1 Nếu gọi lệnh: S=size(M), ta nhận được: S = 3 3 b. Hàm length cú pháp: S=length(V): đưa ra kết quả là 1 giá trị số bằng tổng số phần tử có trong vectơ V c. Hàm min, max Cú pháp: min(A) max(A) Nếu A là một véc tơ, hàm sẽ trả kết quả là giá trị min (max) của các phần tử trong véctơ Nếu A là một ma trận, hàm sẽ trả kết quả là một véc tơ hàng với các phần tử là min (max) của các phần tử trong mỗi cột trong ma trận A d. Hàm sum Cú pháp: sum(A) Nếu A là một véc tơ, hàm sẽ trả kết quả là tổng các phần tử của véc tơ Nếu A là một ma trận, hàm sẽ trả kết quả là một véc tơ hàng với các phần tử là tổng các phần tử của mỗi cột trong ma trận A e. Hàm cumsum Cú pháp: B = cumsum(A) B = cumsum(A,dim) Mô tả: Nếu A là một véc tơ, B = cumsum(A) sẽ đưa ra kết quả là véc tơ B có các phần tử là tổng tích luỹ của các phần tử của véc tơ A: được xác định bằng công thức: Nếu A là một ma trận, cumsum(A) Sẽ đưa ra kết quả là ma trận có cùng kích cỡ với A và các phần tử của nó tương ứng là tổng tích luỹ của các phần tử trên từng cột của ma trận A. B = cumsum(A,dim) Sẽ đưa ra kết quả là ma trận B có cùng kích thước với A, các phần tử của véc tơ B sẽ là tổng tích luỹ của các phần tử dọc theo hàng hoặc cột của ma trận A, tuỳ thuộc vào trị số của <dim>. Ví dụ cumsum(A,1) sẽ tính dọc theo các cột, cumsum(A,2) sẽ tính dọc theo các hàng. Thí dụ cumsum(1:5) = [1 3 6 10 15] A=[123;456]; cumsum(A) 1 2 3 5 7 9 cumsum(A,2) 1 3 6 4915 f. Hàm diff Tính toán độ lệch giữa các phần tử trong mảng Cú pháp Y = diff(X) Y = diff(X,n) Mô tả: Y = diff(X) tính ra độ lệch giữa các phần tử kề nhau của véc tơ X. *Nếu X là véc tơ kết quả đưa ra là véc tơ ít hơn X 1 phần tử: [X(2)-X(1) X(3)-X(2)... X(n)-X(n-1)] *Nếu X là ma trận, hàm diff(X) đưa ra kết quả là ma trận cột các độ lệch: [X(2:m,:)-X(1:m-1,:)] Y = diff(X,n) Đưa ra véc tơ độ sai lệch bậc n: như vậy diff(X,2) cho ra cùng kết quả với diff(diff(X)).
  • 39. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 19 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 40. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoAR cPSD|2935381 CHƯƠNG 3. ĐỒ HỌA TRONG MATLAB 3.1. Những vấn đề chung Một đồ thị hoàn chỉnh bao gồm những thành phần sau: - Đường cong biểu diễn mối quan hệ các giá trị - Tên của đồ thị - Các trục toạ độ - Các chú thích khác trên đồ thị Sau đây chúng ta xem xét từng thành phần trong môi trường làm việc của Matlab. 3.2. Đường cong biểu diễn mỗi quan hệ của các giá trị Thông thường chúng ta đã biết các loại đồ thị 2 chiều và 3chiều. Trong bài này chúng ta chỉ nghiên cứu đến loại đồ thị phẳng (2chiều) còn chỉ giới thiệu về đồ thị 3 chiều. 3.2.1. Đồ thị 2 chiều a) Lệnh plot: Cú pháp 1: plot(Y) plot(X,Y) Giải thích: - Nếu Y là một véc tơ, hàm plot(y) sẽ in ra đồ thị Y phụ thuộc vào chỉ số của nó trong véc tơ. - Nếu X, Y là hai véc tơ cùng độ lớn hàm plot(X,Y) sẽ in ra đồ thị hàm Y(X) - Nếu đối số trong hàm bao gồm nhiều bộ X, Y, Hàm sẽ đưa ra được nhiều đồ thị trên màn hình và Matlab sẽ tự động hiển thị các đồ thị với các màu khác nhau. Ví dụ: để vẽ đồ thị hàm Sin với trị số hoành độ từ 0 đến 2 Pi ta dùng các dòng lệnh sau: X=0:Pi/100:2*Pi; Y=Sin(X); plot(X,Y) Cú pháp 2: plot(X1,Y1,X2,Y2,X3,Y3) Giải thích: Cú pháp 2 cho phép vẽ các đường cong Y1(X1), Y2(X2), Y3(X3)... trên cùng 1 hệ trục tọa độ. Yêu cầu: các cặp véc tơ (X1,Y1), (X2,Y2), (X3,Y3)... phải có cùng kích thước. Ví dụ: Vẽ nhiều đường cong trên cùng một hệ trục Nếu ta có: y1= sin(x); y2=sin(x-0.25); y3=sin(x- 0.5) Để có thể so sánh đồ thị pha y1(x), y2(x), y3(x) trên cùng một hệ trục ta cũng dùng lệnh plot Hàm: plot(x, y,x,y2,x,y3) sẽ đưa ra bộ đồ thị như hình vẽ Để làm nổi bật hay để phân biệt các đường cong cho tiện theo dõi hay trình bày, ta cũng có thể chỉ định kiểu đường nét, màu sắc và kiểu đánh dấu các điểm nút Cú pháp 3: plot(x,y,'color_style_marker') - Giải thích: trong lệnh trên, color_style_marker là một bộ qui định màu sắc, kiểu đường và kiểu đánh dấu các điểm nút. Chúng được phân cách trong dấu nháy đơn. - Một số chữ cái qui định kiểu màu: 'c', 'm', 'y', 'r', 'g', 'b', 'w' và 'k'. Chúng tương ứng với các màu xanh da trời, tím đỏ, vàng, đỏ, xanh lá cây, xanh nước biển, trắng và đen. - Các ký tự chỉ kiểu đường bao gồm '-' đối với nét liền, '- -' đối với đường gạnh, ':' đường chấm, '-.' đường chấm gạch, và 'none' khi không vẽ đường. - Các ký tự để đánh dấu điểm bao gồm: '+', 'o', '*', và 'x'. Ví dụ: câu lệnh plot(x,y,'y:+') vẽ ra đồ thị là đường chấm chấm màu vàng có dấu + đanh dấu các điểm nút. Một số chú ý: - Lệnh plot sẽ tự động mở ra một cửa sổ đồ hoạ mới. Nếu cửa sổ này đã tồn tại lệnh plot mặc định sẽ sử dụng cửa sổ này. Để mở một cửa sổ mới và đưa nó thành hiện thời ta dùng lệnh figure. - Để đưa một cửa sổ đã mở thành hiện thời ta dùng câu lệnh figure(n), trong đó n là số trên thanh tiêu đề của cửa sổ.
  • 41. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 20 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 42. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 - Vẽ thêm đường cong mới vào một đồ thị đã có: Lệnh hold cho phép bạn thêm đường cong vào đồ thị đã có. Nếu bạn đặt chế độ hold on Matlab sẽ không xoá đồ thị đã có và vẽ thêm đường cong mới khi gọi lệnh vẽ. Ví dụ: Để vẽ 3 đường cong y1, y2, y3 như ví dụ ở trên ta cũng có thể viết bằng 3 lệnh plot riêng biệt, chỉ cần thêm lệnh hold on: hold on plot(x,y1) plot(x,y2) plot(x,y3) b) Lệnh subplot: Hàm subplot sẽ chia cửa sổ đồ hoạ ra nhiều phần để hiển thị nhiều đồ thị trên cùng một cửa sổ Cú pháp: subplot(m,n,p) Trong đó m,n,p là các số nguyên, sẽ chia cửa sổ đồ hoạ ra m hàng và n cột và đưa phần cửa sổ thứ p thành hiện thời. Chỉ số các cửa sổ con được xác định từ phải qua trái và từ trên xuống dưới. Ví dụ: Để vẽ 3 đường cong y1, y2, y3 ở ví dụ trên nhưng trên 3 đồ thị trong cùng một cửa sổ đồ hoạ, ta thực hiện lệnh subplot subplot(1,3,1) plot(x,y1) subplot(1,3,2) plot(x,y2) subplot(1,3,3) plot(x,y3) 3.2.2. Đồ thị 3 chiều (dạng lưới và bề mặt) a) Các hàm tạo bề mặt Matlab định nghĩa một bề mặt lưới bởi các toạ độ Z trên lưới của mặt xy. Dùng các đường thẳng để nối các điểm kề nhau. Hàm mesh và surf hiển thị các bề mặt ở dạng 3 chiều. Mesh cung cấp các bề mặt dạng khung dây trong đó chỉ thể hiện màu ở các đường nối. Surf hiển thị màu cả đường nối và bề mặt. b) Trực quan hoá các hàm hai biến Để hiển thị hàm 2 biến z=f(x,y), hãy tạo các ma trận x và y chứa đựng các hàng và cột lặp. Sau đó sử dụng các ma trận này để tính ra đồ thị của hàm * Hàm meshgrid chuyển phạm vi được định nghĩa bằng một véc tơ hoặc hai véc tơ x, y thành các ma trận X, Y dùng để tính ra giá trị của hàm. Các hàng của X là các bản sao của véc tơ x, các cột của Y là copy của véc tơ y. Cú pháp: [X,Y] = meshgrid(x,y) [X,Y] = meshgrid(x) [X,Y,Z] = meshgrid(x,y,z) Thí dụ: Hàm [X,Y] = meshgrid(1:3,10:14) Tạo hai mảng x và y sau X = 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 Y = 10 10 10 11 11 11 12 12 12 13 13 13 14 14 14 * Hàm Mesh Cú pháp mesh(X,Y,Z) Ví dụ: [X,Y] = meshgrid(-8:.5:8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; mesh(X,Y,Z) Trong đó R là khoảng cách từ tâm, eps dùng để tránh việc chia cho 0 ở điểm 0,0 3.2. Tên của đồ thị Một đồ thị hoàn chỉnh bao giờ cũng phải có tên của đồ thị. Ta dùng hàm title Cú pháp: title('String')
  • 43. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 21 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 44. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 title(…,'PropertyName',PropertyValue,…) Giải thích: - 'string': Là tên của đồ thị mà chúng ta cần (Nhập từ bàn phím) - 'PropertyName': Tên của thuộc tính - PropertyValue: Giá trị của thuộc tính Tên và giá trị của thuộc tính sẽ được giới thiệu ở phần sau.(3.5) 3.3. Các trục toạ độ 3.3.1. Điều khiển các trục toạ độ Sử dụng hàm axis: Cú pháp; axis square: Tạo cho toàn bộ trục x và y có cùng chiều dài axis equal: tạo ra các khoảng chia trên trục x và y có chiều dài như nhau axis auto: trả lại chế độ mặc định axis on: Viết ra tên của trục và đánh dấu các điểm chia trên trục axis off: Huỷ bỏ việc viết ra tên của trục và đánh dấu các điểm chia trên trục Bật/tắt các đường lưới trên đồ thị Cú pháp: grid on: Vẽ ra các đường lưới grid off: Không vẽ các đường lưới grid: Chuyển chế độ bật hoặc tắt 3.3.2. Các chú thích trên trục toạ độ Các hàm để viết chú thích trên trục toạ độ xlabel, ylabel, zlabel Cú pháp: xlabel('string') xlabel(...,'PropertyName',PropertyValue,...) Giải thích: Mỗi trục của đồ thị đều có thể có nhãn riêng được tạo bằng các lệnh xlabel, ylabel, zlabel. - xlabel('string'): Tên của trục x là chuỗi ký tự trong 'string' - 'PropertyName': Tên của thuộc tính - PropertyValue: Giá trị của thuộc tính Tên và giá trị của thuộc tính sẽ được giới thiệu ở phần sau.(3.5) Tương tự như vậy với các hàm ylabel và zlabel. 3.4. Các chú thích khác trên đồ thị Hàm để viết chú thích tại điểm bất kỳ text Cú pháp: text(x,y,'string') text(x,y,z,'string') text(...,'PropertyName',PropertyValu e,...) Giải thích: Trong lệnh text ở trên: x,y, z là tọa độ vị trí ghi dòng chú thích - string: Tên của dòng chú thích là chuỗi ký tự trong 'string' - 'PropertyName': Tên của thuộc tính - PropertyValue: Giá trị của thuộc tính Tên và giá trị của thuộc tính sẽ được giới thiệu ở phần sau.(3.5) 3.5. Các thuộc tính của văn bản đồ hoạ Để quy định vị trí, cách căn chỉnh, kích cỡ và kiểu font chữ của văn bản đồ hoạ đưa ra bởi các lệnh xlabel, ylabel, zlabel, text, title..., chúng ta có thể gán thuộc tính cho các dòng văn bản đó ở dạng: <câu lệnh>(...., 'Property Name',<property value>...). ở đây: - <câu lệnh> là các câu lệnh viết chữ của Matlab (xlabel, text, title...) - 'Property Name' là tên thuộc tính (cần đặt bên trong dấu ' ') - <property value> là giá trị của thuộc tính có thể là chuỗi hoặc số nguyên, số thực... 3.5.1. Các thuộc tính của văn bản 3.5.2. Các ký tự đặc biệt
  • 45. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 22 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 46. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 Trong các chuỗi của đối số của các hàm viết chữ trong chế độ đồ hoạ ta có thể đưa vào các ký tự điều khiển để xuất ra các chữ cái hy lạp, ký hiệu toán học, và kiểu font. Các mã điều khiển được đặt sau dấu '' Chúng ta có thể điều khiển trực tiếp kiểu font chữ bằng các ký tự điều khiển:fontname 3.5.4. Các tuỳ chọn của lệnh plot Trong lệnh plot ta có thể đưa vào các tuỳ chọn ở dạng: plot(...,'PropertyName',PropertyValue,...) Trong đó 'PropertyName' là tên các thuộc tính, PropertyValue là giá trị của thuộc tính mà ta muốn gán: Dưới đây là bảng liệt kê các thuộc tính của đồ Trong trường hợp này tên font chữ sẽ phải đặt trong dấu {}. kế tiếp phần điều khiển font chữ, chúng ta có thể thêm các mã điều khiển: bf - kiểu chữ đậm it - kiểu chữ nghiêng sl - oblique font rm - kiểu chữ bình thường fontsize{fontsize} - Định nghĩa cỡ chữ. Các chỉ số trên và dưới được định nghĩa bằng các ký tự điều khiển "_" và "^" 3.5.3. Một số ví dụ Ví dụ 1: Vẽ đồ thị của hàm số y=sin(x). t = -pi:pi/100:pi; y = sin(t); thị: Tên thuộc ý nghĩa tính 'LineWidt điều khiển bề dầy h' của nét vẽ đồ thị Điều khiển màu 'MarkerE của nét vẽ biểu dgeColor' tượng đánh dấu điểm 'MarkerSi Kích thước của biểu tượng đánh ze' dấu điểm 'MarkerFa Điều khiển màu ceColor' của biểu tượng đánh dấu điểm kiểu giá trị số nguyên các ký tự chỉ màu ví dụ:'g','y'... số nguyên các ký tự chỉ màu ví dụ:'g','y'... plot(t,y) axis([-pi pi -1 1]) xlabel('-pi leq itt leq pi') ylabel('sin(t)') title('Graph of the sine function') text(1,-1/3,'it{Note the odd symmetry.}') Đưa ra đồ thị như hình vẽ: 3.6. Một số lệnh viết chữ khác 3.6.1 Lệnh gtext Cú pháp: gtext('string') Mô tả gtext sẽ hiển thị chuỗi văn bản tại vị trí chỉ định bằng chuột trên đồ thị 3.6.2: Lệnh ginput Nhập dữ liệu của các điểm bằng chuột Cú pháp [x,y] = ginput(n) [x,y] = ginput Giải thích: [x,y] = ginput(n) Cho phép bạn chọn n điểm bằng chuột và trả kết quả là toạ độ x và y của các điểm chọn cho các véc tơ x và y. Có thể kết thúc việc chọn điểm ngay cả khi chưa nhập đủ n điểm bằng cách ấn Enter
  • 47. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 23 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 48. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 [x,y] = ginput Cho phép chọn số điểm không hạn chế. 3.7. In ấn đồ thị Tuỳ chọn Print của menu FILE và lệnh print đều dùng để in đồ thị. Tuỳ chọn Print sẽ gọi ra hộp thoại cho phép người dùng chọn các tuỳ chọn về in ấn giống như ở các phần mềm khác, còn lệnh print cung cấp chúng ta các khả năng mềm dẻo hơn và cho phép điều khiển việc in đồ thị từ m. file. Kết quả có thể gửi trực tiếp ra máy in hoặc được xếp xắp trong một tệp xác định. Các định dạng đầu ra hết sức khác nhau được cung cấp ở đây (kể cả PostScript) Thí dụ: câu lệnh sau đây ghi hình ảnh của màn hình đồ hoạ ra tệp Postscript cấp 2 có tên là magicsquare.eps: print -depsc2 magicsquare.eps Một điều hết sức quan trọng là cần phải biết trước khả năng của máy in trước khi dùng lệnh print. Ví dụ như tệp Postscript cấp 2 thường là gọn hơn và tô bóng nhanh hơn khi in so với tệp Postscript cấp 1. Tuy nhiên không phải tất cả các máy in đều có khả năng làm việc với tệp Postscript cấp 2 CHƯƠNG 4. LẬP TRÌNH ỨNG DỤNG TRONG MATLAB I. Các loại dữ liệu dùng trong Matlab - Matlab sử dụng các chế độ ghi dữ liệu số 1. Dữ liệu số: thập phân thông thường.
  • 49. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 24 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 50. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 - Có kiểu ghi dùng chữ cái e để xác định số mũ cơ số 10. Ví dụ: 1.60210e-20 =1.60210* 1020 - Các số được lưu trữ trong bộ nhớ có giới hạn là 16 chữ số sau dấu phẩy và giá trị giới hạn nằm trong khoảng −10308 đến 10308 . Một số hằng số thường dùng trong Matlab pi = 3.14169265 i,j = các đơn vị của số ảo esp = độ chính xác tương đối của số thực, 2−52 Inf = Vô cùng lớn NaN = Không phải là số 2. Các phép tính trên số phức 2.1 Nhập dữ liệu Số phức được nhập ở dạng Phần thực + phần ảo i Ví dụ: x= 2+3i 2.2 các phép tính thực hiện trên số phức - Phép cộng: Sử dụng toán tử +, - Phép trừ: Sử dụng toán tử -, - Phép nhân: Sử dụng toán tử *, - Phép chia: Sử dụng toán tử / Ví dụ: Nếu X= 3 +4i, Y=5+6i, ta sẽ có: X+Y ans =8.0000 +10.0000i X*Y ans =-9.0000 +38.0000i X-Y ans =-2.0000 - 2.0000i X/Y ans =0.6393 + 0.0328i 2.3 Các hàm xử lý số phức a. Hàm real Lấy ra giá trị phần thực của số phức Ví dụ: Nếu ta có X=3 +4i, real(X) sẽ cho giá trị 3 b. Hàm imag Lấy ra phần ảo của số phức Ví dụ: với X lấy giá trị như trên, imag(X) sẽ cho giá trị 4 c. Hàm conj Tìm số phức liên hợp của số phức đã cho Ví dụ: với X lấy giá trị như trên, conj(X) sẽ cho giá trị 3-4i 3. Dữ liệu dạng chuỗi 3.1. Phép gán và tham chiếu đến dữ liệu dạng chuỗi * Phép gán: <tên biến>='chuỗi' * Tham chiếu đến dữ liệu dạng chuỗi Chuỗi là một véc tơ hàng có số phần tử bằng số chữ cái trong chuỗi để tham chiếu đến từng chữ cái ta chỉ cần gọi phần tử tương ứng của chuỗi Các ví dụ: nếu gán x='String Mat' Khi gọi x(1), ta nhận được ans = S nếu gọi x(1:6), ta sẽ nhận được ans = String 3.2. Tạo các mảng với phần tử là chuỗi 3.2.1 Tạo véc tơ cột các chuỗi: * Nhập trực tiếp: nhập theo nguyên tắc giống mảng với các phần tử là số, tuy nhiên yêu cầu các chuỗi có chiều dài như nhau, trong trường hợp các chuỗi có chiều dài khác nhau, ta phải thêm bước trống vào cuối chuỗi. Ví dụ: x=['first ' 'second' 'third '] x = first second third * Dùng hàm: char Cú pháp: char('chuỗi 1', 'chuỗi 2',....) Chú ý: hàm char sẽ chèn cả các chuỗi rỗng vào mảng Ví dụ: x=char('first','second', '', 'third') sẽ cho kết quả là véc tơ cột có 4 phần tử x = first second third 3.2.2 Tạo mảng hoặc véc tơ hàng các chuỗi
  • 51. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 25 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 52. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 Dùng mảng khối: -Mảng khối được nhập như mảng thông thường, chỉ khác là mảng được bao bằng dấu { } Các phần tử của mảng khối sẽ là các chuỗi ví dụ: x={'first' 'second' 'third'} x = 'first' 'second' 'third' Nếu gọi: x(1), ta nhận được ans = 'first' 3.3. Các hàm dùng trên chuỗi 3.3.1 Hàm chuyển đổi từ dữ liệu số sang chuỗi và ngược lại a. Chuyển từ số sang chuỗi: Các hàm int2str, num2str, mat2str * Hàm int2str: chuyển số nguyên sang chuỗi. Cú pháp: str = int2str(N) Mô tả: str = int2str(N) Chuyển số nguyên sang chuỗi với định dạng của số nguyên. N có thể là một số nguyên riêng lẻ hoặc mảng các số nguyên. Các giá trị thực sẽ được làm tròn trước khi chuyển đổi. Thí dụ: int2str(2+3) là chuỗi '5'. int2str(3.5) =4 * Hàm num2str Chuyển đổi từ số thực sang chuỗi Cú pháp str = num2str(A) str = num2str(A,precision) str = num2str(A,format) Mô tả Hàm num2str chuyển đổi các số thực sang chuỗi. Hàm này được dùng nhiều khi cần đưa vào đồ thị các nhãn hoặc tiêu đề bằng các giá trị số thực. str = num2str(a) chuyển đổi mảng A thành chuỗi str với 4 chữ số sau dấu phảy và số mũ nếu cần thiết. str = num2str(a,precision) chuyển đổi mảng A thành chuỗi str với độ chính xác được quy định bằng 'precision'. đối số precision quy định số chữ số sau dấu phảy, mặc định là 4. str = num2str(A,format) chuyển đổi mảng A sử dụng định dạng quy định bằng 'format'. (xem lệnh fprint). num2str(pi) là 3.142. num2str([1/3 3/6]) là 0.33333 0.5 num2str(3/7,5) cho kết quả là: 0.42857 * Hàm mat2str Cú pháp: str = mat2str(A) str = mat2str(A,n) Mô tả str = mat2str(A) Chuyển ma trận A thành chuỗi, phù hợp với dữ liệu đầu vào của hàm eval, sử dụng độ chính xác cao nhất. str = mat2str(A,n) Chuyển đổi ma trận A thành chuỗi với n chữ số sau dấu phảy. Chú ý: Hàm mat2str chỉ được thực hiện trên các giá trị số, véc tơ hoặc mảng chữ nhật. Thí dụ: Xét ma trận: A = 1 2 3 4 Câu lệnh b = mat2str(A) cho kết quả: b = [1 2 ;3 4 ] b. Chuyển từ chuỗi sang số, thực hiện các phép tính: hàm eval Cú pháp: eval('Chuỗi') [a1,a2,a3,...] = eval('Chuỗi') Mô tả: eval('Chuỗi') thực hiện biểu thức được mô tả trong 'chuỗi'. Bạn có thể tạo ra 'chuỗi' bằng cách nối kết các chuỗi con và các biến trong ngoặc vuông.
  • 53. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 26 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 54. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 [a1,a2,a3,...] = eval('Chuỗi') thực thi biểu thức trong 'chuỗi' và đưa ra các kết quả trong các biến đầu ra chỉ định. Thí dụ: y=eval('5+6-7'), cho kết quả y =4 Nếu ta có x='5+6-sin(pi)', hàm y=eval(x) sẽ cho kết quả: y =11 eval(['sin(pi/2)' '+' 'cos(pi)']), cho kết quả là 0 c. Hàm sprintf Cú pháp: s = sprintf(format,A,...) Mô tả: s = sprintf(format,A,...) Định dạng các dữ liệu trong ma trận A, trên cơ sở của chuỗi quy định mẫu định dạng 'format' và trả kết quả cho biến dạng chuỗi s. Câu lệnh sprintf cũng có ý nghĩa tương tự như fprint, điểm khác chỉ ở chỗ câu lệnh fprint thường dùng để xuất dữ liệu ra tệp. Chuỗi format quy định các ghi chú, căn chỉnh, số chữ số, bề rộng của trường. Nó có thể chứa các dữ liệu số, chữ và các ký tự điều khiển theo cấu trúc sau: Bảng dưới đây sẽ mô tả các ký tự không nhìn thấy được sử dụng trong định dạng của lệnh sprintf. Các ký tự thoát ký tự Mô tả b Xoá lùi f Kéo giấy n Xuống dòng t lùi vào một bước tab Backslash '' dấu " %% dấu % Các quy định chuyển đổi ký tự điều Mô tả khiển %c Ký tự riêng lẻ %d chế độ ghi số thập phân dùng dấu chấm động %e ghi bằng số e (sử dụng e) %E ghi bằng số e (sử dụng E) %f Cho phép quy định số chữ số xuất ra Chế độ ghi ngắn gọn %e, %f, Các chữ %g số 0 phía sau không được in ra %G Giống %g, nhưng sử dụng E thay cho e %s Ghi chuỗi ký tự Các ký tự khác Các ký tự khác có thể chèn vào mã quy định ở vị trí giữa % và ký tự điều khiển. Ký tự Mô tả Thí dụ Dấu Left-justifies the converted %-5.2d (-) argument in its field. Dấu Luôn in dấu (+ hoặc -) trước %+5.2d (+) số xuất ra. Số Đưa vào các số 0 thay cho %05.2d (0) các khoảng trống. Số Quy định số lượng chữ số ít nguy %6f nhất được in ra. ên Số với Số với dấu. xác định số dấu lượng chữ số được in sang %6.2f chấm phải dấu chấm phân cách. động) Thí dụ Lệnh Kết quả sprintf('%0.5g', 1.618 (1+sqrt(5))/2) sprintf('%0.5g',1/eps) 4.5036e+15 sprintf('%15.5f',1/eps) 4503599627370496.00000 sprintf('%d',round(pi)) 3 sprintf('%s','hello') hello sprintf('The array is The array is 2x3 %dx%d.',2,3) sprintf('n') Xuống dòng d. Hàm sscanf Đọc chuỗi theo định dạng quy định, hàm có ý nghĩa như là hàm ngược của sprintf. Cú pháp A = sscanf(s,format) A = sscanf(s,format,size) Mô tả
  • 55. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 A = sscanf(s,format) Đọc dữ liệu từ chuỗi s, chuyển đổi nó phù hợp với định dạng được quy 27 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 56. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 định trong format và trả ra kết quả cho ma trận a. A = sscanf(s,format,size) Đọc số phần tử quy định trong size và chuyển đổi nó phù hợp với định dạng quy định trong format. size có thể lấy các giá trị sau: n Đọc n phần tử và trả véc tơ cột inf Đọc đến cuối tệp và trả kết quả ra véc tơ cột. [m,n] Đọc đủ số phần tử để điền vào ma trân m x n phần tử. Nếu ma trận A là kết quả chỉ của việc sử dụng các ma trận chuyển đổi, và size không ở dạng [M,N], véc tơ hàng sẽ được trả. Thí dụ: Các câu lệnh s = '2.7183 3.1416'; A = sscanf(s,'%f') Tạo ra véc tơ cột có hai phần tử chứa giá trị của pi và e. II. Nhập, xuất dữ liệu 1. Các lệnh nhập dữ liệu 1.1. Nhập từ bàn phím: Lệnh input Cú pháp: <tên biến>=input('lời nhắc') <tên biến>=input('lời nhắc', 's') Mô tả: <tên biến>=input('lời nhắc') Sẽ hiển thị lời nhắc và chờ người dùng nhập dữ liệu, các dữ liệu này sẽ được gán cho <tên biến>. <tên biến>=Input('lời nhắc', 's') thường dùng khi nhập chuỗi: nếu dùng cú pháp thứ nhất để nhập chuỗi thì ta cần đặt chuỗi trong dấu ' ', còn ở cú pháp 2 ta có thể nhập trực tiếp nội dung của chuỗi. Chú ý: Nếu ta ấn enter khi xuất hiện lời nhắc, Matlab sẽ trả kết quả là ma trận rỗng. 1.2. Nhập từ hộp thoại: Lệnh inputdlg Cú pháp: answer = inputdlg(prompt) answer = inputdlg(prompt,title) answer = inputdlg(prompt,title,lineNo) answer = inputdlg(prompt,title,lineNo,defAns) Mô tả: Prompt: là các dòng nhắc trên các trường dữ liệu, được nhập ở dạng mảng khối các chuỗi lời nhắc Title: là tiêu đề của hộp thoại, nhập vào ở dạng chuỗi LineNo: là số nguyên quy định số dòng cho mỗi trường nhập dữ liệu DefAns: là một mảng khối các chuỗi gán giá trị mặc định Các dữ liệu nhập vào được gán cho answer dưới dạng mảng khối các chuỗi Ví dụ prompt = {'Nhập số hàng ma trận:','Nhập số cột ma trận'}; title = 'Hộp thoại nhập ma trận'; lines= 1; def = {'20','20'}; answer = inputdlg(prompt,title,lines,def); Sẽ đưa ra hộp thoại: Nếu nhập ở hai hộp các giá trị 40 và 30, sau đó nháy OK, ta nhận được: answer={'20' '30'} Chú ý:
  • 57. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 28 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 58. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 Kết quả nhập vào được gán cho biến ở dạng mảng khối các chuỗi, chính vì vậy để có thể sử dụng được các giá trị này ta phải dùng hàm char để chuyển đổi về mảng thông thường, sau đó dùng các hàm sscanf hoặc eval để chuyển dữ liệu về dạng số. 1.3. Nhập dữ liệu từ tệp: Lệnh fread Cú pháp: [A,count] = fread(fid,size,precision Dữ liệu đọc được sẽ ghi vào mảng A, count sẽ ghi lại số phần tử được đọc Fid là chỉ số của tệp được mở lấy ra từ lệnh fopen Size: định dạng số phần tử được lấy ra. Có các loại định dạng sau: - n: Đọc n phần tử và ghi ra ở dạng véc tơ cột. - inf: Đọc đến cuối mảng, các phần tử đưa vào ma trận cột. - [m,n]:Đọc đủ số phần tử để điền vào ma trận m x n, các phần tử điền vào theo trật tự các cột, nếu không đủ số phần tử điền, máy thêm vào phần tử 0. Preciscion: Dạng của phần tử 'char' Character; 8 bits 'schar' Signed character; 8 bits 'uchar' Unsigned character; 8 bits 'int8' Integer; 8 bits 'int16' Integer; 16 bits 'int32' Integer; 32 bits 'int64' Integer; 64 bits 'uint8' Unsigned integer; 8 bits 'uint16' Unsigned integer; 16 bits 'uint32' Unsigned integer; 32 bits 1.4. Lệnh fopen: Mở tệp để ghi hoặc đọc dữ liệu Cú pháp: fid = fopen('filename','permission') Permission: quy định chế độ mở, có thể lấy các giá trị: 'r': mở ra để đọc 'w': mở ra để ghi, nếu tệp đã có, nó sẽ xoá toàn bộ nội dung tệp và ghi lại 'a': mở ra để ghi thêm Filename: là tên của tệp sẽ mở được đặt trong dấu ' ' Kết quả sẽ trả ra chỉ số của tệp được mở (con trỏ tham chiếu đến tệp) và gán cho biến fid. 1.5 Lệnh đóng tệp, fclose Cú pháp: status = fclose(fid), đóng tệp chỉ định status = fclose('all'), đóng tất cả các tệp đang mở 1.6 Lệnh fscanf: Nhập dữ liệu từ tệp định dạng mã ascci Cú pháp: A = fscanf(fid,format) [A,count] = fscanf(fid,format,size) ở cú pháp thứ nhất, fscanf sẽ đọc dữ liệu từ tệp có con trỏ fid theo định dạng quy định bằng chuỗi format. Số phần tử được đọc thành công sẽ được trả cho biến count Ví dụ: Ta có tệp dữ liệu có tên là 'd:datadl.dat' có các số liệu sau: 1.345 4.123 4.567 2.456 2.675 6.876 4.576 3.456 Đoạn chương trình sau sẽ đọc dữ liệu từ tệp xếp thành ma trận (4,2) và gán cho biến M f=fopen('d:datadl.dat','r'); M=fscanf(f,'%f',[4,2]); fclose(f); 2. Các lệnh xuất dữ liệu 2.1. lệnh disp: Hiển thị văn bản hoặc mảng cú pháp: disp(A) Mô tả disp(X) Hiển thị giá trị các mảng mà không đưa ra tên mảng, nếu x chứa chuỗi, chuỗi sẽ được in ra màn hình. 2.2. Lệnh fprintf: Ghi lại dữ liệu Cú pháp:
  • 59. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 29 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 60. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 count = fprintf(fid,format,A,...) fprintf(format,A,...) Mô tả: count = fprintf(fid,format,A,...) định dạng các dữ liệu ở phần thực của ma trận A dưới sự điều khiển của chuỗi định dạng 'format' và ghi vào tệp tham chiếu bằng con trỏ 'fid'. Hàm fprintf trả số lượng byte được ghi ra. fid là chỉ số của tệp được mở ra để ghi dữ liệu, nhận được từ lệnh fopen. Nếu bỏ qua fid, kết quả sẽ in ra màn hình. format là chuỗi quy định định dạng sẽ xuất ra (xem lệnh sprintf) 2.3. Lệnh fwrite: Ghi dữ liệu ra tệp ở dạng mã nhị phân. Cú pháp: count = fwrite(fid,A,precision) Mô tả: count = fwrite(fid,A,precision) ghi các phần tử của ma trận A vào tệp tham chiếu bởi 'fid'. Chuyển đổi các giá trị của MATLAB với độ chính xác được quy định trong 'precision'. Dữ liệu được ghi theo trật tự cột, count sẽ đếm số phần tử được ghi thành công vào tệp. đối số 'fid' là con trỏ tệp nhận được từ lệnh fopen. III. Các lệnh phân nhánh 1. Lệnh if 1.1 Cú pháp: Lệnh If Cú pháp 1: if Biểu thức lôgíc Các biểu thức tính; end Cú pháp 2: if Biểu thức lôgíc Các biểu thức tính 1 else Các biểu thức tính 2 end Cú pháp 3: if Biểu thức lôgíc 1 Các biểu thức tính 1 elseif Biểu thức lôgíc 2 Các biểu thức tính 2 else Các biểu thức tính 3 end Trong các cú pháp đưa ra ở trên: - Các biểu thức lô gíc viết theo quy tắc được trình bày ở dưới đây - Các biểu thức tính chứa các dòng lệnh của Matlab Trong cú pháp 1: Máy sẽ kiểm tra biểu thức logic: nếu biểu thức lôgic đúng, máy sẽ thực hiện các lệnh trong if (nằm giữa if và end), còn nếu biểu thức lô gíc sai máy sẽ bỏ qua các câu lệnh trong if và thực hiện các câu lệnh kế tiếp câu lệnh if Trong cú pháp 2: nếu biểu thức lôgic đúng máy sẽ thực hiện các câu lệnh trong Các biểu thức tính 1, còn nếu biểu thức lôgic sai máy sẽ thực hiện các câu lệnh Các biểu thức tính 2. Trong cú pháp 3: Nếu biểu thức lôgíc 1 đúng, máy sẽ thực hiện Các biểu thức tính 1. Nếu biểu thức lôgíc 1 sai, máy sẽ kiểm tra biểu thức lôgíc 2: nếu biểu thức lôgic này đúng, máy sẽ thực hiện các biểu thức tính 2, còn các trường hợp khác máy sẽ thực hiện các biểu thức tính 3. 1.2 Các toán tử logic Mat lab cho phép sử dụng các toán tử lôgic sau: S Toán T ý nghĩa thí dụ T tử kiểm tra liệu hai biểu 1 = = thức có bằng nhau A=B không 2 > Lớn hơn A>B 3 < Nhỏ hơn A<B 4 <= Nhỏ hơn hoặc bằng A<=B 5 >= Lớn hơn hoặc bằng A>=B 6 ~= Khác A~=B
  • 61. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 30 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 62. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 7 & Và lôgic A&B 8 | Hoặc lôgic A|B 9 Not Phủ định Not(A) 1.3 Các hàm logíc Kiểm tra liệu mảng X có rỗng không, cho giá trị đúng (1) khi X rỗng nguợc lại cho kết quả sai (0) b. Hàm isequal(a,b...) k = isequal(A,B,...) sẽ trả giá trị đúng lôgic(1), nếu các mảng đối số có cùng dạng, cùng kích cỡ và có cùng nội dung. Hàm này thường dùng khi so sánh hai hay nhiều mảng, nó sẽ không gây lỗi khi 2 mảng có kích thước khác nhau. c. Hàm ischar(x) Cho kết quả đúng nếu x là dữ liệu dạng chuỗi. d. Các hàm strcmp(s1,s2), strcmp(s1, s2, n) Hàm strcmp(s1,s2) so sánh hai chuỗi s1, s2. Nếu hai chuỗi giống nhau sẽ trả kết quả đúng Hàm strcmp(s1,s2,n) cho kết quả đúng nếu n ký tự đầu tiên của hai chuỗi như nhau. Chú ý: Trong trường hợp đối số trong các hàm lôgic là ma trận, máy sẽ thử từng cặp phần tử trong ma trận, nếu đúng trả giá trị 1, nếu sai trả giá trị 0 và kết quả nhận được là ma trận các giá trị 1 và 0. Để so sánh được hai ma trận phải có cùng kích thước. 2. Lệnh switch Cú pháp: switch Biểu thức switch case Biểu thức case 1 Các biểu thức tính 1 case Biểu thức case 2 Các biểu thức tính 2 ... otherwise Các biểu thức tính khác end Khi lệnh switch được gọi, nó sẽ tính toán giá trị biểu thức switch Sau đó giá trị của biểu thức này sẽ được so với mỗi một biểu thức case theo trình tự được ghi trong câu lệnh, nếu 2 phép so sánh đưa ra kết quả đúng, nhóm các câu lệnh tương ứng sẽ được thực hiện, sau đó thoát khỏi lệnh và thực hiện các câu lệnh sau switch. Nếu tất cả các biểu thức case đều không phù hợp với giá trị của biểu thức switch. Nhóm lệnh dưới otherwise sẽ được thực hiện. IV. Các vòng lặp 1. Vòng lặp xác định: for Cú pháp: for <biến>= mảng Các biểu thức tính; end Vòng lặp for sẽ thực hiện các câu lệnh lặp với số lần bằng số cột của mảng, trong mỗi lần lặp <biến> sẽ mang giá trị là một véc tơ hàng tương ứng của mảng Thí dụ: Tạo mảng có các phần tử a(i,j)=1/(i+j- 1) a = zeros(n,n) % Preallocate matrix for i = 1:n for j = 1:n a(i,j) = 1/(i+j -1); end end 2. Vòng lặp không xác định: while Cú pháp: while <biểu thức logíc > Các biểu thức tính end Khi thực hiện câu lệnh, máy sẽ kiểm tra biểu thức lôgíc, nếu giá trị biểu thức là đúng, các câu lệnh trong vòng lặp sẽ được thực hiện, sau khi thực hiện xong sẽ quay trở về kiểm tra lại giá trị của biểu thức logic. Nếu giá trị của biểu thức lô gíc là sai, vòng lặp sẽ kết thúc. Thí dụ: Tìm nghiệm của phương trình x3 - 2x - 5 = 0 trong khoảng [0,3] theo phương pháp dây cung. 3. Lệnh break: Thoát khỏi vòng lặp một cách cưỡng bức Cú pháp:
  • 63. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 31 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)
  • 64. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 lOMoARcPSD|293 538 1 break Mô tả: break Dừng việc thực thi vòng lặp for hoặc while. Khi có nhiều vòng lặp lồng vào nhau, break sẽ chỉ thoát khỏi vòng lặp gần nhất. V. Các chương trình con 1.Phương pháp xây dựng các hàm và chương trình con - Hàm được viết trong m file, tên của m file được bắt đầu bằng ký tự chữ hoặc số và có phần mở rộng là.m. - Dòng trên cùng của hàm m file phải chứa từ khoá function và viết theo đúng quy cách quy định trong Matlab.function [biến ra1, biến ra 2...] = <Tên hàm>(biến vào 1, biến vào 2..) - Tên của m file phải trùng với <tên hàm>. Ví dụ: tệp stat.m chứa nội dung sau tính ra độ lệch chuẩn của véc tơ x = [x1 x2... xn] function [mean,stdev] = stat(x) n = length(x); mean = sum(x)/n; stdev = sqrt(sum((x-mean).^2/n)); Chúng ta có thể định nghĩa một hàm con trong hàm khác bằng cách gọi ra từ khoá function bên dưới thân của hàm chính. Ví dụ dưới đây sẽ định nghĩa hàm con avg bên trong tệp stat.m: function [mean,stdev] = stat(x) n = length(x); mean = avg(x,n); stdev = sqrt(sum((x- avg(x,n)).^2)/n); function mean = avg(x,n) mean = sum(x)/n; Khi Matlab không nhận ra một tên hàm, nó sẽ tìm kiếm tên tệp trùng với tên hàm, nếu tìm ra nó sẽ dịch và đưa vào bộ nhớ. Trong trường hợp tổng quát nếu ta nhập một tên vào Matlab, nó sẽ kiểm tra theo trình tự sau: 1. Kiểm tra xem đó có phải là tên biến 2. Kiểm tra xem đó có phải là tên hàm nội trú trong Matlab. 3. Kiểm tra xem đó có phải là hàm m. file Khi gọi một m.file từ dòng nhắc hoặc trong m.file khác đưa hàm vào bộ nhớ, và nó sẽ lưu lại ở đó cho tới khi ta thoát khỏi Matlab hoặc dùng lệnh clear. 2. Các đối số vào, ra Chú ý - Hàm m-file có thể không chứa đối số nào - Hàm có thể được gọi với số đối số ra hoặc vào ít hơn số đối số được khai báo trong hàm - Khi hàm được gọi ra các biến sử dụng trong hàm chỉ tồn tại tạm thời trong vùng bộ nhớ dành cho hàm - Hàm trong Matlab có thể chứa không hạn chế thông số đầu vào, khi đó biến đầu vào cuối cùng của hàm phải được khai báo là varargin, khi đó biến đầu vào được coi như một mảng khối có vô số phần tử. Tương tự hàm cũng có thể chứa vô hạn các thông số ra khi ta khai báo bằng varargout. - Câu lệnh varagin và varagout Cho phép định nghĩa vô số biến vào và ra của hàm trong Matlab Cú pháp: function varargout = foo(n) y = function bar(varargin) Mô tả: Hàm varargout = foo(n) sẽ trả một số lượng không hạn chế các biến ra từ hàm foo.m. Hàm y = function bar(varargin) Chấp nhận vô số biến đầu vào của hàm bar.m Các câu lệnh varargin và varargout chỉ được sử dụng bên trong hàm m.file để chứa biến tuỳ chọn vào hoặc ra của hàm. Chúng phải được định nghĩa như là một biến cuối cùng trong danh sách các biến khai báo ở câu lệnh function. CHƯƠNG 5. MÔ PHỎNG CÁC HỆ THỐNG ĐỘNG LỰC BẰNG SIMULINK
  • 65. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 32 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)