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.
110 trang |
Chia sẻ: hoang10 | Lượt xem: 1071 | Lượt tải: 2
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