Tải bản đầy đủ (.pdf) (110 trang)

ứng dụng matlab mô phỏng mạch điện, điện tử - nhiều tác giả

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.7 MB, 110 trang )

TRẦN THU HÀ – HỒ ĐẮC LỘC – HUỲ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ụ
>> c=clock
>> 9-1
c=
ans =
1.0e+003 *
8
2.0030
0.0040
0.0210
0.0180
0.0050
>>
0.0273
Lệnh clock
>> c=fix(clock)
a) Chức năng
c=
Thông báo ngày giờ hiện tại.
2003
4
21
18
5
37
b) Cú pháp

>>
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
c=
b) Cú pháp
PCWIN
computer
m=
[c,m] = computer
2.1475e+009
Với
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
c)Ví dụ
a) Chức năng

>> s=date
Thông báo ngày tháng năm hiện tại
s=
b) Cú pháp
21-Apr-2003
s = date
>>
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
c)Ví dụ
a) Chức năng
clc, for i: 25, home, A = rand(5),
Xóa cửa sổ lệnh.
end.
b) Cú pháp
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
n

tên tập tin cần xóa.
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
Format short

Giải thích
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
Hiển thị dạng phân số của 355/133
phần nguyên nhỏ nhất
Hiển thị số dương hay âm +

Format rat
Format +

Ví dụ

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ụ

Lệnh length
a) Chức năng
Tính chiều dài của một vectơ.
b) Cú pháp
l = length (x)
Với
l
biến chứa chiều dài
vectơ.

Tính chiều dài của vectơ x.
>>
x = [0 1 2 3 4 5 6 7 8 9]
x=
0 1 2 3 4 5 6 7 8
>> l = length (x)
l=
10
>>

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

9

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 ↑
Ctrl + n hoaëc ↓
Ctrl + f hoaëc →
Ctrl + b hoaëc ←
Ctrl + l hoaëc Ctrl + →
Ctrl + r hoặc Ctrl + ←
Ctrl + a hoặc HOME
Ctrl + k


Gọi lại lệnh vừa thực hiện trước đó từ của sổ lệnh của
MATLAB
Gọi lại lệnh đã đánh vào trước đó
Chuyển con trỏ sang phải một kí tự
Chuyển con trỏ sang trái một kí tự.
Chuyển con trỏ sang phải một từ
Chuyển con trỏ sang trái một từ
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ụ:

X*y

phép toán sai

x. * y

X’* y

32
4 5 6

8 10 12
12 15 18
2
4
6

x’.* y

Pheùp tính mảng
4
5
6
4 5 6
-3
-3
-3
-3
-3
-3
4
10
18
phép toán sai

x. * y’

phép toán sai

x
x’

x+y

x+2

x * y’

x*2

Phép tính ma trận
1
2
3
123
5
6
7
3
4
5

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

y
y’
x–y

x–2

x.* 2


2
4
6
Trang 20


X\y

16/7

x.\ y

1/2
1
3/2
0 0 1/6
0 0 1/3
0 0 1/2
1/2
1
3/2

x./ y

X^y

phép toán sai

x.^ y


X^2

phép toán sai

x.^ 2

2\x

x/y

x/2

2^x

phép toán sai

2./ x

x./ 2

2.^ x

4
5/2
2
2
1
2/3
1/4
2/5

1/2
1/2
1
3/2
1/2
32
729
1
4
9
2
4
8

3.2. Các toán tử quan hệ
Toán tử
Công dụng
<
So sánh nhỏ hơn.
>
So sánh lớn hơn.
>=
So sánh lớn hơn hoặc bằng.
<=
So sánh nhỏ hơn hoặc bằng.
==
So sánh bằng nhau cả phần thực và phần ảo.
-=
So sánh bằng nhau phần ảo.
Các toán tử quan hệ thực hiện so sánh từng thành phần của 2 ma trận. Chúng tạo ra

một ma trận có cùng kích thước với 2 ma trận so sánh với các phần tử là 1 nếu phép so sánh
là đúng và là 0 nếu phép so sánh là sai.
Phép so sánh có chế độ ưu tiên sau phép toán số học nhưng trên phép toán logic.
Ví dụ
Thực hiện các phép so sánh sau:
>> x=5
x=
5
>> x>=[1 2 3;4 5 6;7 8 9]
ans =
1 1 1
1 1 0
0 0 0
>>>> x=A
x=
Ứng dụng matlab mô phỏng mạch điện - điện tử

Trang 21


1
4
7

2
5
8

>>
>> x==A

ans =
1 1
1 1
1 1
>>

3
6
9

1
1
1

