Điện - Điện Tử - Ứng dụng matlab mô phỏng mạch điện và điện tử

1.1. Giới thiệu sơ lược về MATLAB MATLAB là một chương trình do công ty "The MATHWORKS" viết cho máy tính cá nhân nhằm hỗ trợ cho các tính toán kỹ thuật tương ứng với các phần tử cơ bản là ma trận. MATLAB là từ viết tắt của MATRIX và LABORATORY. Chương trình này hiện đang được sử dụng nhiều trong nghiên cứu các vấn đề liên quan đến bài toán kĩ thuật như: Lý thuyết mạch điện – điện tử, Lý thuyết điều khiển tự động, Khảo sát và phân tích các chế độ làm việc của các thiết bị điện và hệ thống điện, Kỹ thuật thống kê xác suất, Xử lý số tín hiệu, Phân tích dữ liệu, Dự báo chuỗi quan sát, v.v MATLAB được điều khiển thông qua các tập lệnh. Nó cũng cho phép lập trình với cú pháp thông dịch lệnh – còn gọi là Script file hay M file với phần mở rộng là *.m. Các lệnh hay các tập lệnh của MATLAB lên đến hàng ngàn và ngày càng được mở rộng bởi các TOOLS BOX hay các hàm ứng dụng được xây dựng từ người sử dụng. MATLAB có hơn 49 TOOLS BOX để trợ giúp cho việc khảo sát những vấn đề có liên quan mà đã được đề cập. MATLAB 3.5 trở xuống hoạt động trong môi trường MS-DOS. MATLAB 4.0, 4.2, 5.1, 5.2, 5.3 hoạt động trong môi trường WINDOWS. Hiện tại đã có MATLAB version 6.1. MATLAB có thể chạy liên kết với các chương trình ngôn ngữ cấp cao như C, C++, Fortran, Việc cài đặt MATLAB thật dễ dàng và ta cần chú ý việc dùng thêm vào các thư viện trợ giúp hay muốn liên kết phần mềm này với một vài ngôn ngữ cấp cao khác.

