QUY ƯỚC VÊ DẤU CÁC PHÉP TOÁN TRONG MATLAB Matlab cho phép thực hiện các phép toán số học, logic và phép toán quan hệ... Những thao tác cơ bàn nhất khi làm việc vói phần mềm M atlab: Khởi
Trang 1r M CK.0000070600 f l f
r 1 L
; í ~'
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC SAO ĐỎ
ThS NGUYỄN THỊ PHƯƠNG OANH (Chủ biên)
ÚNG DỤNG MATLAB PHÂN TÍCH VÀ GIẢI BÀI TẬP
LÝ THUYẾT MẠCH
M6 T
X U Ấ T BẢN KH O A H Ọ C V À K Ỹ TH U Ậ T
Trang 3Bộ CÔNG THƯONG - TRƯỞNG ĐẠI HỌC SAO ĐÒ
ThS N G U Y Ễ N T H Ị P H Ư Ơ N G O A N H (C h ủ b iê n ) - T h S P H A N V Ă N P H Ù N G
T hS B Ù I Đ Ì N H T H U Ầ N - T hS N G U Y Ê N Q U A N G C Ư Ờ N G
ÚNG DỤNG MATLAB PHÂN TÍCH VÀ GIẢI BÀI TẬP LÝ THUYẾT MẠCH
NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT
Trang 5MỤC LỤC
LỜI NÓI Đ A U .
PhẦN I NGHIÊN cúu TỔNG OUAN VỀ PHẦN MẺM MATLAB / C ơ BÀN VÈ PHÄN m ề m MATLAB .
1.1 G IỚ I T H IỆ U C H U N G VÈ PHẰ N M ÈM M ATLAB .
1.2 KHỞ I Đ Ộ N G , T H O Á T KHỎ I C H Ư Ơ N G T R ÌN H .
1 3 C ÁC M E N U LỆNH .
1.4 BIỀN, K H Ô N G G IAN LẢM V IỆ C T R O N G M ATLAB .
1.5 QUY ƯỚC VÈ DẢU CÁC PHÉP TOÁN TRONG MATLAB .
1.6 C Á C P H ÍM T Ắ T T R O N G M A T L A B
'ểttưưnp ỉ N H Ậ P , x ử LÝ D Ữ LIỆ U V À LẬ P T R ÌN H M -F IL E T R Ê N M A T L A B .
2.1 S Ổ P H Ứ C T R O N G M ATLAB .
2.2 MA TR A N VÀ CÁC HÀM x ử LÝ V Ớ I MA T R Ậ N
2.3 C Á C HÀM C ơ BẢN T R O N G M ATLAB .
2.4 LẠP T R ÌN H T R Ê N M -F IL E
2.5 C ẤU T R Ú C C ÁC CÂU LỆNH Đ IÊ U K H IÉ N
2.6 HÀM C O N
s. V Ẽ Đ Ò T H Ị V À T Ạ O G IA O D IỆN .
3.1 V Ẽ Đ Ồ T H Ị S ử DỰNG LỆNH PLO T .
3.2 T Ạ O KIẺU Đ Ư Ờ N G , DẢU VÀ MÀU .
3 3 KIỂU Đ Ồ T H Ị
3.4 T Ạ O Đ Ồ T H Ị LƯ Ớ I, H ộ p C H Ứ A T R Ụ C , N HÃN LỜI C H Ú G I Ả I
3.5 KIÊN T Ạ O H Ệ T R Ụ C T O Ạ Đ ộ .
3.6 IN H ÌN H VẼ , Đ Ồ T H Ị
3.7 X ử LÝ V Ớ I Đ Ò TH Ị .
3.8 M Ộ T S Ố Đ Ặ C Đ IÈ M KHÁC C Ủ A Đ Ồ TH Ị T R O N G H Ệ T O Ạ Đ ộ PHẢ NG 3 9 G IA O D IỆ N N G Ư Ờ I s ử D Ụ N G (G U I) T R O N G M A T L A B
(Uươn9 1. S IM U L IN K T R O N G M A T L A B .
4.1 K HỞ I Đ Ộ N G S IM U L IN K .
4 2 C Á C T H Ư V IỆ N C O N T R O N G S IM U L IN K
4 3 T H Ư V IỆ N S IM U L IN K E X T R A S
Trang 6PhÁN II
ÚNG DỤNG MATLAB GIẢI MẠCH ĐIỆN
5. PHÂN TÍCH VÀ GIẢI MẠCH ĐIỆN XOAY CHIÈU M ỘT PHA 93
5.1 MÔ HÌNH MẠCH ĐIỆN THEO QUAN ĐIẾM NĂNG LƯỢNG .93
5.2 NGUỒN HÌNH SIN VÀ CÁC THÔNG SỐ ĐẠC TRƯNG 99
5.3 PHÂN TÍCH VÀ GIẢI MẠCH THUẰN TRỞ .102
5.4 PHÂN TÍCH VÀ GIẢI MẠCH THUẦN c ả m 108
5.5 PHÂN TÍCH VÀ GIẢI MẠCH THUẢN D U N G 112
5 6 PHÂN TÍCH VÀ GIẢI MẠCH RLC NỐI TIÉP 116
BÀI TẬP CHƯƠNG 5 140
ư * y 6. ỨNG DỤNG MATLAB PHÂN TÍCH MẠCH PHỨC TẠ P CÓ NGUỒ N HÌNH SIN ở CHÉ ĐỌ XÁC LẠP .143
6.1 BIẺU DIỄN CÁC THÔNG SỔ CỦA MẠCH BÁNG s ố PHỨC 143
6.2 PHƯƠNG PHÁP DÒNG ĐIỆN NHÁNH 145
6.3 PHƯƠNG PHÁP ĐIỆN THẾ N Ú T 151
6.4 PHƯƠNG PHÁP DÒNG ĐIỆN VÒNG 158
6 5 PHƯƠNG PHÁP BIÉN ĐỔI TƯƠNG Đ Ư Ơ N G 163
6.6 PHƯƠNG PHÁP XÉP CHÒNG 172
6.7 XÂY DỰNG GIAO DIỆN GIẢI MẠCH TRÊN PHẢN m è m MATLAB 176
BÀI TẠP CHƯ Ơ NG 6 185
M H ỹ 7. MẠNG HAI C Ử A 189
7.1 MÔ HÌNH MẠNG HAI C Ử A 189
7.2 MẠNG HAI CỬA c ơ SỞ 190
7.3 CÁC THÔNG s ố MẠNG HAI CỬA A, B, Y, z, G, H .192
7.4 BÀI TẬP ÁP DỤNG 198
BÀI TẠP CHƯ Ơ N G 7 215
<Mnp 8 PHÂN TÍCH VÀ GIẢI MẠCH XOAY CHIÈU BA PHA 217
8.1 KHÁI NIỆM CHUNG .217
8.2 PHÀN TÍCH VÀ GIẢI MẠCH BA PHA ĐỐI XỨNG ĐÂU Y-Y .221
8.3 PHẬN TÍCH VÀ GIẢI MẠCH BA PHA ĐỐI XỨNG ĐÂỤ A-A 225
8.4 PHÂN TÍCH VÀ GIẢI MẠCH BA PHA KHÔNG ĐỐI XỨNG 232
BÀI TẠP CHƯƠNG 8 256
ưanỹ 9. PHÂN TÍCH QUÁ TRÌNH QUÁ ĐỘ TRONG MẠCH ĐIỆN .258
9.1 KHÁI NIỆM CHUNG 258
9.2 PHƯƠNG PHÁP GIẢI MẠCH QUÁ Đ ộ 260
9.3 KHẢO SÁT QUÁ TRÌNH QUÁ Đ ộ BÀNG PHƯƠNG PHÁP TÍCH PHÂN KINH ĐIỂN .264
9 4 KHẢO SÁT QUÁ TRÌNH QUÁ Đ ộ BÀNG PHƯƠNG PHÁP TOÁN T ử LAPLACE 279
BÀI TẬP CHƯƠNG 9 296
Trang 7n ó i đ ầu
L ý thuyết mạch điện là kiến thức cơ sở quan trọng đói với kỹ sư, cử nhăn, kỹ thí viên ngành điện, điện tử để phân tích, thiết kế mạch điện, điện tử nói riêng phân tích hệ thống điện nói chung Do đó, đoi với cán bộ kỹ thuật công tác trong ngà điện, điện tứ, việc hiếu, áp dụng các lý thuyết về mạch điện trong các bài toán mạch đó vai trò hết sức quan trọng.
Các bài toán lý thuyết mạch nói chung xuất ph át từ mô hình mạch điện theo qu điểm năng lượng và hai luật Kirchoff Xuất ph át từ mô hình mạch, xây dựng các phưo trình K irchoff để tính toán các thông số của mạch, vấn đề đặt ra, với các mạch phức tạ'ị
số lượng phương ừ-ình Kircho f f lớn nên việc giải mạch điện gặp nhiều khó khăn.
Đe năng cao hiệu quả trong quá trình giải mạch điện thì việc sử dụng phần m Matlab là giả i ph á p tốt M atlab cùng tập lệnh đa dạng rắt mạnh để thực hiện các bài tc
trận cho kết quả nhanh chóng và chính xác M atlab cho phép xử lý dữ liệu, biểu diễn họa đơn giàn, giúp người sử dụng có thế quan sát kết quà trực quan.
đặc biệt là sử dụng M atlab để giải bài tập Lý thuyết mạch, nhóm tác già chúng tôi đã b soạn cuốn sách “ử n g dụng M A TLA B phân tích và g iã i bài tập lý th u yết m ạ ch ” C i sách trình bày hai vấn đề quan trọng là giới thiệu về phần mềm M atlab và sử dụng Mat,
để giải một số bài tập lý thuyết mạch Nhóm tác gia đã cố gắng tạo ra một hệ thống bài I kết hợp phần mềm mô phỏng nhằm giúp bạn đọc d ễ dàng hệ thống được kiến thức gi bớt thời gian tính toán, nâng cao kỹ năng tư duy, lập trình, phân tích hệ thống.
Trong quá trình biên soạn, nhóm tác giả đã tham khào các ỷ kiến của đồng ngh
và tìm tòi tài liệu Song nội dung cuốn sách khó tránti'khỏi thiếu sót, chúng tôi rất mc nhận được sự g óp ý chân thành cùa bạn đọc để lần tái bán sau được hoàn thiện hơn
M ọi ý kiến đóng góp xúi gửi vể địa chi: Khoa Điện, Trường Đ ại học Sao Đ ỏ - s ố Thái Học, phường Sao Đò, thị xã Chí Linh, tinh Hài Dương.
Xin trân trọng cảm ơn!
C á c t á c
Trang 91.1 G IỚ I TH IỆU CHUNG VÊ PHẦN MỀM MATLAB
M atlab là một phần mềm ứng dụng chạy trong môi trường W indow s do hãn
M athW orks sản xuất và cung cấp N ó tích hợp các công cụ rất mạnh phục vụ tính toán, lậ trinh, thiết kế, mô phỏng Trong một môi trường rất dễ sử dụng, trong đó các bài toán V các lời giải được biểu diễn theo các ký hiệu toán học quen thuộc.
Các ứng dụng điển hình là:
- Toán học và tính toán.
- Phát triển thuật toán.
- Tạo mô hình, mô phỏng và tạo giao thức.
- Khảo sát phân tích số liệu.
- Đ ồ hoạ.
- Phát triển ứng dụng, gồm cà xây dựng giao diện người dùng đồ hoạ G U I.
M atlab là viết tắt cùa hai từ tiếng Anh: M a trix Laboratory (Phòng thí nghiệm rr trận) Ban đầu M atlab được viết chỉ đế phục vụ cho việc tính toán ma trận Qua thời gia
nó được phát triển thành một công cụ mạnh, hữu ích, một ngôn ngữ của kỹ thuật Tror môi trường đại học, nó là một công cụ chuẩn cho các khoá học mở đầu và cao cấp về to< học, khoa học, kỹ thuật Trong công nghiệp, nó là công cụ được lựa chọn cho việc phi
Trang 10Matlab cung cấp một họ các giài pháp theo hướng chuyên dụng hoá, được gọi là các Toolbox (hộp công cụ) Các Toolbox cho phép người sử dụng và áp dụng các kỹ thuật chuyên dụng cho một lĩnh vực nào đó Toolbox là một tập hợp toàn diện các hàm của Matlab cho phép mở rộng môi trường để giãi các lớp bài toán cụ thể Các lĩnh vực trong đó
có sẵn các Toolbox bao như: Xử lý tín hiệu, hệ thống điều khiển, logic mò, mô phỏng, Matlab gồm các phần chính sau:
- Ngôn ngữ Matlab: Là một ngôn ngữ ma trận/mảng cấp cao với các câu lệnh, hàm cấu trúc dữ liệu, vào/ra, các tính năng lập trinh hướng đối tượng N ó cho phép lập trinh các ứng dụng từ nhỏ đến các ứng dụng lớn và phức tạp.
- M ôi trường làm việc Matlab: Bộ các công cụ và phương tiện mà người sử đụng với
tư cách là người dùng hoặc người lập trình Matlab Bao gồm các phương tiện cho việc quản lý các biến trong không gian làm việc Workspace cũng như xuất, nhập dữ liệu, các công cụ phái triển, quản lý, gỡ rối và định hình M -file , ứng dụng cùa Matlab.
- Xử lý đồ hoạ: Bao gồm các lệnh cấp cao cho trực quan hoá dữ liệu hai chiều và ba chiều, xừ lý ảnh, ảnh động, Cung cấp các lệnh cấp thấp, cho phép tuỳ biên giao diện đồ hoạ cũng nhu xây dựng một giao diện đồ hoạ hoàn chình cho chương trinh ứng dụng.
- Thư viện toán học Matlab: Tập hợp khổng lồ các thuật toán tính toán từcác hàm cơ bản như cộng, trừ, nhân, chia, sin, COS, số phức, tới các hàm phức tạp hơn nhu nghịch đảo ma trận, tìm trị riêng của ma trận, phép biến đồi Fourier nhanh,
- Giao diện chương trình ứng dụng Matlab A P I (Application Program Interface): Đây là một thư viện cho phép viết các chương trình c và Fortran tương thích với Matlab.
- Simulink: M ô phỏng các hệ thống động học tuyến tính và phi tuyến Là một chương trinh đồ hoạ sử dụng chuột để thao tác cho phép mô hình hoá một hệ thống bằng cách vẽ một sơ đồ khối trên màn hình Nó có thể làm việc với các hệ thống tuyến tính, phi tuyến, hệ thống liên tục theo thời gian, hệ gián đoạn theo thời gian và hệ đa biến,
1.2 KHỚI ĐỘNG, THOÁT KHỎI CHƯƠNG TRÌNH
Trang 11Hình 1.1 Khởi động Matlab từ start menu
Sau khi khởi động, giao diện cửa sổ lệnh cùa M atlab xuất hiện như trên hình 1.2.
I 11 "o I File Edit Debug Parallel Desktop W indow Help
-D a 1 1 % £ "> t* : it d ? Ể ) C:\Users\Ac - 0 KÖ ••
Shortcuts ¿ ) How to Add ¿1 What's New
O New to MATLAB7 Watch this Video, see Demos, or read Getting Started
h » I
Hình 1.2 Cửa sổ lệnh của Matlab
Trên giao diên cửa 30 'lệnh gồm các phần cơ bản:
- Thanh công cụ chứa các M en u lệnh.
- Thanh công cụ chứa các biểu tirợng (short cut) thuờng sử dụng: Cho phép ng dùng thao tác các lệnh m ột cách trực tiếp thông qua biểu tuọmg.
- Cửa sổ hiển thị thông tin về đường dẫn (ngầm định) chứa file , chương trình Y
Trang 12- Thanh trạng thái chứa Menu Start cùa Matlab cho phép khởi động các chương trình
ng dụng trong Matlab và hiền thị thông tin trạng thái làm việc của chuơng trình.
- Phần lớn giao diện cửa sổ lệnh là vùng trống sau dấu » để người dùng nhập lệnh 3ặc hiển thị thông tin, kết quà thực hiện chương trình.
.2.2 Thoát khỏi Matlab
Có thể thoát khòi chương trinh bằng một trong các thao tác sau:
- Click chuột vào biểu tượng close ớ góc phải (trên cùng) từ cửa sổ lệnh.
- Từ cửa số lệnh gõ lệnh exit hoặc quit hoặc ấn tô hợp phím Ctrl+Q.
Hình 1.3 Menu File trong Matlab
- New: Tạo một file mới (chương trình mới), tùy thuộc vào mục đích sứ dụng, có thề
ì M -file, giao diện người sử dụng (G U I), mô phỏng trên Simulink,
- Open: M ó một file có sẵn.
Trang 13M A
- Imf)ort Data: Xuất dữ liệu đã lưu từ không gian làm việc của một file trước đó.
- Save Workspace As: Lưu dữ liệu từ không gian làm việc hiện hành.
- Set Path: Thiết lập đường dẫn ngầm định cho chương trình.
- Page Setup: Đ ịn h dạng trang làm việc.
- Print: In dữ liệu.
- Exit M A T L A B : Thoát khỏi chương trình.
1.3.2 Menu Edit
Chứa các lệnh hiệu chinh, chình sửa dữ liệu, cửa sổ của M enu Edit nhu trên hình 1
Hình 1.4 Menu Edit trong Matlab
> Undo: Hùy thao tác vừa thực hiện ngay trước đó.
> Redo: Ngược lại với lệnh Undo.
> Cut: Chuyển dữ liệu vào bộ nhớ đệm.
> Copy: Sao chép dữ liệu vào bộ nhớ đệm.
> Paste: Dán (lưu) dữ liệu vào vị trí con trò từ bộ nhớ đệm.
> Paste to Workspace: Dán (lưu) dừ liệu vào không gian làm việc.
V Select A ll: Lựa chọn toàn bộ ký tự (dữ liệu) hiển thị tại cứa sồ lệnh.
> Delete: Thực hiện lệnh xóa.
> Find: T ìm kiếm biến (ký tự) từ cừa sổ lệnh
r Find File: T ìm kiếm file.
Trang 14ỨNG DỤNG MATLAB phan TlCH vả giải bài tậ p lý t h u y ế t mạch
> Clear Command Window: Xóa thông tin cửa sổ lệnh.
> Clear Command History: Xóa thông tin lịch sử thực hiện lệnh.
> Clear Work Space: Xóa dữ liệu không gian làm việc.
Hình 1.5 Menu Desktop trong Matlab
1.3.6 Menu Window
Trang 15fflu in / NGHIÊN CỨU TỔNG QUAN VẾ PHẦN MÉM MATLAB u
1.3.7 Menu Help
Các tùy chọn hỗ trợ tài liệu tham khảo, mã nguồn, cấu trúc lệnh,
1.4.1 Biến trong Matlab
Đ ê xử lý dữ liệu, M atlab tạo ra các biến và gán cho chúng giá trị xác định.
a Tên biến
Tên biến phải bắt đầu bằng một chữ cái, sau đó có thể là số hoặc gạch dưới hoặc k
tự nhưng không được vượt quá 32 kí tự.
Tên biến được phân biệt bời chữ cái hoa hoặc chữ cái thường, để tắt chế độ này ti cửa sổ lệnh ta gõ:
>> casensenoff
% Ý nghĩa: Tắt chế độ phân biệt chữ hoa, chữ thường.
Biến phải được gán cho một giá trị cụ thể là số Trường hợp muốn khai báo biến 1 một k í tự hay một xâu kí tự (chẳng hạn như x,y) ta phải khai báo theo cấu trúc:
>> sỵms X ,y
Ý nghĩa: K hai báo X, y là tham số.
b C ác b iến n g ẩ m định
> ans: Tự động gán tên này cho kết quả của một phép tính m à ta không đặt tên.
> pi: Trong M atlab khi ta đánh pi.
> i, j : Đơn vị ảo của số phức.
> inf: In fin ity - vô cùng lớn.
> N a N : N o t a num ber - B iểu diễn dạng bất định: 0 /0 , co/co.
lực (bị ghi đè).
1.4.2 Không gian làm việc
Đ ể quản lý tên biến cũng như dữ liệu, M atlab tạo ra một vùng nhớ riêng để lưu tri thông tin gọi là không gian làm việc Workspace Tất cả các thông tin (dữ liệu) về các biế:
Trang 16Ý nghĩa: Lưu toàn bộ không gian làm việc (tất cả các biến đã khai báo) bàng một file
có tên là data với phần mở rộng là *.m at (data.mat).
Muốn xoá biến hoặc không gian làm việc ta thực hiện lệnh clear V i dụ:
Ý nghĩa: Xoá file có tên data.mat
Muốn sừ dụng dữ liệu về các biến đã lưu trong không gian làm việc ta sừ dụng lệnh load V í dụ:
1.5 QUY ƯỚC VÊ DẤU CÁC PHÉP TOÁN TRONG MATLAB
Matlab cho phép thực hiện các phép toán số học, logic và phép toán quan hệ Quy
Trang 17ffl,d n / NGHIÊN CỨU TỔNG QUAN VÉ PHÁN MỀM MATLAB
1.5.1 Quy ước dấu các phép toán số học
B àng 1.1 Quy ước các phép toán số học
5 / Thực hiện phép (oán chia phải (tử chia mẵu)
6 \ Thực hiện phép toán chia trái (mẵu chia tử)
4 / Thực hiện phép toán chia phải (tử chia mẫu) màng
5 A Thực hiện phép toán chia trái (mẫu chia tử) mảng
(Các phép toán màng nhãn, chia, luỹ thừa có thêm dấu chấm (.)
ớ trước dấu phép toán)
Cần lưu ý khi thực hiện xừ lý dữ liệu, M atlab ưu tiên thứ tự các phép toán như sa
l Ngoặc dơn; 2 Luỹ thừa; 3 Nhân hoặc Chia; 4 Cộng hoặc Trừ.
1.5.2 Quy ước dấu các phép toán logic
Bàng 1.2 Quy ước các phép toán logic
1 & Thực hiện phép toán logic “vá" (and)
2 I Thực hiện phép toán logic "hoặc" (or)
3 ' Thực hiện phép toán logic "đảo" (not)
Trang 18ỨNG DỤNG MATLAB PHẢN
Phép toán logic chỉ nhận giá trị đúng (truse) hoặc sai (false) Kết quả trả về là 1 (true) hoặc 0 (false).
1.5.3 Quy ước dấu các phép toán quan hệ
Bảng 1.3 Quy ước các phép toán quan hệ
2 > Thực hiện phép toán quan hệ lớn hơn
3 < Thực hiện phép toán quan hệ nhỏ hơn
4 >= Thực hiện phép toán quan hệ lởn hơn hoặc bẳng
5 <= Thực hiện phép toán quan hệ nhỏ hơn hoặc bẳng
6 Thực hiện phép toán quan hệ không bằng (khác)
(Thực hiện với các phần tử tương ứng của hai mảng)
Phép toán quan hệ chi nhận giá trị đúng (truse) hoặc sai (false) Trong Matlab, biểu thức đúng sẽ trả về giá trị là 1, biểu thức sai sẽ trả về giá trị là 0.
1.6 CÁC PHÍM TẮT TRONG MATLAB
- 1 hoặc Ctrl + p: Gọi lại các lệnh đã thực hiện trước đó.
- ị hoặc Ctrl + n: Gọi lại lệnh vừa thực hiện trước đó.
— > hoặc Ctrl + f: Chuyển con trỏ sang bên phải 1 ký tự.
- <- hoặc Ctrl + b: Chuyển con trỏ sang trái một ký tự.
- Dấu (;): Ket thúc một dòng lệnh.
- <J: nhảy xuống dòng dưới.
- Ctrl + A hoặc Home: Chuyển con trỏ về đầu dòng.
- Ctrl + E hoặc End: Chuyền con trỏ đến cuối dòng.
- Backspace: Xoá ký tự bên trái con trỏ.
- Esc: Xoá dòng lệnh.
Trang 19M á* / NGHIÊN CỨU TỔNG QUAN VỀ PHẦN MỀM MATLAB
- C trl + C: Dừng chương trinh đang thực hiện.
- clc: Lệnh xoá màn hình.
- elf: Lệnh xoá màn hình đồ hoạ.
- input: Lệnh nhập dữ liệu vào từ bàn phím.
- demo: Lệnh cho phép xem các chương trinh mẫu.
- help: Lệnh cho phép xem phần ừợ giúp.
- C trl - c: Dừng chương trình khi nó bị rơi vào trạng thái lặp không kết thúc.
- Dòng lệnh dài: N ếu dòng lệnh dài quá thì dùng J để chuyển xuống dòng dưới Tóm lại C ơ băn về ph ần mềm M atlab trong chương 1 trình bày những nội dung Ví kết quả cơ bản sau:
Khái niệm cơ bàn nhất về phần mềm M atlab như lịch sử phát triển, các ưu điểm Ví lĩnh vực ứng dụng của phần mềm M atlab V ó i phương pháp xử lý dữ liệu dạng m a trận thư viện hỗ trợ các hàm toán học, mô hình, đồ họa, một cách đa dạng ta thấy phần mềư
M atlab không chỉ ứng dụng trong lĩnh vực điện, điện tử m à còn là công cụ hỗ trợ đắc lực trong các lĩnh vực khác như: cơ khí, động lực học, kinh tế,
Những thao tác cơ bàn nhất khi làm việc vói phần mềm M atlab: Khởi động, thoá khỏi chuơng trình, chức năng của các M enu lệnh từ cửa sổ lệnh trong M atlab để từ đc người sử dụng có thể thực hiện khi thiết lập chương trình, chế độ cũng như xử lý dữ liệu ư cửa sổ lệnh.
Phương pháp đặt tên biến, cách quản lý, xử lý dữ liệu trong không gian làm việc - Workspace và quy ước về ký hiệu, chức nàng cùa các phép toán số học, logic, quan hệ Đồng thời nghiên cứu các phím tắt thông dụng để hỗ trợ các thao tác khi sử dụnị phần mềm.
Trang 20Phép toán logic chi nhận giá trị đúng (truse) hoặc sai (false) Kết quả ừà về là 1 (true) hoặc 0 (false).
1.5.3 Quy ước dấu các phép toán quan hệ
Bảng 1.3 Quy ước các phép toán quan hệ
2 > Thực hiện phép toán quan hệ lớn hơn
3 < Thực hiện phép toán quan hệ nhỏ hơn
4 >= Thực hiện phép toán quan hệ lớn hơn hoặc bằng
5 <= Thực hiện phép toán quan hệ nhỏ hơn hoặc bẳng
6 ~= Thực hiện phép toán quan hệ không bằng (khác)
(Thực hiện với các phần tử tương ứng của hai mảng)
Phép toán quan hệ chỉ nhận giá trị đúng (truse) hoặc sai (false) Trong M atlab, biểu thức đúng sẽ trả về giá trị là 1, biểu thức sai sẽ trả về giá trị là 0.
1.6 CÁC PHÍM TẮT TRONG MATLAB
- t hoặc Ctrl + p: Gọi lại các lệnh đã thực hiện trước đó.
- ị hoặc Ctrl + n: Gọi lại lệnh vừa thực hiện trước đó.
— » hoặc Ctrl + f: Chuyển con trò sang bên phải 1 ký tự.
- < - hoặc Ctrl + b: Chuyển con trò sang trái một ký tự.
- Dấu (;): Ket thúc một dòng lệnh.
- J : nhảy xuống dòng dưới.
- Ctrl + A hoặc Home: Chuyển con trỏ về đầu dòng.
- Ctrl + E hoặc End: Chuyển con trỏ đến cuối dòng.
- Backspace: Xoá ký tự bên trái con trỏ.
- Esc: Xoá dòng lệnh.
Trang 21» U n / NGHIÊN CỨU TỔNG QUAN VỀ PHẨN MỂM MATLAB L ! I
- Ctrl + C: Dừng chương trinh đang thực hiện.
- clc: Lệnh xoá màn hình.
- elf: Lệnh xoá màn hình đồ hoạ.
- input: Lệnh nhập dữ liệu vào từ bàn phím.
- demo: Lệnh cho phép xem các chưomg trinh mẫu.
- help: Lệnh cho phép xem phần trợ giúp.
- Ctrl - c: Dùng chương trình khi nó bị rơi vào trạng thái lặp không kết thúc.
- Dòng lệnh dài: N eu dòng lệnh dài quá thì dùng J để chuyển xuống dòng dưới.
T óm lại C ơ bản về ph ần m ềm M atlab trong chương 1 trình bày những nội dung và kết quả cơ bản sau:
Khái niệm cơ bản nhất về phần mềm M atlab như lịch sử phát triển, các ưu điểm và lĩnh vực ứng dụng cùa phần mềm M atlab V ớ i phương pháp xử lý dữ liệu dạng m a ữận, thư viện hỗ trợ các hàm toán học, mô hình, đồ họa, một cách đa dạng ta thấy phần mềm
M atlab không chi ứng dụng trong lĩnh vực điện, điện tử m à còn là công cụ hỗ trợ đắc lực trong các lĩnh vực khác như: cơ khí, động lực học, kinh tế,
Những thao tác cơ bản nhất khi làm việc với phần mềm M atlab: Khởi động, thoát khỏi chuơng trinh, chức năng của các M enu lệnh từ cửa sổ lệnh trong M atlab để từ đó người sừ dụng có thể thực hiện khi thiết lập chương trinh, chế độ cũng như xử lý dữ liệu từ cửa sổ lệnh.
Phương pháp đặt tên biến, cách quản lý, xử lý dữ liệu trong không gian làm việc - Workspace và quy ước về ký hiệu, chức năng của các phép toán số học, logic, quan hệ Đồng thời nghiên cứu các phím tắt thông dụng để hỗ trợ các thao tác khi sử đụng phần mềm.
Trang 2218 II ỨNG DỤNG MATLAB PHẢN tíc h và giải bai tập lý th u y ế t mạch
>>z=a+bj (i hoặc j là đơn vị ảo, Matlab đều chấp nhận Nếu viết đơn
vị ảo phia sau phần ào thì không cần dấu *)
Trang 23» U n / NGHIÊN CỬU TỔNG QUAN VỀ PHẢN mềm MATIAB
Bảng 2.1 Các hàm xử lý với sá phức
1 abs(x) Tinh trị tuyệt đối của (x)
2 conj(x) Tính số phức liên hợp của (x)
3 real(x) Tinh phằn thực của số phức (x)
4 imag(x) Tinh phần ảo của số phức (x)
5 angle(x) Tính argume của số phức (x) (kết quả lả rad)
2.2 MA TRẬN VÀ CÁC HÀM x ử LÝ V Ớ I MA TRẬN
2.2.1 Khái niệm
M a trận A có n hàng, m cột được gọi là ma trận cỡ n X m Được ký hiệu An X m Phần tử aij của ma trận A „ X m là phần tử nàm ờ hàng thứ i, cột j M a trận đơn (số đơn lẻ) là ma trận một hàng, một cột.
M a trận hàng (1 X m ) số liệu được bố trí trên một hàng.
Trang 24giá trị các phần từ trên cột = Tồng tất cả giá trị các phần từ trên đường chéo cùa ma trận.
Trang 25M ần /. NGHIÊN cứu TỔNG QUAN VỀ PHẢN MỀM MATLAB
N ếu A là một ma trận vuôíig và không duy nhất, các phương trình A X = 1 và X A = 1
có cùng một lời giải Lời giải này được gọi là phép nghịch đảo của m a trận A , được biểu diễn bởi A '1 và được tính toán bởi hàm inv Cú pháp: B = in v (A ).
Trang 27M ần / NGHIÊN CỨU TỔNG QUAN VÉ PHÂN MỀM MATLAB J |J 3
» A = [1 2 1; 1 0 1] %Kết quả:
A =
Trang 293 U / NGHIÊN cơu TỔNG QUAN VỀ PHẨN MỀM MATLAB 25
Phép chia m a trận thực chất là phép nhân với ma trận nghịch đảo.
trong ma trận sẽ được cộng, trừ, nhân, chia ( / ) với số thực đó tuỳ thuộc vào phép toán tương ứng.
p là một số nguyên dương thì A Ap sẽ nhân A với chính nó p lần
> >A =magic(3); X=A~3 % Kết quà:
Trang 30Để nhân hai đa thức trong Matlab dùng lệnh conv với phương pháp sứ dụng như sau:
» c o n v ( [ m a t r ậ n hàn g hệ sồ cùa đa t h ứ c 1], [ma t r ậ n h à n g hệ số của
ta phải thực hiện nhiều lần hàm conv.
b G iải phương trình bậc cao
Trang 31M â ',, / NGHIẾN CỨU TỔNG QUAN VÉ PHẨN MỀM MATLAB 27
» r o o t s ( [ m a trận hàng hệ sổ cùa phương trình sắp xếp từ bậc cao đến bậc thâp])
Kết quà nhận được là một ma trận cột là tập hợp các nghiệm của phương trình Chẳng hạn, cần giải phương trinh bậc cao:
y = a nx n + an.|Xn''+ + a o= 0
bậc của phương trình (N eu hệ số nào không có ghi 0).
Vi dụ 2.18. G iải phương trình sau: y = X5 - 2x4 + 5x2 - 1 = 0 T ừ cửa sổ lệnh, thực hiện lệnh :
K h i biết nghiệm, muốn tìm phương trình, ta sừ dụng cấu trúc lệnh:
» p o l y ( [ m a trận hàng là tập hợp các nghiệm cùa phương trìn h])
Kết quả sẽ là ma trận hàng là hệ số cùa hệ phương trình sắp xếp theo hệ số từ bậc cao đến bậc thấp.
Trang 3228 II _ ỨNG DỤNG MATIAB PHẤN TÍCH VA GIẢI BÀI TAP LỸ th u y ế t mạch Trong đó: A - ma trận hệ số vế trái (cùa X|, X 2, );
Trang 33ỉỹỉtầH / NGHIÊN CỨU TỔNG QUAN VẾ PHẨN MỀM MATLAB JLÜ
e G iả i b ệ p h ư ơ n g trìn h p h i tuyến (L ệa b solve)
Để giải hệ phương trình phi tuyến ta sử dụng lệnh solve với cú pháp từ cửa sô lệnh:
» s o l v e ( ‘ phương trinh 1 ‘ phương trình 2 ’ , ,‘phương trình n’ )
Trang 34TT Ky hi$u Ý nghĩa
8 acos(x) Tính arccos(x)
10 atan(x) Tinh arctg(x)
11 min(x) Tim số nhỏ nhất trong vector X
12 max(x) Tìm số lớn nhất trong vector X
13 sum(x) Tim tổng các phần tử của vector X
14 plot(x.y) V ẽ đồ thị tuyến tinh X - y (x - Trục hoành; y - Trục tung)
15 grid on Kè đường lưởi trên đồ thị
16 grid off Tắt đường lưới trên đồ thị
17 axis Cân chỉnh trục toạ độ và hình dạng của nó
18 hold on Giữ cửa sổ mán hình đồ hoạ
19 hold off Tắt (không giữ) cửa sổ màn hình đồ hoạ
20 cla Xoá đồ thị trên màn hình
21 num2str(x) Đổi X từ số sang dạng chuỗi
22 str2num(x) Đổi X từ chuỗi sang dạng số
23 clc Xoá cửa sổ lệnh (không xoá không gian làm việc)
24 disp('mang’) Hiển thị nội dung “mảng" trên cửa sổ lệnh
25 input(‘tb') Thông báo cho người sử dụng nhập dữ liệu vào từ bàn phim
26 function Định nghĩa một hàm
.27 delete data Xoá file có tên là data
28 roots(x) Giải phương trinh bậc cao với hệ số là vector X
29 poly(x) Tìm phương trình bậc cao với nghiệm là vector X
30 conv(f1 ,f2)
Trang 35M ẩ t , / NGHIÊN CỨU TỔNG QUAN VẾ PHẮN MÉM MATLAB 31
31 rank(a) Tinh hạng của ma trận a
32 trace(a) Tinh tổng các phần tử trên đường chéo chinh cùa ma trận a
33 det(a) Tinh định thức của ma trận a
34 inv(a) Tinh ma trận nghịch đào của ma trận a
35 a(m,n) Lẩy phàn tử nằm ờ hàng thứ m, cột thứ n cùa ma trận a
Báng 2.3 Các hàm chuyển đổi xâu
1 base2dec Dựa trên xâu X chuyển sang hệ mười.
2 bin2dec Từ xâu nhị phân sang hệ mười
4 dec2base Từ hệ mười sang xâu X
5 decỉbin Từ số hệ mười sang xâu nhị phân
6 dec2hex Từ số hệ mười sang xâu của các số hệ mười sáu
7 double Chuyển từ mã ASCII sang xâu
8 fprintf Viết dạng văn bản ra file hoặc ra màn hình
9 hex2dec Chuyền từ xâu gồm các số hệ mười sáu sang các số hệ mười
10 hex2num Chuyền từ xâu các số hệ mười sáu sang số dấu phẩy động IEEE
11 int2str Chuyển từ số nguyên sang xâu
12 mat2str Chuyền từ ma trận số sang xâu gồm các số
13 num2str Chuyển từ số sang xâu
14 sprintf Chuyển từ mã ASCII sang xâu
15 sscanf Chuyển từ số sang xâu có điều chinh kich thước
16 Str2num Chuyển từ xâu sang số khõng có điều chinh kích thước
Trang 36Bảng 2.4 Các hàm vè xâu
1 blanks(n) Trả lại một xâu gồm các kí tự trổng hay dấu cách
2 deblank(s) Trả lại các vệt trổng từ một xảu
3 eval(xâu) Ước lượng xâu như là một lệnh của MATLAB
4 eval(try, catch) Ước lượng xâu và bắt lỗi
5 feval(f, X , y , ) Hàm evaluate đa ra bằng xâu
6 findstr(s1, s2) Tim kiếm một xâu trong một xâu khác
7 ischar(s) True nếu đa vào là một xâu
8 isletter(s) True tại những vị tri kí tự Alphabet tồn tại
9 isspace(s) True tại những vị trí là kí tự trống
10 lasterr Xâu cùa lỗi cuối cùng MATLAB đa ra
11 lower(s) Xâu vởi những chữ cái thưởng
12 strcat(s1, s 2 , ) Nối các xâu thành hàng
13 strcmp(s1, s2) True nếu các xâu giống nhau
14 strmatch(s1, s2) Tìm kiếm khả năng giống nhau của xâu
15 stmcmp(s1, s2, n) True nếu n kí tự đầu giống nhau
16 strrep(s1, s2) Thay thế một xâu bằng một xâu khác
17 strtok(s) Tim kiếm dấu hiệu cho xâu
18 strvcat(s1, s 2 , ) Nối các xâu thành cột
19 upper(s) Chuyển thành chữ in
2.4 LẬP TRÌNH TRÊN M-FILE
Lập trình trong Matlab là sự soạn thảo các lệnh theo trình tự xác định để giải bài toàn Để Matlab chấp nhận, chương trình soạn thảo phải được cất giữ trong tệp với tên mờ rộng là (*.m ) thường được gọi là Dưới đây là một số khái niệm thường gặp.
> Script: Là một chuỗi lệnh được soạn thảo để thực hiện một hoặc nhiều phép toán
Trang 37M ẩn / NGHIÊN CỨU TỔNG QUAN VÉ PHẨN MỀM MATLAB J IJ 3
> Function (hàm): Là đoạn chương trinh con có thêm các hàm mới được bổ sung vào các hàm đã có.
> Biến cục bộ: L à các biến trong phạm vi một hàm.
> Biến toàn cục: L à biến được sử dụng chung.
M ộ t hàm có thể chứa cả biến chuyển giao (tham số - nargout) và biến nhận lại (tham
số vào - nargin).
K h i cần thực hiện một chương trình với số lượng các câu lệnh, phép toán lớn thì việc thực hiện trực tiếp trên cửa sổ lệnh sẽ gây ra nhiều phiền toái: quản lý biến, quan sát khó khăn, thao tác lắt nhắt, đặc biệt khi cần thay đổi thông số, dữ liệu của một số biến Để thuận tiện cho người dùng, M atlab cho phép viết chương trình (theo kiểu liệt kê lệnh) theo dạng một kịch bản (script file ) gọi là M -file mà từ đó người lập trinh có thể thực hiện viết chương trinh, quan sát, quàn lý, thay đổi thông số cùa các biến rất thuận lợi.
Để tạo M -fỉle , ta có thể thực hiện một trong hai cách:
> C lic k chuột trực tiếp vào biểu tượng N e w ( M -file ) từ cửa sổ lệnh hoặc ấn tổ hợp phím C trl+ N
> F ile /n e w /M -file , cửa sổ soạn thảo (editor) sẽ xuất hiện cho phép người lập trinh viết chương trình từ cửa sổ editor (hình 2.1)
Close Command Window CtrkW
Blank M-FHe CtftN ịtiVMATLAB
Function M-Filt
CUssM-File
Hình 2.1 Khởi tạo M-file từ Menu File
Trang 383*1 ỨNG DỤNG MATLAB PHẢN TÍCH VÀ GIẢI BÀI TẬP LÝ THUYẾT MẠCH Sau khi viết chương trình trên M -file người dùng có thể chạy chương trình băng cách ghi chương trình bằng một file có phần mờ rộng là *.m (cách đặt tên file cũng được quy định như cách đặt tên biến), sau đó ấn phim F5 hoặc từ cửa sổ editor vào Debug/run hoặc cũng có thể chuyển sang cửa sổ lệnh gõ chính xác tên file của M -file vừa ghi Tât cả các kết quả đều hiển thị trên cừa sổ lệnh và trên màn hình đồ hoạ (nếu người lập trinh sử dụng thêm các lệnh về đồ hoạ), thông tin về các biến được lưu trong Workspace.
2.5 CẤU TRÚC CÁC CÂU LỆNH ĐÍÊU KHIỂN
Trong Matlab cho phép người sừ dụng có thể sử dụng các cấu trúc điều khiển để lập trinh các ứng dụng tương tự như ngôn ngữ c Trong đó có các cấu trúc cơ bàn sau:
2.5.1 Cấu trúc if - end
i f biểu thức điều kiện
Nhóm các lệnh end
Trong đó if, end là các từ khoá; biểu thức điều kiện là các phép toán logic hoặc các phép toán quan hệ; Nhóm các lệnh có thể là một lệnh, một nhóm lệnh, một hàm (function) hoặc một đoạn chương trinh con.
điểu kiện là đúng Nếu biếu thức điểu kiện là sai thì Matlab sẽ bò qua và thực hiện đoạn chương trinh (câu lệnh) tiếp ngay sau.
2.5.2 Cấu trúc if - else - end
if bieu thức điều kiện
Nhóm các lệnh 1 else
Nhóm các các lệnh 2 end
kiện, n ếu đ ú n g thì th ự c h iệ n nhóm các lệnh 1 (k h ô n g th ự c h iệ n n h ó m lệ n h 2 s a u đ ó ) n ế u
sai thì bó qua nhóm các lệnh 1 và thực hiện nhóm các lệnh 2. Thực hiện xong thi thoát khỏi
Trang 39ffM t. / NGHIÊN cơu TỔNG QUAN VỀ PHẦN MÉM MATLAB i_ 3 5
2.5.3 Cấu trúc if - e lse if- elseif else - end
i f biểu thức điều kiện 1
N hóm các lệnh 1 elseif biểu thức điều kiện 2
N h óm các lệnh 2 elseif biểu thức điều kiện n
N h óm các lệnh n else
N h óm các lệnh còn lại end
nếu đúng thực hiện Nhỏm các lệnh 2, sai bỏ qua và kiểm tra biểu thức điều kiện 3 Trình
tự cứ như vậy cho đến bước thứ n N ếu tất cả các biếu thức điều kiện từ 1 đến n đều sai thực hiện Nhỏm các lệnh còn lại. c ầ n lưu ý là theo thứ tự từ trên xuống, nếu gặp biểu thức
Trong đó: fo r, end là các từ khoá; chi so chạy là biến trung gian; giá trị khởi đầu, giá
tăng thêm 1 đơn vị và Nhóm các lệnh thực hiện lần thứ 2 Cứ như vậy cho đến khi chi số chạy tăng đến giá trị kết thúc và Nhóm các lệnh thực hiện xong thì thoát khỏi vòng lặp.
Cũng tương tự như cấu trúc câu lệnh điều kiện, phần Nhóm các lệnh ta cũng có thể thực hiện nhiều vòng lặp fo r - end lồng nhau.
Trang 40Trong đó w hile, end là các từ khóa.
lệnh lần thứ nhất Sau đó quay trờ lại kiểm tra biểu thức điểu kiện lần thứ 2, nếu đúng thì tiếp tục thực hiện Nhóm các lệnh lần 2 Quá trinh cứ lặp lại và vòng lặp chi được thoát khi
Ta hoàn toàn có thể thực hiện các vòng lập w hile lồng nhau
Muốn thoát khỏi vòng lặp w hile thì dùng lệnh break
Lệnh break: kết thúc sự thực thi vòng lặp fo r hoặc while.
Lệnh return: thường được sử dụng trong các hàm của Matlab Lệnh re tu rn sẽ cho phép quay trở về thực thi những lệnh nằm trong tác dụng cùa lệnh return.
Lệnh e rro r ( ‘dòng nhắn): kết thúc thực thi lệnh và hiển thị dòng nhắn trên màn hình.
thì nhân với 3 rồi cộng 1 Lặp lại quá trinh đó cho đến khi kết quả là 1 Chương trinh:
while 1
n=input ('Nhap vao mot so : ');
if n<=0
break end while n>l
if rem(n,2)== 0% phan du cua n chia cho 2n=n/2
elsen= 3*n+lend
end
end
Khi chạy chương trình ta sẽ thấy tác dụng của lệnh break (dừng chương trinh khi