3.3. Các toán tử logic
Toán tử
Công dụng
&
Thực hiện phép toán logic AND.
|
Thực hiện phép toán logic OR.
~
Thực hiện phép toán logic NOT.
Kết quả của phép toán là 1 nếu phép logic là đúng và là 0 nếu phép logic là sai.
Phép logic có chế độ ưu tiên thấp nhất so với phép toán số học và phép toán so sánh.
Ví dụ
Khi thực hiện phép toán 3>4 & 1+ thì máy tính sẽ thực hiện 1+2 được 3, sau đó tới 3>4
được 0 rồi thực hiện 0 & 3 và cuối cùng ta được kết qủa là 0.
3.4. Các ký tự đặc biệt
Ký hiệu

[]
()
=

.
,
;
%
!

Công dụng
Khai báo vector hoặc ma trận.
Thực hiện phép toán ưu tiên, khai báo các biến và các chỉ số của
vector.
Thực hiện phép gán.
Chuyển vị ma trận tìm lượng liên hiệp của số phức.
Điểm chấm thập phân.
Phân biệt các phần tử của ma trận và các đối số trong dòng lệnh.
Ngăn cách giữa các hàng khi khai báo ma trận.
Thông báo dòng chú thích.
Mở cửa sổ MS – DOS.

Dấu ‘ :’ tạo vector hoặc ma trận phụ và lặp đi lặp lại các giá trị.
b)Ví dụ
Khi khai báo D = 1 : 10
Ta được kết quả:
D = 1 2 3 4 5 6 7 8 9 10
Còn khi khai báo D = 0 : 2 :10
Thì ta được kết quả:D = 0 2 4 6 8 10
Khai báo


Công dụng

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

Trang 22


j:k
j:i:k
A(: , j)
A(i , :)
A(: , :)
A(j , k)
A(: , j , k)
A(:)

Tạo ra chuỗi j, j+1, j+2,…., k-1, k
Tạo ra chuỗi j, j+i, j+2I,….,k-i, k
Chỉ cột thứ j của ma trận A
Chỉ hàng thứ i của ma trận
Chỉ toàn bộ ma trận A
Chỉ phần tử A(j), A(j+1)…A(k)
Chỉ các phần tử A(:, j), A(:, j+1)…A(:, k)
Chỉ tất cả các thành phần của ma trận A

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

Trang 23



CHƯƠNG IV

CÁC HÀM LOGIC
Lệnh all
a) Chức năng
Kiểm tra vector hay ma trận có giá trị 0 hay không.
b) Cú pháp
y = all(x)
Với
y
biến chứa kết quả
x
tên vedtor hay ma trận
y = 1 khi tất cả các phần tử khác 0
y = 0 khi có 1 phần tử bằng 0
c) Ví dụ
a=
>>a=[1 2 3]
1 2 3
a=
4 0 6
1 2 3
7 8 9
>>y=all(a)
>>y=all(a)
y=
y=
1 0 1
1

>>a=[1 2 0;0 3 5;2 6 8]
>>a=[1 0 3]
a=
a=
1 2 0
1 0 3
0 3 5
>>y=all(a)
2 6 8
y= 0
>>y=all(a)
>>a=[1 2 3;4 0 6;7 8 9]
y= 0 1 0
Lệnh any
a) Chức năng
Kiểm tra vector hay ma trận có giá trị khác 0 hay không.
b) Cú pháp
y = any(x)
Với
y
biến chứa kết quả.
x
tên vector, hay ma trận.
y = 1 khi có 1 phần tử khác 0.
y = 0 khi có 1 phần tử bằng 0.
c) Ví dụ
>>c=[1 2 0 4;0 2 0 4;1 2 3 4;3 4 y =
>>a=[1 2 3];
5 6]
1 1 1 1

>>y=any(a)
c=
>>d=[0 0 0 0;0 1 3 0]
y=
1 2 0 4
d=
1
0 2 0 4
0 0 0 0
>>b=[1 0 3 0];
1 2 3 4
0 1 3 0
>>y=any(b)
3 4 5 6
>>y=any(d)
y= 1
>>y=any(c)
y=
0

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

1

1

0

Trang 20



Lệnh exist
a) Chức năng
Kiểm tra biến hay file có tồn tại hay không.
b) Cú pháp
e = exist(‘item’)
Với
item
là tên file hay tên biến.
e
biến chứa giá trị trả về.
E

Ý nghóa
0
item không tồn tại trong vùng làm việc
1
item là biến đang tồn tại trong vùng làm việc
2
item đang tồn tại trên đóa (chỉ kiểm tra trong thư mục hiện
hành)
3
item là MEX-file
4
item là file được dịch từ phần mềm Simulink
5
item là hàm của MATLAB
c) Ví dụ
e = exist(‘dir’)
e=5