pdf110 trang | Chia sẻ: hoang10 | Lượt xem: 857 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Điện - Điện Tử - Ứng dụng matlab mô phỏng mạch điện và điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRA ÀN THU HA Ø – HO À ĐẮC LO ÄC – HUY ØNH CHÂU DUY Ứng dụng matlab mô phỏng mạch điện và điện tử Trang 6 MỤC LỤC Lời nói đầu Trang Phần I: LẬP TRÌNH CĂN BẢN VỚI MATLAB ...................................................... 6 Chương 1: Giới thiệu sơ lược về MATLAB.................................................................. 6 Chương 2: Các lệnh cơ bản trong MATLAB ................................................................ 13 Chương 3: Các toán tử và các ký tự đặc biệt................................................................ 20 Chương 4: Các hàm logic.............................................................................................. 24 Chương 5: Lập trình trong MATLAB ........................................................................... 27 Chương 6: Các lệnh xử lý chuỗi ................................................................................... 31 Chương 7: Các hàm giao tiếp ....................................................................................... 35 Chương 8: Các hàm toán học cơ bản ............................................................................ 39 Chương 9: Các lệnh thao tác trên ma trận .................................................................... 43 Chương 10: Các phép tính đại số.................................................................................. 52 Chương 11: Đồ họa trong MATLAB ............................................................................ 58 Phần II: MỘT SỐ VÍ DỤ ỨNG DỤNG LẬP TRÌNH TRONG MATLAB .............. 67 Tài liệu tham khảo .112 Ứng dụng matlab mô phỏng mạch điện và điện tử Trang 6 CHƯƠNG I GIỚI THIỆU SƠ LƯỢC VỀ MATLAB 1.1. Giới thiệu sơ lược về MATLAB MATLAB là một chương trình do công ty "The MATHWORKS" viết cho máy tính cá nhân nhằm hỗ trợ cho các tính toán kỹ thuật tương ứng với các phần tử cơ bản là ma trận. MATLAB là từ viết tắt của MATRIX và LABORATORY. Chương trình này hiện đang được sử dụng nhiều trong nghiên cứu các vấn đề liên quan đến bài toán kĩ thuật như: Lý thuyết mạch điện – điện tử, Lý thuyết điều khiển tự động, Khảo sát và phân tích các chế độ làm việc của các thiết bị điện và hệ thống điện, Kỹ thuật thống kê xác suất, Xử lý số tín hiệu, Phân tích dữ liệu, Dự báo chuỗi quan sát, v.v MATLAB được điều khiển thông qua các tập lệnh. Nó cũng cho phép lập trình với cú pháp thông dịch lệnh – còn gọi là Script file hay M file với phần mở rộng là *.m. Các lệnh hay các tập lệnh của MATLAB lên đến hàng ngàn và ngày càng được mở rộng bởi các TOOLS BOX hay các hàm ứng dụng được xây dựng từ người sử dụng. MATLAB có hơn 49 TOOLS BOX để trợ giúp cho việc khảo sát những vấn đề có liên quan mà đã được đề cập. MATLAB 3.5 trở xuống hoạt động trong môi trường MS-DOS. MATLAB 4.0, 4.2, 5.1, 5.2, 5.3 hoạt động trong môi trường WINDOWS. Hiện tại đã có MATLAB version 6.1 . MATLAB có thể chạy liên kết với các chương trình ngôn ngữ cấp cao như C, C++, Fortran, Việc cài đặt MATLAB thật dễ dàng và ta cần chú ý việc dùng thêm vào các thư viện trợ giúp hay muốn liên kết phần mềm này với một vài ngôn ngữ cấp cao khác. 1.2. Hướng dẫn cài đặt MATLAB Để cài đặt MATLAB, ta tiến hành các bước sau: 1. Đặt đĩa CD cài đặt MATLAB vào ổ đĩa CD-Rom máy tính của bạn. Chương trình sẽ tự động cài đặt và các giao diện cài đặt lần lượt xuất hiện như sau: Hình 1.1.Giao diện cài đặt MATLAB Ứng dụng matlab mô phỏng mạch điện và điện tử Trang 6 2. Chương trình cài đặt xuất hiện ra một thông báo và tiếp tục nhấn Next để tiếp tục quá trình cài đặt. Hình 1.2.Thông báo xác nhận việc cài đặt chương trình 3. Chương trình yêu cầu chúng ta nhập vào CD key cho chương trình cài đặt. Sau đó, tiếp tục nhấn Next để tiếp tục. Hình 1.3.Giao diện nhập vào CD key cho chương trình cài đặt Ứng dụng matlab mô phỏng mạch điện và điện tử Trang 7 4. Nếu CD key của chúng ta là đúng. Chương trình sẽ hiện ra một thông báo. Khi ấy, chúng ta nhấn Yes để tiếp tục. Hình1.4.Thông báo khi CD key nhập vào là đúng 5. Tiếp tục, chương trình yêu cầu chúng ta nhập vào các thông tin của người sử dụng, sau khi nhập đầy đủ vào chúng ta nhấn Next để tiếp tục : Hình 1.5.Giao diện nhập vào các thông tin của người sử dụng 6. Kế đến, MATLAB yêu cầu chúng ta lựa chọn các phần cần cài đặt. Lưu ý: trong bước này đối với các máy tính cá nhân của chúng ta phần lớn không chạy mạng. Do đó, chúng ta nên bỏ qua 2 tùy chọn đó là: • Matlab Runtime Server • Matlab Web Server Sau khi chọn xong, nhấn Next để tiếp tục. Ứng dụng matlab mô phỏng mạch điện và điện tử Trang 8 Hình 1.6. Giao diện thiết lập các tùy chọn cài đặt 7. Sau khi hoàn thành các bước trên, MATLAB bắt đầu cài đặt chương trình vào máy tính. Hình 1.7. Giao diện hiển thị quá trình cài đặt 8. Sau khi cài đặt chương trình xong, MATLAB sẽ xuất hiện một thông báo và chúng ta nhấn Finish để hoàn thành quá trình cài đặt, khi ấy máy tính sẽ được khởi động lại. 1.3. Giới thiệu giao diện của MATLAB Ứng dụng matlab mô phỏng mạch điện và điện tử Trang 9 Khởi động MATLAB Trên hệ điều hành Windows, để khởi động MATLAB, ta nhấp đôi vào biểu tượng MATLAB trên cửa sổ màn hình nền của bạn. Sau khi khởi động MATLAB, cửa sổ màn hình MATLAB được mở ra như hình 1.9. Giới thiệu giao diện của MATLAB       Hình 1.9.Cửa sổ giao diện của MATLAB    Vùng mà click vào để xem các tài liệu hướng dẫn, các demo và các công cụ của MATLAB  Click vào để có được sự giúp đỡ sử dụng của MATLAB  Vùng đưa các lệnh vào cho MATLAB thực thi.  Vùng click vào để xem hoặc thay đổi thư mục hiện tại  Vùng click vào để di chuyển cửa sổ Command Window ra ngoài cửa sổ màn hình giao diện  Click vào để đóng cửa sổ Command Window  Xem hoặc sử dụng các hàm đã được sử dụng ở các lần chạy chương trình trước. Ứng dụng matlab mô phỏng mạch điện và điện tử Trang 10  Sử dụng các Tab để đi đến các cửa sổ Workspace hoặc cửa sổ thư mục hiện tại. Rê chuột vào để thay đổi kích thước của cửa sổ giao diện MATLAB. Giao diện cửa sổ soạn thảo chương trình Vào File chọn New/M-file để mở giao diện soạn thảo chương trình MATLAB. Hình 1.10. Chọn file soạn thảo M-file Khi ấy cửa sổ sau sẽ xuất hiện: Hình 1.11. Giao diện cửa sổ soạn thảo chương trình Ứng dụng matlab mô phỏng mạch điện và điện tử Trang 11 Sau khi soạn thảo chương trình xong, chúng ta sẽ lưu tập tin này lại dưới dạng file có phần mở rộng là *.m bằng cách vào File chọn Save As Hình 1.12.Lưu tập tin *.m Thoát khỏi MATLAB Sau khi làm việc xong muốn thoát khỏi MATLAB, chúng ta vào File chọn Exit MATLAB hoặc click vào dấu “x” ở góc phải màn hình. Hình 1.13. Thoát khỏi MATLAB Ứng dụng matlab mô phỏng mạch điện và điện tử Trang 12 CHƯƠNG II CÁC LỆNH CƠ BẢN TRONG MATLAB 2.1. Biến trong MATLAB Tên các biến trong MATLAB có thể dài 19 kí tự bao gồm các chữ cái, các chữ số cũng như một vài kí tự đặc biệt khác nhưng luôn phải bắt đầu bằng một chữ cái. Bình thường, MATLAB có sự phân biệt các biến được tạo bởi các chữ cái thường và chữ cái hoa. Nói chung, các lệnh trong MATLAB thường sử dụng các chữ cái thường. 2.2. Thực hiện lệnh trong MATLAB MATLAB in ra kết quả từ mỗi lệnh do người sử dụng nhập vào tại dấu nhắc. Ngoài ra, khi muốn thực hiện cùng một lúc nhiều lệnh, muốn thay đổi giá trị của một hoặc nhiều biến MATLAB cho phép chúng ta tập hợp các lệnh đó vào một text file. Sau đó, thực hiện việc mở text file này ra và thực thi nó. Những file này chính là các script file hay M file với phần mở rộng là *.m. 2.3. Các lệnh cơ bản Lệnh ans a) Chức năng: Là biến chứa kết quả mặc định. b) Giải thích Khi thực hiện một lệnh nào đó mà chưa có biến chứa kết quả, thì MATLAB lấy biến “ans ” làm biến chứa kết quả đó. c) Ví dụ c)Ví dụ >> 9-1 >> c=clock ans = c = 8 1.0e+003 * >> 2.0030 0.0040 0.0210 0.0180 0.0050 Lệnh clock 0.0273 a) Chức năng >> c=fix(clock) Thông báo ngày giờ hiện tại. c = b) Cú pháp 2003 4 21 18 5 37 c = clock >> Chú ý Để thông báo dễ đọc ta dùng hàm fix. Giải thích kết quả: MATLAB thông báo “Năm 2003 tháng 4 ngày 21, 18 giờ 5 phút 37 giây” Lệnh computer a) Chức năng c)Ví dụ Cho biết hệ điều hành của máy vi tính đang sử dụng Matlab. » [c,m]=computer b) Cú pháp c = computer PCWIN [c,m] = computer m = Với 2.1475e+009 c - chứa thông báo hệ điều hành của máy. m - số phần tử của ma trận lớn nhất mà máy có thể làm việc được với MATLAB Ứng dụng matlab mô phỏng mạch điện - điện tử Trang 13 Lệnh date a) Chức năng c)Ví dụ Thông báo ngày tháng năm hiện tại >> s=date b) Cú pháp s = s = date 21-Apr-2003 Lệnh cd >> a) Chức năng Chuyển đổi thư mục làm việc. b) Cú pháp cd cd diretory cd .. Với cd cho biết thư nục hiện hành. diretory đường dẫn đến thư mục muốn làm việc. cd .. chuyển đến thư mục cấp cao hơn một bậc. Lệnh clc a) Chức năng c)Ví dụ Xóa cửa sổ lệnh. clc, for i: 25, home, A = rand(5), b) Cú pháp end. clc Lệnh clear a) Chức năng Xóa các đề mục trong bộ nhớ. b) Cú pháp clear clear name clear name1 name2 name3 clear functions clear variables clear mex clear global clear all Với clear xóa tất cả các biến khỏi vùng làm việc. clear name xóa các biến hay hàm được chỉ ra trong name. clear functions xóa tất cả các hàm trong bộ nhơ.ù clear variables xóa tất cả các biến ra khỏi bộ nhớ. clear mex xóa tất cả các tập tin .mex ra khỏi bộ nhớ. clear xóa tất cả các biến chung. clear all xóa tất cả các biến, các hàm và các tập tin .mex khỏi bộ nhớ. Lệnh này làm cho bộ nhớ trống hoàn toàn. Lệnh delete a) Chức năng Xóa tập tin và đối tượng đồ họa. Ứng dụng matlab mô phỏng mạch điện - điện tử Trang 14 b) Cú pháp delete filename delete (n) Với file name tên tập tin cần xóa. n biến chứa đối tượng đồ họa cần xóa. Nếu đối tượng là một cửa sổ thì cửa sổ sẽ đóng lại và bị xóa. Lệnh demo a) Chức năng Chạy các chương trình mặc định của MATLAB. b) Cú pháp demo Với demo là chương trình có sẵn trong MATLAB. Nó minh họa một số chức năng của MATLAB. Lệnh diary a) Chức năng Lưu vùng thành file trên đĩa. b) Cú pháp diary filename Với filename: tên của tập tin. Lệnh dir a) Chức năng Liệt kê các tập tin và thư mục. b) Cú pháp dir dir name Với dir liệt kê các tập tin và thư mục có trong thư mục hiện hành. dir name đường dẫn đến thư mục cần liệt kê. Lệnh disp a) Chức năng Trình bày nội dung của biến (x) ra màn hình b) Cú pháp disp (x) Với x là tên của ma trận hay là tên của biến chứa chuỗi ký tự, nếu trình bày trực tiếp chuỗi ký tự thì chuỗi ký tự được đặt trong dấu ‘’ c) Ví dụ >> text=('Cac lenh co ban trong MATLAB') matrix = text = 2 0 0 3 Cac lenh co ban trong MATLAB >> disp(matrix) >> disp(text) 2 0 0 3 Cac lenh co ban trong MATLAB >> >> matrix=[2 0 0 3] Ứng dụng matlab mô phỏng mạch điện - điện tử Trang 15 Lệnh echo a) Chức năng Hiển thị hay không hiển thị dòng lệnh đang thi hành trong file *.m. b) Cú pháp echo on echo off Với on hiển thị dòng lệnh. off không hiển thị dòng lệnh. Lệnh FORMAT a) Chức năng Định dạng kiểu hiển thị của các con số. Cú pháp Giải thích Ví dụ Format short Hiển thị 4 chữ số sau dấu 3.1416 chấm Format long Hiển thị 14 chữ số sau dấu 3.14159265358979 chấm Format rat Hiển thị dạng phân số của 355/133 phần nguyên nhỏ nhất Format + Hiển thị số dương hay âm + Lệnh help a) Chức năng Hướng dẫn cách sử dụng các lệnh trong MATLAB. b) Cú pháp help help topic Với help hiển thị vắn tắt các mục hướng dẫn. topic tên lệnh cần được hướng dẫn. Lệnh home a) Chức năng Đưa con trỏ về đầu vùng làm việc. b) Cú pháp home c)Ví dụ Tính chiều dài của vectơ x. Lệnh length >> x = [0 1 2 3 4 5 6 7 8 9] a) Chức năng x = Tính chiều dài của một vectơ. 0 1 2 3 4 5 6 7 8 9 b) Cú pháp >> l = length (x) l = length (x) l = Với 10 l biến chứa chiều dài >> vectơ. Ứng dụng matlab mô phỏng mạch điện - điện tử Trang 16 Lệnh load a) Chức năng Nạp file từ đĩa vào vùng làm việc. b) Cú pháp load load filename load filename load finame.extension Với load nạp file matlap.mat load filename nạp file filename.mat load filename.extension nạp file filename.extension Tập tin này phải là tập tin dạng ma trận có nghĩa là số cột của hàng dưới phải bằng số cột của hàng trên. Kết quả ta được một ma trận có số cột và hàng chính là số cột và hàng của tập tin văn bản trên. Lệnh lookfor a) Chức năng Hiển thị tất cả các lệnh có liên quan đến topic. b) Cú pháp lookfor topic Với topic tên lệnh cần được hướng dẫn. Lệnh pack a) Chức năng Sắp xếp lại bộ nhớ trong vùng làm việc. b) Cú pháp pack pack filename Với Nếu như khi sử dụng MATLAB máy tính xuất hiện thông báo “Out of memory” thì lệnh pack có thể tìm thấy một số vùng nhớ còn trống mà không cần phải xóa bớt các biến. Lệnh “ pack ” giải phóng không gian bộ nhớ cần thiết bằng cách nén thông tin trong vùng nhớ xuống cực tiểu. Vì MATLAB quản lý bộ nhớ bằng phương pháp xếp chồng nên các đoạn chương trình MATLAB có thể làm cho vùng nhớ bị phân mảnh. Do đó sẽ có nhiều vùng nhớ còn trống nhưng không đủ để chứa các biến lớn mới. Lệnh pack sẽ thực hiện: • lưu tất cả các biến lên đĩa trong một tập tin tạm thời là pack.tmp. • xóa tất cả các biến và hàm có trong bộ nhớ. • lấy lại các biến từ tập tin pack.tmp. • xóa tập tin tạm thời pack.tmp. Kết quả là trong vùng nhớ các biến được gộp lại hoặc nén lại tối đa nên không bị lãng phí bộ nhớ. Pack.finame cho phép chọn tên tập tin tạm thời để chứa các biến. Nếu không chỉ ra tên tập tin tạm thời thì Matlab tự lấy tên tập tin đó là pack.tmp. Nếu đã dùng lệnh pack mà máy vẫn còn báo thiếu bộ nhớ thì bắt buộc phải xóa bớt các biến trong vùng nhớ đi. Ứng dụng matlab mô phỏng mạch điện - điện tử Trang 17 Lệnh path a) Chức năng Tạo đường dẫn, liệt kê tất cả các đường dẫn đang có. b) Cú pháp path p = path path (p) Với path liệt kê tất cả các dường dẫn đang có. p biến chứa đường dẫn. path (p) đặt đường dẫn mới. Lệnh quit a) Chức năng Thoát khỏi MATLAB b) Cú pháp quit Lệnh size a) Chức năng Cho biết số dòng và số cột của một ma trận. b) Cú pháp d = size (x) [m,n] = size (x) m = size (x,1) n = size (x,2) Với x tên ma trận. d tên vectơ có 2 phần tử, phần tử thứ nhất là số dòng, phần tử còn lại là số cột. m,n biến m chứa số dòng, biến n chứa số cột c) Ví dụ Ta có ma trận x x = 1 2 3 4 5 6 6 8 >> x=[1 2 3 4;5 6 7 8] x = >> n=size(x,2) 1 2 3 4 n = 5 6 7 8 4 >> d=size(x) >> [m,n]=size(x) d = m = 2 4 2 >> m=size(x,1) n = m = 4 2 >> Lệnh type a) Chức năng Hiển thị nội dung của tập tin. Ứng dụng matlab mô phỏng mạch điện - điện tử Trang 18 b) Cú pháp type filename Với filename tên file cần hiển thị nội dung. Lệnh này trình bày tập tin được chỉ ra. Lệnh what a) Chức năng Liệt kê các tập tin *.m, *.mat, *.mex. b) Cú pháp what what dirname Với what liệt kê tên các tập tin .m, .mat, .mex có trong thư mục hiện hành. dirname tên thư mục cần liệt kê. Lệnh which a) Chức năng Xác định chức năng của funname là hàm của MATLAB hay tập tin. b) Cú pháp c)Ví dụ which funname which inv Với inv is a build-in Funname là tên lệnh trong MATLAB hay tên function tập tin which f Lệnh WHO, WHOS c:\matlab\bin\f.m a) Chức năng Thông tin về biến đang có trong bộ nhớ. b) Cú pháp who whos who global whos global c) Giải thích who liệt kê tất cả các tên biến đang tồn tại trong bộ nhớ. whos liệt kê tên biến, kích thước, số phần tử và xét các phần ảo có khác 0 không. who global và whos liệt kê các biến trong vùng làm việc chung. Các phím chức năng đặc biệt Ctrl + P hoặc ↑↑↑ Gọi lại lệnh vừa thực hiện trước đó từ của sổ lệnh của Ctrl + n hoặc ↓↓↓ MATLAB Ctrl + f hoặc →→→ Gọi lại lệnh đã đánh vào trước đó Ctrl + b hoặc ←←← Chuyển con trỏ sang phải một kí tự Ctrl + l hoặc Ctrl + →→→ Chuyển con trỏ sang trái một kí tự. Ctrl + r hoặc Ctrl + ←←← Chuyển con trỏ sang phải một từ Ctrl + a hoặc HOME Chuyển con trỏ sang trái một từ Ctrl + k Chuyển con trỏ về đầu dòng. Xoá cho đến dòng cuối cùng Ứng dụng matlab mô phỏng mạch điện - điện tử Trang 19 CHƯƠNG III CÁC TOÁN TỬ VÀ KÝ TỰ ĐẶC BIỆT 3.1. Các toán tử số học Toán tử Công dụng + Cộng ma trận hoặc đại lượng vô hướng (các ma trận phải có cùng kích thước). - Trừ ma trận hoặc đại lượng vô hướng (các ma trận phải có cùng kích thước). * Nhân ma trận hoặc đại lượng vô hướng (ma trận 1 phải có số cột bằng số hàng của ma trận 2). .* Nhân từng phần tử của 2 ma trận hoặc 2 đại lượng vô hướng (các ma trận phải có cùng kích thước). \ Thực hiện chia ngược ma trận hoặc các đại lượng vô hướng (A\B tương đương với inv (A)*B). .\ Thực hiện chia ngược từng phần tử của 2 ma trận hoặc 2 đại lượng vô hướng (các ma trận phải có cùng kích thước). / Thực hiện chia thuận 2 ma trận hoặc đại lượng vô hướng (A/B tương đương với A*inv(B)). ./ Thực hiện chia thuận từng phần tử của ma trận này cho ma trận kia (các ma trận phải có cùng kích thước). ^ Lũy thừa ma trận hoặc các đại lượng vô hướng. .^ Lũy thừa từng phần tử ma trận hoặc đại lượng vô hướng (các ma trận phải có cùng kích thước). Ví dụ: Phép tính ma trận Phép tính mảng 1 4