Lệnh FIND
a) Chức năng
Tìm phần tử trong vector hay ma trận theo yêu cầu.
b) Cú pháp
k = find(x)
[i,j] = find(x)
[i,j,s] = find(x)
Với
k
chỉ vị trí của phần tử cần tìm trong vector.
i,j
chỉ số hàng và số cột tương ứng của phần tử cần tìm.
s
chứa giá trị của phần tử cần tìm.
x
tên vector, ma trận hay là yêu cầu đề ra. Nếu không nêu ra yêu cầu thì mặc
nhiên là tìm các phần tử khác 0.
c) Ví dụ
>>x=[1 8 0 2 3 0]
x=
1 8 0 2
>>k=find(x)
k=
1 2 4 5
>>k=[3 6]
k=
3 6
>>a=[5 0 0;8 0 3]

3


0

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

Trang 21


a=
5 0 0
8 0 3
>>[i,j,k]=find(a)
i=
1
2
2

j=
1
1
3
k=
5
8
3

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

Trang 22



CHƯƠNG V

LẬP TRÌNH TRONG MATLAB
Lệnh eval
a) Chức năng
c)Ví dụ
Chuyển đổi chuỗi ký tự thành biểu thức.
>>a='199999999';
b) Cú pháp
>>eval(a)+1
kq = eval(‘string’)
ans =
Với
200000000
kq
biến chứa kết quả.
Nếu ‘string’ là các ký số thì chuyển thành những con số.
Nếu ‘string’ là câu lệnh thì chuyển thành các lệnh thi hành được.
Lệnh for
a) Chức năng
Dùng để thực hiện 1 công việc cần lặp đi lặp lại theo một quy luật, với số bước lặp xác
định trước.
b) Cú pháp
for biến điều khiển = giá trị đầu : giá trị cuối,
thực hiện công việc;
end
Với
Công việc chính là các lệnh cần thi hành, có thể có nhiều lệnh, kết thúc lệnh phải có
dấu;

c) Ví dụ
In ra màn hình 5 dòng có nội dung như sau: “LAP TRINH TRONG MATLAB”.
Đoạn chương trình thực hiện theo yêu cầu ví dụ:
for i = 1:5,
disp(‘LAP TRINH TRONG MATLAB’);
end
Kết quả:
LAP TRINH TRONG MATLAB
LAP TRINH TRONG MATLAB
LAP TRINH TRONG MATLAB
LAP TRINH TRONG MATLAB
LAP TRINH TRONG MATLAB
Lệnh function
a) Chức năng
Tạo thêm hàm mới.
b) Cú pháp
function s = n(x)
Với
s
tên biến chứa giá trị trả về sau khi thi hành hàm.
n
tên gợi nhớ.

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

Trang 23


Lệnh input
a) Chức năng

c)Ví dụ:
Dùng để nhập vào 1 giá trị.
Đoạn chương trình minh họa cho
b) Cú pháp
lệnh “input”
tên biến = input (‘promt’)
x = input(‘nhap gia tri cua bien
tên biến = input (‘promt’, ‘s’)
x: ’)
Với
nhap gia tri cua bien x:
tên biến
là nơi lưu giá trị ngập vào.
x=5
‘promt’
chuỗi ký tự muốn nhập vào.
‘s’
cho biết giá trị nhập vào là
nhiều ký tự.
Lệnh if … elseif … else
a) Chức năng
Thực hiện lệnh khi thỏa điều kiện.
b) Cú pháp
if biểu thức luận lý 1
thực hiện công việc 1;
elseif biểu thức luận lý 2
thực hiện công việc 2;
else
thực hiện công việc 3;
end

Khi biểu thức luận ký 1 đúng thì thực hiện công việc 1 tương tự cho biểu thức luận lý 2.
Nếu cả hai biểu thức sai thì thực hiện công việc sau lệnh else.
Biểu thức luận lý là các phép so sánh ==, <, >, <=, >=
Công việc là các lệnh cần thi hành, có thể có nhiều lệnh, kết thúc lệnh phải có dấu;
c) Ví dụ
Viết chương trình nhập vào 2 số và so sánh hai số đó.
Đoạn chương trình minh họa cho leänh “if … elseif … else”
a = input(‘Nhap a: ’);
b = input(‘Nhap b: ’);
if a > b
disp(‘a lon hon b’);
elseif a ==b
disp(‘a bang b’);
else
disp(‘a nho hon b’);
end
Kết quả:
>>
Nhap a: 4
Nhap b: 5
a nho hon b

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

Trang 24


×