You are on page 1of 212

THS.

NGUYỄNTHỊPHƯỢNG

H¦íNGdÉnTHùCHµNH

øng dông matlab


trongph©ntÝchm¹ch®i
Ön

TRƯỜNGĐẠIHỌCLÂMNGHIỆP-2018
THS.NGUYỄNTHỊ PHƯỢNG

HƯỚNGDẪNTHỰC HÀNH
ỨNGDỤNGMATLABTRONGPHÂN
TÍCH MẠCH ĐIỆN

TRƯỜNGĐẠIHỌCLÂMNGHIỆP-2018

1
2
LỜINÓIĐẦU
Lýthuyếtmạchlàmônhọccơsởkỹthuậtquantrọngtrongquátrình
đàotạokỹsưcácngànhcóliênquanđếnđiện,nócungcấpnhữngcơsởlý
luậnchungnhất,là tiềnđề để tiếpthukiếnthứccủacácmônchuyênngành.
Vớisốlượngbàitậplớn,khốilượngtínhtoánnhiều,cácthôngsốởdạng phức số, đặc
biệt là với những mạch điện phức tạp có nhiều nhánh, nhiều nút,
việcgiảimạchđiệntốnnhiềucôngsứcvàdễnhầmlẫn.Vớinhữnghiện
tượngquáđộcủamạchđiện,việcphântíchvàgiảimạchcàngnhiềukhó
khănvàphứctạp…Ngàynay,docôngnghệpháttriểnnêntinhọcvàmáy tính điện tử là
công cụ đắc lực hỗ trợ giúp chúng ta giải quyết nhanh và thuậnlợi các bài toán
kỹ thuật. Tuy nhiên, với các ngôn ngữ lập trình: Pascal, C…việc phân tích mạch
chỉ dừng lại ở các mạch điện tuyến tính có thông số thực, điều này làm
mấtđitính tổngquátcủabàitoán.Sự ra đờicủaphầnmềm Matlab đã mở ra nhiều
triển vọng để giải quyết các bài toán kỹ thuật.Với cấu trúc ngắn gọn gắn vớitư
duy toán học vàđặc biệtxử lý dễdàngđối với số
phức,phầnmềmnàylàcôngcụmạnhđểgiảiquyếtnhanhvàchínhxáccác bài toán phân
tích mạch điện.
MATLAB có đầy đủ các đặc điểm của máy tính cá nhân và các máy tính
hiện đại nhất, nó cho phép biểu diễn dữ liệu dưới nhiều dạng như: biểu diễn
thông thường, ma trận đại số, các hàm tổ hợp và có thể thao tác với dữ liệu
thường cũng như đối với ma trận. Với những đặc điểm đó và khả năng thânthiện
với người sử dụng nên nó dễ dàng sử dụng hơn các ngôn ngữ khác. Nó cungcấp
một môi trường phongphú chobiểudiễn dữliệu,và có khảnăng mạnh mẽ về đồ
hoạ, bạn có thể tạo các giao diện riêng cho người sử dụng (GUIs) để giải quyết
những vấn đề riêng cho mình. Thêm vào đó MATLAB đưa ra những
côngcụđểgiải quyếtnhững vấnđềđặcbiệt, gọi là Toolbox(hộp công cụ).Vídụ
Student Edition của MATLAB bao gồm cả Toolbox điều khiển hệ thống,
Toolbox xử lí tín hiệu, Toolbox biểu tượng toán học.Ngoài ra bạn có thể tạo
Toolbox cho riêng mình.
Matlab thực sự là một phương tiện hữu hiệu, cho phép nhân khả năng của
con người trong lĩnh vực học tập nghiên cứu và ứng dụng khoa học kỹ thuật lên
nhiềulần,nhưngởnướctacònrấtítngườibiếtđượcđiềuđó.HiệnnayởViệt

3
Nam, một số trường đại học kỹ thuật cũng đã bắt đầu đưa Matlab vào giảng dạy
và nghiên cứu, nhưng mức độ áp dụng còn rất khiêm tốn. Mặc dù các tài liệu
nước ngoài về Matlab khá phong phú, các thông tin về Matlab dễ dàng tìm thấy
trên các trang Web, nhưng các tài liệu bằng Tiếng Việt còn khá nghèo nàn, đặc
biệt là tài liệu về mảng lý thuyết mạch. Vì vậy, tác giả đã viết cuốn bài giảngnày
mong muốn tạo điều kiện thuận lợi cho quá trình giảng dạy, học tập và nghiên
cứu. Mặc dù đã hết sức cố gắng, nhưng do trình độ có hạn, nên không tránh khỏi
những thiếu sót, rất mong được sự đóng góp của các thầy cô và sinh viên để bài
giảng ngày càng được hoàn thiện hơn.
Tácgiả

4
Chương1
MATLABCƠBẢNỨNGDỤNGTRONGMẠCHTUYẾNTÍNH
1.1. Càiđặtvàkhởiđộng Matlab
1.1.1. CàiđặtMatlab
Việc cài đặt Matlab hết sức đơn giản, chương trình Matlab được cài đặt
trên Microwsorft Windows. Để cài đặt được phần mềm này ta cần có:Đĩa CD
phần mềm Matlab 7.0 trở lên; license; cấu hình máy tương đối mạnh, tối thiểu:
Windows 2000; Pentium IV, 512 MB RAM; CD - ROM; HDD còn trống 3 GB.
Cácbướccàiđặtđượcthựchiệnnhư sau:
- Đưa đĩa CD vào ổ đĩa (nếu cài từ đĩa CD-ROM): Do chương trình được
cấu hình theo chế độ Autorun (tự chạy) nên khi đưa đĩa CD vào ổ đĩa thì trình
Setup tự động được kích hoạt. Trường hợp chế độ Autorun không được kíchhoạt
(do tập tin Autorun bị lỗi), ta có thể kích chuột vào nút Start trên thanh tác vụ
(Task bar) của Windows, chọn lệnh run, gõ vào đường dẫn của file, nhấn Enter
hoặc kích vào nút lệnh Run. Sau đó làm theo các hướng dẫn của trình cài đặt của
Windows.
- Trường hợp cài đặt Matlab từđĩa cứng: Trường hợp này yêu cầu phải có
sẵn bộ cài đặt trong đĩa cứng. Khi đó, ta sử dụng Windows Explorer hay My
Computer để duyệt ổ cứng, tìm đến thư mục (folder) cài đặt rồi kích đúp chuột
vào file (tập tin) Setup.exe. Sau đó làm theo các hướng dẫn của trình cài đặt của
Windows. Sau khi file setup.exe được kích hoạt, cửa sổ Welcome to MATLAB
Setup hiện lên trong giây lát. Kích vào nút lệnh Next để chuyển sang cửa sổ cài
đặt kế tiếp.

Hình1.1.CàiđặtMatlabtrongWindowsvàmànhình Welcome
- Nhập thông tin của người dùng và Personal License Password: Cửa sổ thứ hai
thểhiệncácthôngtinvềbảnquyềncủachươngtrình.KíchYesđểsangcửasổ

5
cài đặt kế tiếp. Trong cửa sổ thông tin về khách hàng Customer Information
(hình 1.2), nhập họ tên vào khung Name, địa chỉ hoặc tên công ty vào khung
Company. Nhập mã khoá (Serial Key) của chương trình vào khung Personal
License Password.Kích chuột vào Next để tiếp tục quá trình cài đặt.

Hình1.2.CửasổSoftwareLicenseAgreement và
cửa sổ thông tin về khách hàng
- Lựa chọn các thành phần sẽ cài đặt: Trong cửa sổ Select Matlab
Components (hình 1.3), bỏ đánh dấu những thành phần không cần thiết trong
chương trình để tiết kiệm dung lượng đĩa cứng. Muốn kiểm tra dung lượng của
chương trình, kích vào Disk Space để quan sát.Muốn thay đổi thư mục cài đặt
Matlab, kích chuột vào nút Browse và tạo đường dẫn tới địa chỉ cần đặt thư mục
Matlab. Thư mục mặc định là C:\MATLABR11. Để tiếp tục kích Next, mànhình
hiện khung thông tin Setup và trình setup bắt đầu copy các tập tin vào thư mục
cài đặt.

Hình1.3.Quátrìnhcopyfilecủachươngtrìnhvàothưmụccàiđặt
6
- Hoàn thành cài đặt: Sau khi hoàn thành quá trình Copy các file của
chương trình vào thư mục cài đặt, màn hình hiện khung thoại Setup Complete.
Bỏ đánh dấu ở ô “Yes, launch the Help Desk to view the Release Note” nếu
không muốn trình setup khởi động Help Desk (phần trợ giúp). Bỏ đánh dấu ở ô
“Yes, launch Matlab” nếu chưa muốn khởi động Matlab ngay. Kích Finish đểkết
thúc quá trình cài đặt. Sau khi kết thúc cài đặt cửa sổ kế tiếp là Internet Explorer
(nếu không bỏ đánh dấu ở ô “Yes, launch the Help Desk to view the Release
Note”). Kích Close để trở về cửa sổ nền Desktop của Windows, biểu tượng của
Matlab sẽ được tự động đưa ra Desktop của Windows.
1.1.2. KhởiđộngMatlab
ĐểkhởiđộngMatlabchỉcầnnháyđúpvàobiểutượngcủanó,cửasổlệnh
command Windows của Matlab sẽ xuất hiện. Dấu nháy >> biểu thị chương
trình đã sẵn sàng, có thể nhập dữ liệu và tính toán trên Matlab.
Ngoài cửa sổ chính command Windows, Matlab còn có cửa sổ soạn thảo
Editor, có thể soạn thảo các chương trình, sửa đổi các hàm, biến… trên cửa sổ
này và lưu chương trình của mình dưới dạng các Scripts.
Cửa sổ Command History là cửa sổ các lệnh quá khứ cho phép lưu giữ và
hiển thị tất cả các lệnh đã sử dụng, có thể lặp lại các lệnh cũ bằng cách nháyđúp
chuột vào lệnh đó.Khi không biết thực hiện các lệnh như thế nào thì có thể gọi
lệnh Help để nhận sự trợ giúp.

Hình1.4.Cáccửa sổcủa Matlab

7
Thoát khỏi MATLAB: Trong Windows, có rất nhiều cách để thoát khỏi
một chương trình ứng dụng, để thoát khởi Matlab ta có thể sử dụng một trong
những cách sau: Từ cửa sổ lệnh Matlab Command Window đánh lệnh quit hoặc
kích biểu tượng close nằm ngay góc phải trên thanh tiêu đề Matlab. Hoặc kích
chuộttheođườngdẫnsau:File/ExitMATLABhoặcnhấntổhợpphím:Ctrl+Q.
1.2. BắtđầulàmquenvớiMatlab
1.2.1. Cửasổlệnh
Cửa sổ lệnh là cửa sổ chính trong đó người sử dụng giao tiếp với Matlab.
Trình dịch của Matlab hiển thị một dấu nhắc >> để biểu thị rằng nó đã sẵn sàng
nhận và thực hiện lệnh của bạn. Ví dụ:Khi muốn nhập dòng lệnh gán biến x=5,
ta gõ như sau:
>>x=5
Saukhinhấnphímenter,Matlabđápứngnhưsau:
x=5
1.2.2. Hiệuchỉnh,sửa đổidònglệnh
Các phím mũi tên, các phím điều khiển trên bàn phím cho phép gọi lại,
sửa đổi và tái sử dụng các lệnh đã gõ vào trước đó. Ví dụ:Giả sử ta gõ vào dòng
lệnh: >>a=(1+sqt(5))/2; % sqrt(x) là hàm tính giá trị căn bậc hai của x. Do ta gõ
thiếu chữ r trong cú pháp của hàm sqrt nên Matlab báo lỗi như sau:
Undefined function or variable ‘sqt’ có nghĩa là hàm hoặc biến ‘sqt’
không được định nghĩa. Thay vì gõ lại cả dòng lệnh, đơn giản là ta nhấn phím↑,
câu lệnh bị sai ở trên sẽ được hiển thị lại. Sử dụng phím(hoặc dùng chuột) để di
chuyển con trỏ đến vị trí giữa chữ q và chữ t rồi chèn vào chữ r sau đó nhấn
enter, kết quả là:
>>a=(1+sqrt(5))/2
a = 1.6180
Tacó thể sử dụng phímnhiều lần đểtìmcác lệnh đã gõ trướcđó.Cũng có thể
gọi nhanh lại một câu lệnh đã thực hiện trước đó bằng cách gõ ký tự đầu của
dòng lệnh rồi nhấn ↑. Ví dụ:Để gọi lại chính xác lệnh ở trên như sau:
>>a↑
1.2.3. Xoácửasổlệnh
Sử dụng lệnh clc để xoá cửa sổ lệnh (xoá màn hình). Lệnh này không xoá
nội dung trong không gian làm việc Workspace, mà chỉ xoá màn hình. Sau khi
sử dụng clc ta có thể sử dụng phím ↑ để gọi lại lệnh cũ.

8
1.2.4. Dừngmộtchươngtrìnhđang chạy
Về nguyên tắc có thể dừng một chương trình đang chạy trong Matlab tại
bất kỳ thời điểmnào bằng cách nhấn tổ hợp phímCtrl + C. Tuy nhiên, ta vẫn có
thể phải đợi cho đến khi một hàm đang thực thi bên trong hoặc MEX-file kết
thúc hoạt động của nó.
1.2.5. Dònglệnh dài
Nếu một câu lệnh quá dài, không vừa trên một dòng, ta sử dụng một toán
tử ba chấm (…) sau đó nhấn enter để biểu thị rằng câu lệnh còn tiếp tục ở dòng
kế tiếp.
Vídụ:s=1–1/2 +1/3–1/4+1/5–1/6+1/7... – 1/8 +
1/9 – 1/10 + 1/11 – 1/12;
Số ký tự tối đa cho phép trên một dòng là 4096 ký tự. Các khoảng trắng
(dấu cách) xung quanh cácdấu =, +, -, *, /,… là tuỳý (khôngnhấtthiết phải có)
nhưng chúng giúp ta dễ đọc hơn.
1.3. CácphéptoáncơbảncủaMatlab
1.3.1. Sốvàcácphéptínhsơ cấp
Dấuphảytrongsốthậpphânđượcquyướcbằngdấuchấm“.” Ví
dụ:Số 7.52e-005, có nghĩa là số: 7,52.10-5.
Các số thực được tính toán với các phép cộng, trừ, nhân, chia, lũy thừa,
khai căn theo các ký hiệu tương ứng là:
Bảng1.1.Cácphéptínhsốhọc
Phép Chia Chia Lũy Khai
Cộng Trừ Nhân
toán phải trái thừa căn
Ký hiệu + - * / \ ^ sqrt

Các biểu thức được thành lập với sự trợ giúp của các phép tính số học
thông thường với các quy tắc ưu tiên thông thường. Thứ tự ưu tiên trong phép
toán số học: ngoặc đơn; luỹ thừa; nhân, chia; cộng, trừ.
Đốivới các phéptínhsơcấp,phép chiatrái vàphép chiađều cho cùngkết
quả.Vídụ:6/2và2\6đều có cùngmột kếtquảlà3, cònđốivớicácphéptính ma
trận,thìkếtquảcủachúng cóthểkhácnhau.Khithựchiệnphéptínhchiachosố 0 kết quả
sẽ là inf(infinity – vô định: ∞).
Biến NaN(Not a Number) sẽ xuất hiện khi thực hiện các phép tính códạng
0/0 hoặc ∞/∞. Dấu % dùng để ghi chú giải, Matlab không ghi nhận thông tin sau
dấu này.
9
Một số hằng số trong Matlab được biểu thị bằng ký tự, chẳng hạn số π
được ký hiệu là ‘pi’, số ε được viết là eps… Nếu không khai báo biến, thì khi
thực hiện phép tính Matlab sẽ tự động gán cho kết quả với biến ans.
Các góc trong Matlab được tính bằng radian, muốn đổi sang độ thì thực
hiện phép tính: (180*góc/pi).
Vai trò của dấu (;) sau phép tính: Nếu không có dấu (;) ở cuối câu thì kết
quả của phép tính sẽ hiện ngay trên màn hình, ngược lại nếu có dấu này thì
không có kết quả hiện lên trên màn hình. Ở cửa sổ lệnh của Matlab ta cũng có
thể thực hiện các phép tính trực tiếp như máy tính cầm tay bình thường, sau khi
đã khai báo ấn Enter kết quả sẽ hiện thị. Các lệnh gõ vào máy được thể hiện
bằng dấu nhắc lệnh (>>) ở ngay trước đó, nếu là một chuỗi lệnh thì dấu nhắc
lênh được đặt ngay trước câu lệnh đầu tiên.
Vídụ:Thựchiệncácphéptínhtrongcửasổlệnhkhông cóvàcódấu chấm phảy ở
cuối câu lệnh:
>>2*3+4/5-7%khongcodauchamphay(;) ans
=
-0.2000
>>a=15*2-5*(3+9)
a=
-30
>>sin(pi);%codau champhay(;)ketquakhonghienthitren manhinh
1.3.2. Cácphéptínhvềsốphức
Tất cả các phép toán trong Matlab đều có thể thực hiện dưới dạng phức.
Đơn vị ảo √−1 được định nghĩa trước bởi hai ký tự là j và i, do đó không nên
dùng cácký tựnàyđể gán chocácbiếnkhác, vì Matlab sẽ coi đó là biến ảo. Tuy
nhiên,cácbiếni, jcũngđượcsửdụngtrongcácvònglặpfor,nếutrongvònglặp
có các đại lượng phức thì nên ký hiệu các biến viết hoa I, J thay vì i, j. Số phức
được nhập có thể có hoặc không có dấu (*) giữa biến i và chữ số, nhưng nếu
không dùng dấu (*) thì nhất thiết i phải đứng đằng sau chữ số. Có 2 cách nhập
một số phức: z = r + jx hoặc z = r.ejθtheo cú pháp:
z=r+j*xhoặcz=r*exp(j*θ)
Ví dụ:Nhập các số phức sau trên Matlab:
z= 3+5ivà s =5∠π/3
>> z=3+5i
z=

10
3.0000 +5.0000i
>>s=5*exp(j*pi/3)
s=
2.5000 +4.3301i
Đốivớimatrậncũngcóthểnhậptheo2cách,vídụ:
A=[24;13]+i*[57;6 8]
Hoặc:
A=[2+i*54+i*7;1+i*63+i*8]
Cách dùng thứ nhất ngắn gọn và ít bị nhầm hơn so với cách thứ 2. Lưu ý
là không để khoảng trống giữa các phần thực và ảo (khoảng trống quanh dấu
cộng +), vì Matlab sẽ coi đó là hai số riêng biệt. Hầu hết các hàm sơ cấp đều có
thểthựchiện vớisố phức. Khi một sốphứcS được biểu thịdướidạng số phứcta có
thể tính riêng các phần thực và phần ảo theo cú pháp sau:
Bảng1.2.Mộtsốphéptínhsốphức
Thamsố Cúpháp
Phầnthực P=real(S)
Phầnảo Q=imag(S)
Modun Sm=abs(S)
Gócpha Theta=angle(S)
Liênhợp phức Slh=conj(S)
1.4. Matrậnvàmảngtrong Matlab
1.4.1. NhậpmatrậntrongMatlab
Matlab cung cấp một vàiphương tiện chongườisửdụngđể tạo ra một ma
trận, mỗi phương tiện có những ưu điểm của nó và được sử dụng tuỳ theo từng
yêu cầu bài toán. Nói chung Matlab cung cấp ba phương tiện: Nhập matrận trực
tiếp từcửa sổ command Window, nhập matrận từ một file (sửdụng M-file hoặc
load), nhập matrận từ những hàm có sẵn trong Matlab.
1.4.1.1. Nhậpmatrậntrựctiếptừcửasổcommand Window
Trongmônhọctoáncaocấpchúngtađãbiếtnhậpmộtmatrậnnhưsau:
2 5 7
A=3 4 5
2 rr 8
Đâylàmộtmatrận có số hàngm=3 vàsốcộtn= 3.
ĐểnhậpmatrậntrêntrongMatlabtanhậptrựctiếpnhư sau:

11
TừdòngnhắclệnhtrongcửasổcommandWindow>>tanhập:
>>A=[2,5,7;34,5;2 pi8];hoặc
>>A=[257
345
2 pi8];
Các hàng được cách nhau bằng một dấu chấm phẩy (;) như trên, các phần
tử trong một hàng được cách nhau bằng dấu cách (thanh space) hoặc dấu phẩy
(,).Kết thúc dòng lệnh có hoặc không có dấu (;).
Nếu không có dấu chấm phẩy ở cuối dòng thì Matlab sẽ in ra kết quả ma
trận vừa nhập. Như ví dụ trên:
>>A=[257;345;2pi8]
Kếtquảtrênmànhìnhlà:
A=
2.0000 5.0000 7.0000
3.0000 4.0000 5.0000
2.0000 3.1416 8.0000
Trong trường hợp số phần tử trên một hàng quá dài ta có thể xuống dòng
bằng dấu ba chấm (...) Ví dụ:
>>b=[1,2,3,4,...
5 67 89]%đâylàma trận 9hàngvà một cột.
Lưu ý rằng trong một số trường hợp ma trận hoặc mảng dữ liệu dài thì
việc không thêm dấu chấm phẩy sau câu lệnh nhập, Matlab sẽ in ra số liệu dài
trong cửa sổ Command Window, gây khó nhìn cho người dùng.
1.4.1.2. Nhậpmatrậntừm-file
Ta có thể nhập một matrận bằng cửa sổ soạn thảo M-file, mở cửa sổ này
bằng cách vào: File - New - m.file. Một cửa sổ soạn thảo sẽ được hiện ra cho
phép bạn soạn thảo dưới dạng text, do là cửa sổ soạn thảo dạng text cho nên bạn
có thể soạn thảo từ file word sau đó copy vào cửa sổ m-file. Để nhập matrận ta
soạn thảo tương tự như trong cửa sổ command window sau đó lưu vào file như
sau: Ví dụ:
>>A=[123;456;7, 8,9]; %không códấu chấmphẩysẽinrakếtquả.
Sau khi kết thúc soạn thảo ta lưu vào tên_file. Để thực thi các lệnh nhập
trong m-file ta dùng lệnh sau trong command window như sau:
>>ten_file;
12
1.4.1.3. Nhậpmatrậntừcáchàmcósẵn
Matlabcómộtthưviệncáchàmchophéptạomatrận.Sauđâylàmộtsốhàm:
- ones(m,n)tạomatrậnmhàngvàncột,vớicácphầntửđềubằng1;
- ones(m)tạomatrậnvuôngcấpm,vớicácphầntửđềulà1;
- zeros(m,n)tạomatrậnkíchthướcmxn,vớicácphầntửđềubằng0;
- zeros(m)tạomatrậnvuôngcấpm;
- eyes(m,n)tạomatrậnkíchthướcmxn vớicácphầntửđềubằng1;
- eyes(m)tạomatrậnvuôngcấpm. Ví
dụ:
>>ones(2,3)
ans=
111
111
>>eyes(2,3)
ans=
1 0 0
0 1 0
>>zeros(2,3)
ans=
0 0 0
0 0 0
1.4.2. Vec tơ
1.4.2.1. Tạovectơ
Vec tơ là mảng số liệu được sắp xếp theo một hướng xác định. Vec tơ
dòngcócácphầntửphânbiệtnhaubằngdấucáchhoặcdấuphảy. Vớivectơcột thì các
phần tử phân biệt nhau bằng dấu chấm phảy.Ví dụ:
>>a1=[1,2,3]
>>a2=[1;2;3]
Kếtquảtrênmànhình:
a1=
123
a2=
1
2
3
Chuyểnvịvectơtừhàngsangcộtđượcthựchiệnbằngdấuphảyởtrên
13
(’).Vídụ:
>>b=a1’
b=
1
2
3
Khi ta cần khảo sát đặc tính của đồ thị nào đó trong một khoảng xác định,
khoảng xác định này được biểu diễn dưới dạng vectơ. Ví dụ:Khảo sát đặc tínhđồ
thị trong khoảng x=1 đến 100.
>>x=1:100;%xlấygiátrịtừ1đên100,bước tăngcủaxlà1
>>t=0:0.1:10;%bướcnhảylà củatlà0.1
CôngthứcchungtạovectơlàX=Xmin:bước tăng:Xmax
1.4.2.2. Tínhchiềudàivéctơ
Tínhchiềudàicủavectơtadùnglệnhlength. Cú
pháp: l = length (x).
Trongđó:l:biếnchứachiềudàivectơ. Ví
dụ: Tính chiều dài của vectơ x.
x= [0123456789]
>>l=length(x) l
=
10
>>x=[010977,20042001 ]
x=
1 9 77 20 4 2001
>>l=length(x)
l=
6
1.4.3. Truynhập cácphầntửcủamatrận
Đểtruynhậpcácphầntửcủamatrậntalàmnhưsau: Giả sử
ma trận:
2 5 7
A=3 4 5
2 rr 8
Thì>>A(i,j);sẽtruynhậpđếnphầntửhàngthứivàcộtthứj Ví dụ để
truy nhập đến phần tử thứ nhất ta:
>>A(1,1)

14
ans=
2
Đặcbiệtđểgọitoànbộsốhànghoặctoànbộsốcộtdùngtoántử(:)
>>A(:,1)%gọitoànbộsốhàngtươngứngvớicột1 ans=
2
3
2
>>A(1,:)%gọitoànbộsốcộttươngứnghàng1 ans=
2 5 7
>>A(1:2,1)%gọihàng1đếnhàng2tươngứngvớicộtthứnhất ans=
2
3
>>A(1:2,:)%gọihàng1đếnhàng2tươngứngvớitấtcảcáccột ans=
2 5 7
3 4 5
1.4.4. Phéptínhmatrậnvàmảng
1.4.4.1. Phéptínhmatrận
a. Phéptínhcộng,phéptínhtrừ
Điều kiện hai ma trận A và B phải có cùng kích thước hoặc một trong hai
là số vô hướng. Tổng/hiệu các ma trận cùng kích thước là ma trận với các phần
tử tương ứng là tổng/hiệu của các phần tử tương ứng.
Vídụ:
>>a=[1 23 ;4 56;789];
>>b=[234;567; 8910];
>>a+b
ans=
3 5 7
9 11 13
15 17 19
b. Nhânhaimatrận
Điều kiện để thực hiện phép nhân ma trận là số hàng của ma trận A
phảibằng số cột của ma trận B ngoại trừ một trong hai là số vô hướng.
15
Cú pháp: A*B;
Lưuý:A*B≠B*A
Ví dụ:
>>A=[12 3; 45 6; 789];
>>B=[101112;1314 15;16 1718];
>>D=A*B
Kếtquảtrênmànhình:
D=
84 90 96
201 216 231
318 342 366
>>E=B*A
E=
138 171 204
174 216 258
210 261 312
c. Chiamatrận
NhưđãnóiởtrênA*B≠B*AnêntrongphépchiamatrậnMatlabthực hiện theo 2
hình thức: phép chia phải (ký hiệu /), phép chia trái (ký hiệu \).
X=A\BlàlờigiảicủaphươngtrìnhA*X=B.
X=B/AlàlờigiảicủaphươngtrìnhX*A=B.
Phépchiaphảitươngđồngvớiphépchiatráitrongđiềukiện:B/A=A’\B’.
d. Matrậnchuyểnvị
Ma trận chuyển vị của ma trận A là ma trận mà trong đó các cột của ma
trận này là các hàng của ma trận gốc, ký hiệu ma trận chuyển vị của A là A T, cú
pháp: A’
Vídụ:Hãythựchiệnphépchuyểnvịcủamatrận A
>>A=[1234;5678;9101112;13141516]
Kếtquảtrênmànhình: A
=
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
>>At=A’
Kếtquảtrênmànhình:
16
At=
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
e. Matrậnnghịchđảo
Ma trận nghịch đảo của ma trận A là ma trận 1/A, cú pháp là: B=A^-1
hoặc B=inv(A).
>>B=A^-1
B=
1.0e+16 *
-0.4504 0.9007 -0.4504
0.9007 -1.8014 0.9007
-0.4504 0.9007 -0.4504
Hoặc
>>B=inv(A)
B=
1.0e+16*
-0.4504 0.9007 -0.4504
0.9007 -1.8014 0.9007
-0.4504 0.9007 -0.4504
g.Tácdụngcủadấu‘:’
Dấu‘:’cótácdụngtạovectorhoặcmatrậnphụvàlặpđilặplạicácgiá trị. Tác
dụng của nó được thống kê trong bảng 1.3.
Bảng1.3.Tácdụngcủadấu“:”
Khaibáo Côngdụng
j: k Tạorachuỗij,j+1,j+2,….,k-1,k
j: i :k Tạorachuỗij,j+i,j+2I,….,k-i,k
A(:,j) Chỉcộtthứjcủamatrận A
A(i,:) Chỉhàngthứicủamatrận
A(:,:) Chỉtoànbộmatrận A
A(j,k) ChỉphầntửA(j), A(j+1)…A(k)
A(:,j,k) ChỉcácphầntửA(:,j),A(:,j+1)…A(:,k)
A(:) Chỉtấtcảcácthànhphần củamatrận A

17
Vídụ:Khikhai báoD= 1:10, tađượckết quả:
D= 12345678910
Còn khikhaibáoD=0 : 2:10, thì tađượckếtquả:
D= 0246810
1.4.4.2. Phéptính dẫy
Chohaimảngsau:
>>x=[12 3];
>>y=[234];
- Phéptínhcộng,trừgiốngnhưphéptính đốivớimatrận.
>>x+y
ans=
3 5 7
- Phéptínhnhân(.*).
>>x.*y
ans=
2612
- Phéptínhchia(./hoặc.\).
>>x./y
ans=
0.50.660.75
>>x.\y
ans=
21.50.75
1.4.5. Lệnh lsim
- Côngdụng:Mô phỏnghệthốngliêntụcvớicácngõvào tùy ý.
- Cú pháp:
[y,x]=lsim(a,b,c,d,u,t)
[y,x]=lsim(a,b,c,d,u,t,x0)
[y,x]=lsim(num,den,u,t)
- Giảithích:Nếu bỏ quacácđốisốởvếtráicủadònglệnhthìlệnhlsimvẽ ra đồ thị
trên màn hình.
lsim(a,b,c,d,u,t)
lsim(a,b,c,d,u,t,x0)
lsim(num,den,u,t)
Chohệphươngtrìnhkhônggiantrạngthái:
18
ẋ=Ax+Bu
Y=Cx+Du
Lệnh lsim(a,b,c,d,u,t) vẽ ra đồ thị đáp ứng thời gian của hệ thống với ngõ
vào thời gian ban đầunằmtrong ma trận u.Ma trận u phải có sốcộtbằng số ngõ
vào u, mỗi hàng của ma trận u tương ứng với một thời gian mới và ma trận u
phải có số hàng là length(t) (với u là nguồn một chiều). Vector t chỉ ra trục thời
gian cho quá trình mô phỏng và phải chia thành các đoạn bằng nhau, nếu dùng
thêm đối số x0 ở vế phải thì lệnh lsim(a,b,c,d,u,t,x0) sẽ chỉ ra điều kiện ban đầu
của các trạng thái.
Lệnh lsim(num,den,u,t) vẽ ra đáp ứng thời gian của hàm truyền đa thức,
trong đó num và den chứa các hệ số đa thức theo chiều giảm dần số mũ của s
Nếu giữlạicácđốisốởvếtrái:
[y,x]=lsim(a,b,c,d,u,t)
[y,x]=lsim(a,b,c,d,u,t,x0)
[y,x]=lsim(num,den,u,t)
thì lệnh nàykhông vẽ các đồ thị đáp ứng mà tạo các ma trận x và y, trong đó ma
trận ylà đáp ứngngõra và ma trận x làđáp ứng trạngtháicủahệ thống. Matrận y có
số cột bằng số ngõ ra và mỗi hàng ứng với 1 hàng của ma trận u.
1.5. Mộtsốlệnhđặcbiệtứngdụnggiảimạchđiện
1.5.1. VănbảntrongMatlab
Để có thể hiện chữtrên màn hình ta có thể dùng biến “chữ” được giới hạn
bởi 2 dấu phảy (’). Ví dụ: Muốn hiện chữ “Dien luc” ta dùng lệnh sau:
>>c=‘Dienluc’
Kếtquảtrênmàn hìnhmáytínhhiện:
c=
Dien luc
Cóthểliênkếtcáclệnhđểđượcmộtcâu trọnvẹn,vídụ: cs=[‘Truong, c’]
Kếtquảhiệntrênmànhìnhmáytínhhiện:
cs=
TruongDienluc
Trongquátrình tính toán,đôikhi taphảinhập sốliệu bổsungvào chương
trình, Matlab cho phép đối thoại bằng lệnh input(‘tham số cần nhập’). Sau khi
gõ lệnh này, chuỗi ký tự này sẽ được xuất hiện ra màn hình và tại vị trí đó bạn
cần nhập số liệu của tham số. Ví dụ:
19
>>e1=input(‘Nguone1=’)
Trên màn hình sẽ hiện ra:
Nguon e1=
Ta phải điền dữ liệu cần thiết vào chỗ trống sau dấu bằng để thực
hiệntiếpphép tính.Để xuất chuỗiký tựnào đóra màn hình,tadùng lệnhdisp(‘chuỗi
ký tự’). Ví dụ: >>disp(‘Ket qua la’)
Trênmàn hìnhxuấthiệndòngchữ:
Ketqua la
1.5.2. m.file trong Matlab
1.5.2.1. SoạnthảoScript (m.file)
Scrip 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 và được lưu giữ dưới dạng 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à tệp m.file.
Người sử dụng có thể tự tạo ra các hàm mới cất vào các m.file và chúngsẽ
được sử dụng như các hàm của Matlab. Chương trình có thể soạn thảo bên
ngoàihoặcngaytrong cửasổ soạnthảocủa Matlab (Editor-Debugger).Chúngta nên
soạn thảo trong cửa sổ Editor-Debugger, vì trong cửa sổ này ta có thể thay đổi
dữ liệu trong file đang lập trình rất thuận tiện, nếu soạn thảo bên ngoài thì khi
muốn thay đổi dữ liệu ta phải gõ lại từ đầu bài toán.
Khi soạn thảo m-file trong cửa sổ Editor,ta phải lưu lại m.file với một tên
bất kỳcó đuôi “.m”,tên của m-file phải là 1 chuỗi ký tự liên tục, giữa các ký tự
không có dấu cách và tên của m-file không dấu.
Để chạy chương trình của m.file đó, ta chỉ cẩn vào cửa sổ Command
Window gõ tên m.file đã lưu và dấu nháy >>, hoặc kích chuột trái vào biểu
tượng Run trên thanh tabar của cửa sổ Editor thì chương trình sẽ chạy và cho ta
kết quả hiển thị ra màn hình.
Trên mỗi cửa sổ Editor ta có thể viết nhiều chương trình khác nhau,
chương trình này được tách biệt với chương trình kia bằng việc đánh dấu “%%”
ở đầu của mỗi chương trình, sau đó muốn chạy chương trình nào thì kích chuột
trái vào chương trình đó và bấm Run Section
1.5.2.2. Xuấtm.filesangfileword
Để xuất chương trình của m.file trên cửa sổ Editor sang file word ta thực
hiệncácthaotácsau:KíchchuộttráivàobiểutượngPUBLISH(trênthanh
20
tabarcủacửasổEditorđangthựchiện)→Publish→EditPublishing Options…, lúc
này trên màn hình sẽ xuất hiện cửa sổ sau:

Hình1.5. Cửasổ Publish


Ta tiếp tục kích chuột trái vào cột html rồichọn doc, cuối cùng kích chuột
trái vào nút Publish trên cửa sổ này để hoàn tất. Sau khi hoàn tất các thao tác ta
nhận được một file word mà trên đó có chương trình và kết quả của chươngtrình
ta đã viết.
1.5.3. Cáchtạomộthàm
MỗimộtfilehàmcủaMatlab(M.file)đềuđượckhaibáonhưsau:
Function[Tên kết quả] = tên hàm (danh sách các biến)
Phần thân của chương trình trong hàm là các lệnh của Matlab thực hiện
việc tính toán giá trị của đại lượng được nêu trong phần tên kết quả theo cácbiến
được nêu trong phần danh sách biến. Các biến chỉ có tác dụng nội trong hàm vừa
được khai báo.Tên của các biến được cách nhau bằnh dấu phẩy (,).
Vídụ:Tathànhlập hàmđổitừđộsang radian:
>>functionrad=change(do)
rad=do*pi/180;%doidosang radian
Trong Matlab các dòng ghi chú sau dấu % không có tác dụng thực thi,
chúng đơn giản là những dòng nhắc để người đọc chương trình dễ hiểu. File.m
thường lấy tên là tên của hàm, ta đặt tên file hàm vừa lập là change.m. Nếumuốn
đổi 450 sang radian, chỉ cần gõ:
>>rad=change(45)
rad =
0.7854

21
Vídụ:Tạohàmgiảiphươngtrìnhbậchai,têntậptinđượcđặtlà bachai.m.
function[x1,x2]=bachai(a,b,c)
delta = b^2-4*a*c;
x1=(-b +sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
>>[x1,x2]=bachai1(4,6,-7)
x1 =
0.77707
x2=
-2.2707
1.5.4. Sửdụnghàmcósẵn
Có rất nhiều hàmcó sẵn, đó là các hàmđã được lập trình sẵn và được đưa
vào thư viện. Để xem một hàm cũng như cấu trúc và cách sử dụng ta dùng lệnh
>>helptên_hàm
Vídụ:Tamuốn xemcấutrúchàmode23
>>helpode23
1.5.5. Lệnhxóa
1.5.5.1. Xóacácđềmụctrongbộnhớ
Đểxóacácđềmụctrongbộnhớtadùnglệnhclear. Cú
pháp:
clear
clearname
clearname1name2name3 clear
functions
clearvariables
clear mex
clear global
clear all
Giảithích:
clear:Xóatấtcảcácbiếnkhỏivùnglàmviệc;
clearname:Xóacácbiếnhayhàmđượcchỉratrongname; 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ớ;
clearmex:Xóatấtcảcáctậptin.mexrakhỏibộnhớ;
22
clear:Xóatấtcảcácbiếnchung;
clear all: Xóa tất cả các biến, 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.
1.5.5.2. Xóatậptin vàđốitượngđồhọa
Đểxóatậptinvàđốitượngđồhọatadùnglệnhdelete. Cú
pháp:
deletefilename
delete (n)
Giảithích:
filename:Têntậptincầnxó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.
1.6. Symbolictoolbox
1.6.1. Giớithiệuvềsymbolic
Symbolic Math Toolbox định nghĩa một kiểu dữ liệu mới của Matlab gọi
là đối tượng Symbolic.Một đối tượng Symbolic là một cấu trúc dữ liệu lưu trữ
một đại diện kiểu xâu ký tự của một biểu tượng (Symbol).Symbolic Math
Toolbox sử dụng các đối tượng Symbolic để biểu diễn các biến, biểu thức và
Matlab trận Symbolic.
1.6.2. Lệnhvàhàm trongSymbolicMatlab
1.6.2.1. Cấutrúc
- Lệnhsymcho phépxâydựng cácbiến vàbiểuthứcsymbolic.Vídụ:
>> x = sym(‘x’); y = sym(‘y’);% lệnh này tạo ra x,y là các biến
symbolic.
- Tạocácbiến thực:
>>x=sym(‘x’,‘real’);y=sym(‘y’,’real’);%x,ylàbiếnkiểuthực symbolics hoặc
>>x=sym(‘x’,‘real’)%xlàbiếnkiểu thực
>>y=sym(‘y’)%y làbiến bấtkỳkiểu symbolic
Đểxoáđặctính“real”củacácbiếnx,ytadùnglệnhsau:symsxyunreal hay:
>>x=sym(‘x’,‘unreal’)
>>symst
>>Q=sym(‘Q(t)’);%tlàbiếnsymbolicvàQlàhàmsymbolic.

23
1.6.2.2. Biếnsymbolicmặc định
Khi vận dụng các hàm toán học, việc chọn biến độc lập thường là rõ ràng
từ ngữ cảnh. Ví dụ:Ta xemxét biểu thức toán học f = sin(a.t + b) được biểu diễn
trong Matlab như sau: f = sin(a*t + b).
Nếu ta cần tính đạo hàm của biểu thức này mà không xác định biến độc
lập thì theo quy ước toán học ta nhận được f’ = a.cos(a.t + b).
Giả thiết rằngbiếnđộc lậptrong biểu thứcnàylà t thì cácbiến cònlại a,b
được xem như các hằng số hoặc tham số.
Theo quy ước toán học thì biến độc lập thường là các chữ in thường nằmở
cuối bảng chữ cái (ví dụ: x, y, z, t, u, v,...).
>>symsabt
>>f=sin(a*t+b);
>>diff(f)%Lệnhnàytínhđạo hàmcủabiểuthứcsymbolic f.
Trong câu lệnh diff(f), ta không xác định là đạo hàmbiểu thức f theo biến
nào (a,b hayx).Làmthếnào Matlabxácđịnhđượctamuốnđạohàmtheo biến t mà
không phải là a hoặc b.
Trongsymbolicmathtoolboxsửdụngmộtbiếnsymbolicđểxácđịnhbiến độc
lập mặc định trong trường hợp chúng ta không xác định biến độc lập, đó là một
hàmtiện ích findsym. Biến symbolic mặc định được sử dụng trong các phép
toántính toán,đơn giản hoábiểu thức,giảiphương trìnhvàcácphép biến đổi.
>>findsym(f,1)
ans =
t
Ở đây, đối số thứ hai trong hàm findsym biểu thị số biến symbolic mà ta
muốn tìmtrong biểu thức f. Nếu không xác định đối số thứ hai thì findsym sẽ trả
về một danh sách liệt kê tất cả các biến trong biểu thức. Ví dụ:
>>findsym(f)
ans =
a, b, t
Luật findsym: Biến độc lập trong một biểu thức symbolic là một chữ cái
gần chữ x nhất trong bảng chữ cái. Nếu có hai chữ gần chữ x thì chữ sau x trong
bảng chữ cái được chọn. Ví dụ:
>>findsym(a+c-v*y,1)
ans=
y

24
1.6.2.3. Phépđạohàm
Đểtínhđạo hàmcủamộtbiểuthứcsymbolic tasửdụnghàmdiff().
- diff(S): Đạo hàm biểu thức symbolic S với biến tự do được xác định bởi
hàm findsym(S).
- diff(S,v) hay diff(S,sym(‘v’)): Đạo hàm biểu thức symbolic S với
biếnlấy đạo hàm là biến symbolic v nghĩa là thực hiện phép toán dS/dv.
- diff(S,n):Đạohàmcấp nbiểuthứcS,n làsốnguyên dương. Ví
dụ:
>>symsxt
>>y= sin(x^2);
>> z = diff(y)
z=
2*x*cos(x^2)
>>pretty(z) %hiểnthịdạngquenthuộc 2
x cos(x )
2

>>y = diff(t^6,6) %đạohàmbậc6củahàmt6. y =


720
>>symsuv
>>y= u^2*v- u*v^3;
>> y2u = diff(y,u,2) %đạohàmcấp2theou
y2u = 2*v
>> y3u = diff(y,v,3) %đạohàmcấp3theov
y3u =-6*u
1.6.2.4. Phéptíchphân
Đểtínhtíchphâncủamộtbiểuthứcsymbolicta sửdụnghàmint()
- int(S):TíchphânkhôngxácđịnhcủabiểuthứcsymbolicSvớibiến mặc định
xác định bởi findsym.
- int(S, v): Tích phân không xác định của biểu thức symbolic S với
biếntích phân v.
- int(S,a,b): Tích phân không xác định của biểu thức symbolic S với biến
tự do và cận lấy tích phân từ [a,b].
- int(S,v,a,b):TíchphânkhôngxácđịnhcủabiểuthứcsymbolicSvới biếntích
phân v và cận lấy tích phân từ [a,b].
Vidụ:
>>symsxtzalpha
25
>>int(-2*x/(1+x^2)^2)
ans =
1/(1+x^2)
>>int(x/(1+z^2),z)
ans =
x*atan(z)
>>int(x*log(1+x),0,1)
ans =
1/4
>>int(-2*x/(1+x^2)^2)
ans =
1/(1+x^2)
>>int([exp(t),exp(alpha*t)])
ans =
[exp(t), 1/alpha*exp(alpha*t)]
1.6.2.5. Tínhtổngcủadãysốsymbolic
Đểtínhtổngcủamộtbiểuthứcsymbolictasửdụnghàmsymsum()
- symsum(S): Tổng của biểu thức symbolic theo biến symbolic k , k được
xác định bằng lệnhfindsym từ 0 k -1.
- symsum(S,v):TổngcủabiểuthứcsymbolicStheobiếnsymbolicv,v đượcxác
định từ 0 k - 1.
- symsum(S,a,b), symsum(S,v,a,b): Tổng của biểu thức symbolic S
theosymbolic v, v được xác định từ v = s đến v = b.
Vídụ:
>>symsknx
>>symsum(k^2)
ans=
1/3*k^3-1/2*k^2+1/6*k
>>symsum(k)
ans =
1/2*k^2-1/2*k
>>symsum(sin(k*pi)/k,0,n)
ans=
-1/2*sin(k*(n+1))/k+1/2*sin(k)/k/(cos(k)-
1)*cos(k*(n+1))1/2*sin(k)/k/(cos(k)-1)>>symsum(k^2,0,10)
26
ans=
385
>>symsum(x^k/sym(‘k!’),k,0,inf)
ans =
exp(x)
Vidụ:Chotổngcủa2dãy S1
= 1 + 1/22 + 1/32 + … S2
= 1 + x + x2 +…..
>>symsxk
>>s1 = symsum(1/k^2,1,inf) %inflàvôcùng.
s1 =
1/6*pi^2
>>s2=symsum(x^k,k,0,inf)
s2 =
-1/(x-1)
1.6.2.6. Táchtửsốvàmẫu sốcủamộtbiểuthứcsymbolic
[n,d] = numden(A): biến đổi mỗi phần tử của A thành dạng hữu tỷ trong
đó tử số và mẫu số là các đa thức (tương đối) nguyên tố với các hệ số
nguyên. Ví dụ:
>>symsxyab
>>A=(4-x)/5;
>>[n,d]=numden(A)
n =4-x
d= 5
>>[n,d]=numden(x/y+y/x) n
=x^2+y^2
d= y*x
>>A= [a,1/b]
>>[n,d]=numden(A)
n = [a, 1]
d= [1,b]
1.6.2.7. Thay thế
Tacó thể thaythế các biếntrong biểu thức bằng các biến haycác số thuộc kiểu
khác bởi lệnh subs hoặc lệnh subexpr. Lệnh subs có các dạng sau:
- subs(S):Thaythếtấtcảcácbiếnsymbolictrongbiểuthứcbằngcácgiá
27
trịcóđượctừviệcgọihàmhoặctừWorkspacecủa Matlab.
- subs(S,new):ThaythếbiếnsymbolictựdotrongSbằngnew.
- subs(S,old,new):ThaythếoldbằngnewtrongbiểuthứcS.
Old là một biến symbolic, một xâu đại diện cho một tên biến, hoặc một
biểu thức xâu ký tự.New có thể là một biến, một biểu thức symbolic, biến số
hoặc biểu thức số. Ví dụ:
>>subs(a+b,a,4)
ans =
4+b
GiảthiếttrongWorkspacetồntạia=980vàC=3,câulệnh y=dsolve(‘Dy = a*y’) trả về y
= exp(-a*t)*C, khi đó câu lệnh: >
>subs(y)
ans =
3*exp(-980*t)
Tacó thểthaythếnhiềubiến mộtlúcbằngcáchsửdụngcú phápsau:
- subs(S,{old1,old2,…,oldn},{new1,new2,…,newn}) Ví
dụ:
>>subs(cos(a)+sin(b),{a,b},{sym('x'),2})
ans = cos(x)+sin(2)
Hàm(S)viếtlạibiểuthứcStheo cácbiểu thứccon chung:
[Y,SIGMA] = subexpr(X,SIGMA) hoặc [Y,SIGMA] =
subexpr(X,'SIGMA')viếtlạibiểuthứcXtheobiểuthứcconchungcủanó.
1.6.2.8. Biểudiễnbiểuthứcsymbolicdướidạngtoán học
Sử dụng hàm pretty(S) để hiển thị S dưới dạng dễ đọc hơn như trong quy
ước toán học thông thường. Ví dụ:
>>s=2*cos(x)^2-sin(x)^2
s=
2*cos(x)^2-sin(x)^2
>>pretty(s)
2cos(x)2-sin(x)2
>>symsxa
>>s=solve(x^3+a*x+1);
>>pretty(s)
/ a \
| #1----- |
28
| 3 #1 |
| |
| / a \ |
|sqrt(3) |---- +#1|i |
| \3#1 / a #1 |
| + - |
| 2 6#1 2 |
| |
| / a \ |
| sqrt(3)|----+#1 |i |
| a \3#1 / #1 |
| - - |
\6#1 2 2/
Trong đó:
//3\\1/3
||a1 |1|
#1== |sqrt|--+-|-- |
\\274/2/
1.6.2.9. Sửdụnglệnhsolveđểgiảihệphươngtrìnhđạisố.
Giả sử S là một biểu thức symbolic. Lệnh solve(S) sẽ có gắng tìm các giá
trị của biến symbolic trong S (được xác định bởi findsym(S)) làm cho S bằng
không. Lệnh solve() có các cú pháp như sau:
-solve(‘PT1’,‘PT2’,…,‘PTn’;
-solve(‘PT1’,‘PT2’,…,‘PTn’,‘v1,v2,…,vn’);
-solve(‘PT1’,‘PT2’,…,‘PTn’,‘v1’,‘v2’,…,‘vn’).
Trong đó: PT là phương trình, v1, v2,… vn là các biến hay ẩn. Các biến
symbolic không được liệt kê trong danh sách đối số được coi là các tham số.
1.6.2.10. Phươngtrìnhviphân
Hàm dsolve tính toán lời giải symbolic cho các phương trình vi phân
thường. Các phương trình được xác định bởi biểu thức symbolic chứa chữ D để
biểu diễn ký hiệu vi phân d/dt. Các ký hiệu D2, D3,… Dn tương ứng với đạo
hàm bậc 2, 3,… n. Vì vậy, D2y tương đương với d2y/dt2.
Trong lời giải dsolve thì biến độc lập mặc định là t. Lưu ý rằng tên của
biến symbolic không được chứa ký tự D. Điều kiện đầu có thể được xác định
bằngcáchbổsungthêmcácphươngtrình.Nếuđiềukiệnđầukhôngđượcxác

29
địnhthìlờigiảisẽchứacáchằngsốtíchphân C1,C2,...
Cúphápcủalệnhdsolve:dsolve(‘PT1’,‘PT2’,…,‘PTn’) Ví
dụ:
>>y=dsolve('(D2y)=1','y(0)=1') y
=
1/2*t^2+C1*t+1
>>[x,y]=dsolve('Dx=y','Dy=-x') x=
cos(t)*C1+sin(t)*C2
y=-sin(t)*C1+cos(t)*C2
1.6.2.11. Biếnđổilaplacevàlaplacengược
Biến đổi Laplace thuận có cấu trúc: Laplace(f,t,s) hàm f là hàm theo biến
t, biến đổi từ miền thời gian t sang miền ảnh Laplace s.
L=laplace(F):BiếnđổiLaplacecủahàmFvớibiếnđộclậpmặcđịnhlà
t.Kết quảtrảvềlàmộthàmcủa s.
Nếu F=F(s)thìLaplacetrảvềmộthàmcủat:L=L(t).Theo địnhnghĩa: L(s) =
int(F(t)*exp(-s*t),0,inf) và phép tích phân được thực hiện với t.
L=laplace(F,t):Llàmộthàmcủatthaythếbiến mặcđịnhs.
1.6.2.12. Lệnh collect
- Cấutrúc:collect(f,x):làlệnhnhómthừasốchungtheobiến Ví
dụ:
f = 2*x+3*x;
>>f=collect(f,x)
f=
5*x
1.6.2.13. Vídụ
Chomạchđiệncóphươngtrìnhnhưsau:
(dI1/dt)*R1+ R2= I1*R3 %giảiphươngtrìnhtrênbằngcách biến
đổi sang laplace
%ChươngtrìnhviếttrongM-filevàđượcghitrongfileC5.m syms
R1 R2 R3real;
I1=sym('I1(t)');
dI1=sym('diff(I1(t),t)');
eq1=dI1*R1+R2-I1*R3;
syms t s ;
q1=laplace(eq1,t,s)

30
syms I1p; q2=subs(q1,{R1,R2,R3,'I1(0)','laplace(I1(t),t,s)'},
{1,2,3,2,I1p})
q2=collect(q2,I1p); %nhómlạithừasốchunglàI1p
I1p=solve(q2,I1p) % Giải phương trình trên với biến I1p
ilaplace(I1p) % biến đổi ngược lại sang I1(t)
Kếtquảkhithựchiệnchươngtrìnhtrên là:
>>C5
q1=R1*(s*laplace(I1(t),t,s)-I1(0))+R2/s-R3*laplace(I1(t),t,s)
q2 =s*I1p-2+2/s-3*I1pI1p =2*(s-1)/s/(s-3)
%kếtquả I1(t)
ans=2/3+4/3*exp(3*t) %kếtquả I1(t)
1.7. Đồhọatrong Matlab
Các kết quả trong Matlab thường cho mảng dữ liệu rất lớn, do đó đôi khi
khó có thể phân tích chi tiết.Tuy nhiên, trong Matlab có mảng đồ họa có thểkhắc
phục được những khó khăn trên.
Đồ họa là một dạng ngôn ngữ diễn tả sự việc một cách sinh động, ấn
tượng và hiệu quả. Các công cụ trong Matlab cung cấp cho chúng ta nhiều
phương pháp vẽ khácnhau đểtạo ra các đồ thị, biểu đồ trong mặt phẳng (2D)và
trong không gian (3D) với những tiện ích rất phong phú và dễ sử dụng.
Vẽ trong Matlab rất đơn giản,saukhi khaibáo các biến,chỉ cần dùng một
trong cáclệnhvẽđồthịlàcó ngaysản phẩmhiện lên trongcửasổđồhọa. Vẽđồ thị
trong mặt phẳng được sử dụng bởi rất nhiều lệnh khác nhau: plot, fplot, ezplot,
stairs, loglog, semilog, contours, bar, fill, area, polar, scater… Vẽ đồ thị trong hệ
tọa độ 3 chiều được thực hiện bởi các lệnh: mesh, pie3, surf, fill3… Ngoài ra ta
còn có thể chọn nét vẽ, chọn màu, điền các thông tin chú thích trên đồ thị…
1.7.1. Cửasổđồhọavàthanhcôngcụđồhọa
Matlab biểu thị đồ họa ở cửa sổ riêng tên là Figure, để tạo một cửa sổ đồ
họa gõ lệnh figure ở cửa sổ lệnh. Tuy nhiên, khi vẽ đồ thị đầu tiên ta chỉ cầnthực
hiện các lệnh đồ họa trong cửa sổ lệnh và sản phẩm đồ họa sẽ xuất hiệntrên cửa
sổ Figure một cáchtựđộng mà không cần phải khai báo gì.Ởcửa sổđồ họa cũng
có các phím chức năng như ở các cửa sổ khác như: File, Edit, View, Insert,
Tolls, Desktop… Bình thường mỗi cửa sổ đồ họa chỉ chứa một hình vẽ duy nhất,
vì vậy cần lưu ý, nếu chưa cất hình vẽ vào file riêng mà đã ra lệnh vẽ
đồthịkhácthìmộtcáchtựđộngđồthịcũsẽbịthaythếbởicáimới.Nếukhông

31
muốn cấtđồthịcũ màvẫngiữnótrongquátrìnhlàmviệcthìcần phảiđánh lệnh figure
trước khi vẽ đồ thị mới.
Có thể xóa bỏ toàn bộ đồ thị và hệ trục bằng lệnh clf, chỉ xóa đồ thị mà
vẫn giữ được hệ trục thì dùng lệnh cla.
1.7.2. Kiểuđườngnétvẽ,điểmđánhdấuvàmàusắccủađồthị
LệnhvềnétvẽvàmàuđượcquyđịnhtrongMatlabtheocáckýhiệu nhất định.
Khi khai báo, kiểu đường và kiểu điểm được biểu thị giữa hai dấu phảy trên (‘’).
Nếu không khai báo thì Matlab sẽ sử dụng nét vẽ và màu mặc định. Matlabmặc
định đườngvẽ là đường liền, không đánh dấu, màuxanh nước biển (blue).
Bảng1.4.Cáckýhiệuvềlệnhvẽnétvàmàucủađồhọa
Kiểuđường Kiểuđiểm Màu
Ký Ký
Nét Hình Ký hiệu Màu
hiệu hiệu
- Liền x Dấunhân w (white) Trắng
Đứt
-- o Tròn y (yellow) Vàng
quãng
. Chấm s Vuông r (red) Đỏ
Chấm
m
-. đứt ∆ Tamgiác(lên) Đỏthẫm
(magenta)
quãng
Tamgiác
v g(green) Xanhlácây
(xuống)
Tamgiác Xanh
> b (blue)
(phải) nướcbiển
< Tamgiác(trái) c (cyan) Lụclam
p Ngũgiác b(black) Đen
h Lụcgiác I Ẩn
. Dấuchấm
+ Dấucộng
* Dấuhoathị
Các đặc tính của đường nét, điểm đánh dấu và màu của đồ thị được khai
báo bởi chuỗi lệnh sau: ‘lineWidth’,a,‘markerSize’,b,‘color’,‘c’.
Trongđó,‘lineWidth’dùngđểđịnhđộrộngcủađườngvẽ,lệnh

32
‘markerSize’địnhđộlớn(kíchthước)củacácđiểmđượcđánhdấuvàlệnh
‘color’đểđịnhmàucủađồ thị.
Cácthamsốa,bbiểuthịgiátrịcủađộrộngnétvẽvàkíchthướcđiểmdấu (đơn vị là
point) còn tham số c biểu thị màu.
Nếu không khai báo thì đồ thị sẽ được vẽ với các đặc tính mặc định: bề
rộng nét vẽ là a = 0,5 point và giá trị của điểm là b = 0,6 point (1 point = 1/36
inch; 1inch = 0,36 cm), màu xanh nước biển.
Ví dụ: Hãy vẽ đồ thị hình sin với nét vẽ màu đỏ, có độ rộng 3 point, kích
thước điểm là 9 point.
TathựchiệnchuỗilệnhsautrênMatlab:
>>x=-3:0.3:3;
>>y=sin(x);
>>plot(x,y,'rs-','lineWidth',3,'markerSize',9)

Hình1.6.Đồthịhìnhsinvớibềrộngđườnglà3point và
chiều cao điểm là 9 point
1.7.3. Trụctọađộvàlướichođồthị
1.7.3.1. Trụctọađộ
Một cách tự động sau khi vẽ, các trục tọa độ được hiển thị cùng với đồthị.
Khi thực hiện các lệnh vẽ đồ thị, Matlab tự động chọn tỉ lệ (autoscanling) trên
các trục tọa độ kể cả phạm vi thay đổi của các đại lượng cũng như khoảng cách
giữa 2 điểm đánh dấu liền nhau trên các trục sao cho dễ nhìn nhất. Ta cóthể
dùng lệnh axis với công dụng chia lại trục tọa độ để can thiệp vào chức năng
autoscanling của Matlab với cú pháp:
axis([xminxmaxyminymax])
axis([xminxmaxyminymaxzminzmax]) axis on
axis off
Giảithích:
xmin,ymin,zmin:Làgiátrịnhỏnhấtcủacáctrụcx,y,z;

33
xmax,ymax,zmax:Làgiátrịlớnnhấtcủacáctrụcx,y,z; on: Cho
hiển thị trục tọa độ;
off:Khôngchohiểnthịtrụctọađộ. Ngoài ra
còn có các lệnh khác:
Axissquare:Lệnhnàycótácdụnglựachọntỉlệđểsaochođồthịcó hình vuông.
1.7.3.2. Lướiđồthị
Lệnh grid on cho phép thiết lập ô lưới đồ thị, lệnh grid off cho phép bỏ
lưới khỏi đồ thị, lệnh grid cho phép chuyển trạng thái lưới từ on sang off và
ngược lại.
>>x=-3:0.3:3;
>>y=cos(x);
>>plot(x,y,'bs-','lineWidth',3,'markerSize',5)
>>gridon;

Hình1.7.Đồthịhàmcoscólướiđồthị
1.7.4. Điềnkýtựvàođồthị
Việcđiềnkýtựvàođồthịđượcthựchiệnđểbiểuthịtênđồthị,têncác trục tọa độ, các
ghi chú, giải thích…
1.7.4.1. Điềntênđồthị
Tênđồthịđượckhaibáobằnglệnhtitle(‘tendothi’),cụmtừ‘tendothi’
đượcnhốtgiữahaidấu phảytrên(‘’).
Lưu ý: Ký tự điền trong đồ thị chỉ được viết bằng tiếng Việt không
dấu,hoặc bằng tiếng Latin, tiếng Anh…
1.7.4.2. Điềntênchocáctrụctọađộ
Têncáctrụctọađộđượcđiềnbởicáclệnhnhãnxlabel(‘x’)và

34
ylabel(‘f(x)’), nếu cần điền thêm đơn vị của các đại lượng x và y thì tacũng có
thể ghi trong các nhãn này. Ví dụ: xlabel(‘l, km’).
Ta cũng có thể viếtký tự dưới dạng chỉ số hayký tự HyLạp dạng L ATEX.
Ví dụ: xlabel(‘U^2_v_a_o’), khi đó trên trục x của đồ thị sẽ hiển thị lên ký hiệu
sau: U2vao.
1.7.4.3. Điềnghichúvàođồthị
a. Điềnghichúbằnglệnh text
Lệnhtext(‘xi,yi,‘Ghichu’)chophépđiềntừ‘Ghichu’vàovịtrícótọa độ xiyi.
Ví dụ: Với lệnh text(‘2.5,4.5,‘Dien ap’), tại tọa độ x = 2,5 và y = 4,5 của
biểu đồ sẽ xuất hiện dòng chữ “Dien ap”.
Nếu muốn có mũi tên chỉ về phía phải thì khai báotext(‘2.5,4.5,‘\
rightarrowDien ap’), hoặc chỉ về phía trái là text(‘2.5,4.5,‘\leftarrowDien ap’).
b. Điềnghichúbằnglệnhgtext
Việcđưachúgiảilênđồthịcũngcóthểthựchiệnbằnglệnh gtext(‘text’).
Chẳnghạnsau khi đồthị đã được vẽ, ta gõlệnhgtext(‘cos(x)’),
lúcđótrênđồthịxuấthiệndấuchữthập,tacóthểdichuộtđểchuyểnđếnvị
trícầnthiếtsauđóấnchuộttrái,lờighichú“cos(x)”sẽlậptứcxuấthiệntại vị trí bạn vừa
lựa chọn.
c. Điềnghichúbằnglệnhlegend
Ta cũng có thể thêm chú thích vào đồ thị bằng lệnh legend(‘y’). Lệnh này
cho phép tự động thiết lập ghi chú các đồ thị, nó đặc biệt hữu ích khi có nhiềuđồ
thị trên một hệ trục tọa độ. Khi đó lệnh này được khai báo như sau: legend(‘y1’,
‘y2’, …, ‘yn’). Ngoài các lệnh trên ta còn có thể ghi chú trên trục tọa độ với sự
trợ giúp của hàm set.
Ví dụ: Hãyvẽđồthịhàmsố y= cos2x tronghệtrụctọađộcó lướivàđiền tên các
trục tọa độ và các ghi chú.
>>x=0:0.1:3;
>>y=cos(2*x);
>>plot(x,y,'bs-','lineWidth',3,'markerSize',5),grid;
>>title('Hamcos2x');
>>xlabel('x');
>>ylabel('cos2x');
>>text(1,-0.2, '\leftarrowcos(2x)');

35
Hình1.8.Đồthịcóđiềntênđồthị,têncáctrụctọađộ và ghi
chú vào đồ thị
1.7.5. Đồthịhaichiều(2D)
Tacó thểdùng cáclệnhsauđâyđểvẽđồthị2Dkiểu đường
1.7.5.1. Lệnhplot
Hàm plot cho phép vẽ đồ thị hàm số y = f(x), hoặc từ dữ liệu cho trước
của x và y. Lệnh plot(x,y) vẽ một đồ thị với giá trị x trên trục hoành và giá trị y
trên trục tung bằng cách nối các điểm (x,y). Đồ thị này sẽ hiển thị trên một cửa
sổ đồ họa figure.
Vídụ:Vẽđồ thịhàmphứcyxvớiy=0,5 +0,7ivàx = 0:10.
>>x=0:10;
>>x=0:.2:10;
>>y=0.5+0.7*i;
>>plot(y.^x,'*-','lineWidth',3),grid;
>>xlabel('Thuc'),ylabel('Ao');
>>title('Dothihamphuc');

Hình1.9.Đồthịhàmphức

36
1.7.5.2. Lệnhfplot
Lệnh fplot cho phép vẽ đồ thị của hàm toán học bất kỳ. Nếu đã biết
hàmsố f(x) thì có thể vẽ đồ thị bằng các lệnh đơn giản là: fplot(‘f(x)’,[x1,x2]).
Trongđó:f(x)làhàmsố;
x1,x2:xácđịnhkhoảngcầnvẽ.
Hàm fplot vẽ đồ thị hàm số trong khoảng giới hạn xác định. Hàm số cóthể
có dạng y=(fx), trong đó x là vec tơ có khoảng giới hạn xác định và y là một vec
tơ cùng kích thước với x, có chứa các giá trị ứng với các điểm của x. Nếu ứng
với mỗi điểm của x, hàm f(x) có nhiều hơn một giá trị thì y là một ma trận có
các cột chứa các phần tử của f(x).
Vídụ: Vẽđồ thịhàmsốy=x3 –x2– 3x +e0,3.x
>>fplot('x^3-x^2-3*x+exp(0.3*x)',[-3,3],'r-'),grid;
>>xlabel('x');ylabel('f(x)');
>>title('Dothitheohamfplot');
>>text(-1,0.5, 'y= f(x)');

Hình1.10.Đồthịhàmf(x)vẽbằng lệnhfplot
Ởvídụnàynếusửdụnglệnhplotthìsẽcódòngbáolỗi:“Errorusing plot” và sẽ
không có đồ thị nào được vẽ cả.
Ngoàira,vớilệnhfplottacóthểvẽđồngthờinhiềuđồthịtrênmộthệ trục tọa độ.
Vídụ:
>>fplot(@(x)[x^3-x^2-3*x+exp(0.3*x),exp(x)],[-3,3],'r-'),grid;
>>gtext('e^x');
>>gtext('y');
37
Hình 1.11. Đồ thị của hai hàm số được vẽ
trêncùngmộthệtrụctọađộbằnglệnhfplot
1.7.5.3. Lệnhezplot
Khi dùng lệnh ezplot không cần phải khai báo, một cách tự động tên của
hàm được biểu thị ở title của đồ thị.
Lệnhezplot(‘f’)vẽđồthịhàmf=f(x)trongkhoảngmặcđịnhcủax:-2π
< x <2π.
Lệnh ezplot(‘f’, [min,max]) vẽ đồ thị hàm f = f(x) trong khoảng giới hạn
min < x< max.
Vídụ:Vẽđồthịhàmsốy=cosxtrongkhoảng-4<x<4dùnglệnh ezplot.
>>ezplot('cos(x)',[-4,4]),grid;

Hình1.12.Đồthịhàmsinxvớihàmezplot
38
1.7.6. Trìnhbàyđồthị
1.7.6.1. Vẽđồngthờinhiềuđồthịtrêncùnghệtrụctọađộ
Có thể vẽ rất nhiều đồ thị trên cùng một hệ trục tọa độ, để thực hiện được
điều này ta có thể dùng một trong các lệnh sau đây:
a. Dùnglệnhholdon
Nếumuốncónhiềuđồthịtrêncùngmộthệtrụctọađộthìtrướckhira lệnh vẽ đồ thị
thứ 2 ta cần sử dụng lệnh hold on.
Vídụ: Vẽ2đồthịsautrêncùng1hệtrụctọađộy=2sinxvàz= cosx
>>x=0:0.01:2;
>>y=2*sin(x);
>>plot(x,y);
>>z=cos(x);
>>hold on;
>>plot(x,z);
>>title('Dothiyva ztren cunghetruc');
>>gtext('y=2sinx');
>>gtext('z=cosx)');

Hình1.13.Xếpchồngđồthịbằnglệnhholdon
Sau khi đã thực hiện xong việc vẽ đồ thị ta cần dùng lệnh hold off để hủy
bỏ lệnh hold on. Ta cũng có thể hủy bỏ lệnh hold on bằng lệnh hold. Lệnh hold
cho phép chuyển đổi từ chế độ hold off sang chế độ hold on và ngược lại.

39
b. Dùnglệnhaxes
Lệnh axes cho phép thiết lập các trục tọa độ của đồ thị thứ hai tại vị tríxác
định trong cửa sổ đồ họa, cấu trúc của lệnh này như sau: axes(‘position’,
RECT).
Trong đó: RECT là vec tơ gồm 4 phần tử: RECT = [trái, dưới, rộng, cao],
đặc trưng cho kích thước của hộp tọa độ, tương ứng với góc trái dưới của cửa sổ
đồ họa là tọa độ (0,0) còn góc bên trên là (1,1).
c. Dùnglệnh plot(x,y,x,z)
Ta cũng có thể vẽ được hình trên bằng cách dùng lệnh plot(x1,y1,x2,y2,
…,xn,yn) mỗi cặp xi,yi được khai báo trong lệnh sẽ cho một đường cong tương
ứng. Cách vẽ này nhìn chung đơn giản hơn cả và có thể cho phép tiết kiệm được
một lệnh so với cách dùng lệnh hold on.
Chúý:Khidùnglệnhplot(x1,y1,x2,y2,…,xn,yn),kíchthướccủacáctham số yi
phải tương đương nhau, nếu không Matlab sẽ xây dựng đồ thị với trục tọa độ
ứng với kích thước cực đại.
1.7.6.2. Vẽđồngthờinhiềuđồthịtrênnhiềucửasổ
Nếu muốn đồng thời có nhiều đồ thị mà chúng không cản trở lẫn nhau, ta
cóthểvẽchúngvào các cửasổđồhọakhác nhaubằng cáchsửdụnglệnhfigure, khi đó
xuất hiện thêm nhiều cửa sổ mới mà vẫn giữ nguyên cửa sổ cũ.
1.7.6.3. Chiacửasổđồhọathànhnhiềuphầnnhỏ
Để vẽ nhiều cửa sổ đồ họa trên cùng một trang giấy ta dùng lệnh subplot,
đồ thị sẽ được vẽ ở phần giấy tương ứng và được chỉ trong lệnh.
Cúpháp:subplot(m,n,p)hoặcsubplot(mnp)
Giảithích:subplot(m,n,p)hoặcsubplot(mnp)chiacửasổđồhọathành mn vùng
để vẽ nhiều đồ thị trên cùng một cửa sổ.
m:Sốhàngđượcchia. n:S
cột được chia.
p:Sốthứtựvùng chọn đểvẽđồthị.
Nếukhaibáop>mnthìsẽxuấthiệnmộtthôngbáolỗi.
Vídụ:Chiacửasổđồhọathành23 vùngvàhiểnthịtrụccủacả6 vùng. subplot(231)
subplot(232)
subplot(233)
subplot(234)

40
subplot(235)
subplot(236)

Hình1.14.Cửasổcủalệnhsubplottạora
1.7.7. Thayđổicácthuộctínhcủađồthị
1.7.7.1. Thayđổinétvẽvàđiểm dấu
a. Thayđổinétvẽ
Để thay đổi nét vẽ thì trước hết ta phải gọi lại đồ thị để sử dụng tiếp, đồthị
được gọi lại bằng lệnh hPlot, sau đó dùng lệnh set để thay đổi thuộc tính của đồ
thị.
Vídụ: Vẽvàlàmđậmnétđồ thịhàmsố y= cosx.
>>x=0:0.1:3;
>>y=cos(x);
>>hPlot=plot(x,y);
>>set(hPlot,'lineWidth',8);

Hình1.15.Kếtquảthayđổiđộđậmcủanétvẽ
41
Ở hình 1.15 đã làm đậm nét vẽ ‘lineWidth’ với giá trị mới là 8 (nét vẽmặc
định là 0,5)
b. Thayđổisốđiểmdấutrêncáctrụctọa độ
Muốn thay đổi số lượng điểm đánh dấu trên các trục tọa độ ta có thể áp
dụng lệnh set – xử lý đối tượng. Trước hết cần gọi lại đối tượng không kích
thước bằng lệnh gca. Số lượng điểm dấu được chia lại bằng lệnh:
set(hAxes,‘xtick’,[x1,x2,…],‘ytick’,[y1,y2,…])
1.7.7.2. Hiệuchỉnhđồthịvớisựtrợgiúpcủathanhcông cụđồhọa
Để hiệu chỉnh lại đồ thị sau khi vẽ, tiện nhất là sử dụng thanh công cụ đồ
họa. Tất cả các thao tác hiệu chỉnh có thể thực hiện bằng các ấn vào properties,
khiđósẽcómột cửasổhiển thị ra,sau khihiệuchỉnhđồ thị theo ýmuốntaphải ấn OK
để lệnh được thực hiện.
1.7.7.3. Lệnh whitebg
Côngdụng:Thayđổimàu nền củacửasổđồhọa.
Cú pháp:
whitebg
whitebg(‘color’)
Giải thích: Whitebg chuyển đổi qua lại màu nền cửa sổ đồ họa giữa trắng
và đen.
Whitebg(‘color’)chuyểnmàunềncửasổđồhọathànhmàucủabiếncolor.
Color có thể là các màu: yellow (vàng), magenta (đỏ tươi), cyan (lơ), red
(đỏ), green (lục), blue (lam), white (trắng), black (đen).
Matlab cho phép ta thay đổi định dạng của đồ thị như: font chữ, kíchthước
chữ, kích thước đường, màu sắc, trục đồ thị… để thay đổi định dạng đồthị ta có
thể: dùng menu File/Edit, chọn Figure properties…để thay đổi định dạng cho
figure window, Axis properties…để thay đổi định dạng cho trục, Current Object
properties… để thay đổi định dạng cho đối tượng hiện hành. Chọn đối tượng mà
ta muốn thay đổ định dạng và nhấn chuột phải để hiện lên menu lựa chọn.
Để thêm các đối tượng như nhãn, văn bản, ghi chú, tiêu đề... ta có thểdùng
menu Insert.
Đểxuấtđồthịracácdạnghìnhảnhnhưjpg,gif,tadùngmenu
File/ExportAs…

42
1.7.8. Bài1.ThựchànhvớiMatlabcơbản
1.7.8.1. Mụctiêu củathínghiệm
-Cungcấpkiếnthứccơbảnvềmatlabđượcứngdụnggiảimạchđiện tuyến tính ở
chế độ xác lập điều hòa.
1.7.8.2. Thiếtbịthí nghiệm
-MáytínhcàiphầnmềmMatlab7.0.
1.7.8.3. Nộidungthínghiệm
1. HãysửdụngMatlabđểthựchiệncácphéptínhsau:
a. 25,4+17(π/2,3)-2,5
b. S=(3+4j)*5∠π/3/(6-7j)
c. sin(5,1)+cos(3,7)
d. cos2(15,2)+sin1/2(21,3)
e. e2,5+tg(30,5)
f. Xácđịnh modun,gócphavàsốphứcliên hợp củađạilượngSởcâub
-Lậptrìnhvàđưarakếtquảtrên Matlab:
……………………………………………………………………………
2. Cho2matrậnA=[123;8910;202122];B=[345;161718;192728]
Thực hiện các phép tính cộng, trừ, nhân, chia, tìm ma trận nghịch đảo, ma
trận chuyển vị của hai ma trận A, B trên cửa sổ Editor-Debugger, lưu và đặt tên
cho file đó với tên “pheptinhmatran”, gọi và chạy file đó theo 2 cách: Gọi tênfile
trên cửa sổ comman Windows và chạy trên cửa sổ Editor (có dùng lệnh disp để
hiện thị kết quả).
-ThựchiệnvớiMatlab:
……………………………………………………………………………

43
Chương2
ỨNGDỤNGMATLABGIẢIMẠCHTUYẾNTÍNH Ở
CHẾ ĐỘ XÁC LẬP
2.1. Kháiniệmchungvềmạchđiệntuyếntínhởchếđộxáclập
2.1.1. Mạchđiệntuyếntính
Một phần tử được gọi là tuyến tính khi các thông số của nó không phụ
thuộc vào điện áp và dòng điện chạy qua nó, nếu không thoả mãn điều này thì
phần tử đó thuộc loại không tuyến tính.
Mạch điện được gọi là tuyến tính khi các thông số hợp thành của nókhông
phụ thuộc vào điện áp và dòng điện chạy trong mạch. Như vậy, trước hết mạch
tuyến tính phải gồm các phần tử tuyến tính, chỉ cần trong mạch có một phần tử
không tuyến tính thì mạch đó cũng không phải là mạch tuyến tính. Để hiểu rõ
khía cạnh này, ta xét ngay đối với các phần tử thụ động:
- Điện trở là phần tử tuyến tính nếu đặc tuyến Vôn-Ampe của nó là một
đường thẳng, quan hệ giữa điện áp và dòng điện trên nó có dạng:
U=R.IhayR=U/I(vớiRlàmộthằngsố)(2.1)
Và nó sẽ là không tuyến tính (phi tuyến) nếu đặc tuyến Vôn-Ampe của nó
không phải là một đường thẳng mà là một đường cong, quan hệ giữa điện áp và
dòng điện trên nó có dạng một hàm:
U=f(I)hayR=f(U,I) (2.2)
- Tươngtựnhưvậy,mộttụđiệnđượcgọilàtuyếntínhnếucóquan hệ:
q=C.UhayC=q/U(vớiClàmộthằngsố)(2.3) Và nó
sẽ là phần tử phi tuyến nếu có quan hệ hàm số:
q=f(U)hayC=f(U,I)(2.4)
- Cũngnhưthế,mộtcuộncảmđượcgọilàtuyếntínhnếucóquanhệ: Φ=LI
hay L=Φ/I (với L là một hằng số)(2.5)
vànó sẽlàphầntửphituyến nếu cóquanhệhàm số:
L=f(U,I)hayΦ=f(I) (2.6)
Cáctínhchấtcủacácphầntửvàmạch tuyếntínhbao gồm:
- Cóthểápdụngnguyênlý xếp chồng;
- Đặctuyếnđặctrưngchophầntửlà mộtđườngthẳng;
- Phươngtrìnhcủamạchlàphươngtrìnhviphântuyếntính;
- Dướitácđộngvớitầnsốbấtkỳ,trongmạchkhôngphátsinhracáchàimới.

44
2.1.2. Địnhnghĩamạchđiệntuyếntínhởchếđộxáclập điềuhòa
Chế độ làm việc xác lập là chế độ làm việc của mạch điện mà trong đócác
thông số cơ bản của mạch điện không thay đổi trong suốt quá trình hoạtđộng của
mạch điện.
2.1.3. Cấutrúcmạchđiện
Khi mạch tương đương của một hệ thống đã được xây dựng, việc phân
tích mạch này được tiến hành dựa trên một số các định luật cơ bản và các định
luật này lại được xây dựng theo các yếu tố hình học của sơ đồ mạch. Đây là
những khái niệm mang ý nghĩa hình học, tạo cơ sở cho việc phân tích mạchđược
thuận tiện, chúng bao gồm:
- Nhánh: Là phần mạch gồm các phần tử mắc nối tiếp trong đó có cùng
một dòng điện chảy từ một đầu tới đầu còn lại của nhánh;
- Nút:Làgiaođiểmcủa cácnhánh mạch;
- Cây:Làphầnmạch baogồmmộtsốnhánhđiquatoànbộcácnút,nhưng không
tạo thành vòng kín. Xét một cây cụ thể, nhánh thuộc cây đang xét gọi là nhánh
cây và nhánh không thuộc cây gọi là nhánh bù cây;
- Vòng:Baogồmcácnhánhvàcácnúttạothànhmộtvòngkhépkín.
Vòngcơbản(ứngvớimộtcây)làvòngchỉchứamộtnhánhbù cây.
Nếu mạch điện có số nhánh Nnh, số nút Nn, ứng với một cây có số
nhánhbù cây là Nb và số vòng cơ bản là Nv thì ta có:
Nb=Nv=Nnh-Nn+ 1 (2.7)
- Mắt lưới: Là vòng kín không chứa vòng nào bên trong nó. Để minh họa,
ta xét mạch điện hình 2.1.
MạchđiệnnàycócácnútA,B,C,O(tứcNn=4). Có các
nhánh Z1, Z2, Z3, Z4, Z5, Z6 (tức Nnh =6).
CácnhánhZ1,Z3,Z5tạothànhmộtcâycóbanhánh,gốctạiO,các nhánh còn lại là
các nhánh bù cây.
Ứngvới câycó gốcO, các vòng V1, V2,V3 làcácvòng cơ bản;cònvòng V4,
chứa 2 nhánh bù cây nên không phải vòng cơ bản.
VòngV1vàV2làmắtlướicònV4khôngphảilàmắt lưới.

45
Hình2.1.Cấutrúcmạchđiện
2.2. Matrậnmôtảcấutrúcmạchđiện
2.1.1. Matrậnnút–nhánh
Ma trận nút – nhánh: Là ma trận mô tả cấu trúc mạch điện có số hàng
làsố nút độc lập, số cột là số nhánh của mạch điện, ký hiệu là ma trận A.
AijlàmộtphầntửcủamatrậnA,trong đó:
Aij=1khichiềudòngđiệncủanhánhđirakhỏinút; Aij = -
1 khi chiều dòng điện của nhánh đi vào nút; Aij = 0
khi nhánh không tham gia vào nút.
Vídụ:Chomạchđiệncócấutrúcnhưsau:

Hình2.2.Ggraphmạch điện
Mạch điện gồm6 nhánh,4 nút, trongđó có3 nútđộc lập (số nútđộc lập = số
nút -1).

46
Vậymatrận nút–nhánhAcódạng:
Nhánh
−1 0 0 1 0 1
A=Nút 0 −1 0 −1 1 0
0 0 −1 0 −1 −1
CácphầntửtrênmộthàngcủamatrậnAchobiếtnútđónốivớicácnhánh
nàovàchiềucủacácnhánhđivàohayđirakhỏinút.Cácphầntửtrênmộtcộtcho
biếtnhánhđónốicácnútnàovớinhau.Vídụ:Ởcột2,nhánh2nốigiữanút2với
nút0vàcóchiềuđivàonút2,ngoàiracònchobiếthiệuđiệnthếtrênnhánhbằng
hiệusốthếcủacặpnútnào,ởnhánh2thìu2=φo–φ2=0–φ2=-φ2.
2.1.2. Matrậnvòng–nhánh
Matrậnvòng–nhánh:Làmột matrận môtảcấutrúccủamạchđiệncósố hàng là
số vòng được viết theo định luật Kir 2 (số vòng độc lập) và số cột là số nhánh
của mạch điện, ký hiệu ma trận là B.
Bijlà mộtphầntửcủamatrận B,trongđó:
Bij=1khichiềudòngđiệncủanhánhcùngchiềuvớichiềuvòngđãchọn; Bij=-
1khichiềudòngđiệncủanhánhngượcchiềuvớichiềuvòngđãchọn; Bij = 0 khi
nhánh không tham gia vào vòng.
Vídụ:Chomạchđiệnnhưhình1.
Viết ma trận vòng – nhánh B là:
Nhánh
1 −1 0 1 0 0
B=vòng0 −1 1 0 −1 0
0 0 0 −1 −1 1
Cácphầntửtrên cùngmộtcộtcủa matrậnBchỉrõnhánhđóthamgiavào những
vòng nào có chiều thuận hay ngược với chiều vòng. Các phần tử trêncùng
mộthàngchỉrõtrong vòngđócó nhữngnhánhnào,thuận chiềuhayngược chiều vòng.
2.3. Cácbàithựchànhmạchtuyếntínhởchếđộxáclập
2.3.1. Bài 1: Giải mạch điện tuyến tính ở chế độ xác lập bằng phương
phápdòng nhánh
2.3.1.1. Mụctiêucủabàithínghiệm
- GiảimạchđiệntuyếntínhxáclậpbằngMatlabtheophươngphápdòngnhánh.
2.3.1.2. Cơsởlýthuyếtcủathí nghiệm
Hệphươngtrìnhmôtảmạchđiệntheophươngphápdòngnhánhlàhệ được viết theo
định luật Kir 1 và định luật Kir 2
47
{ =0
(2.8)
∑lk =∑Ėk
∑Zk lk̇
Trongđó:lk ,Ė ,Zklàdòngđiện,sứcđiệnđộngvàtổngtrởcủacácnhánh.
k
NếugọiInhlàmatrậncộtbiểudiễndòngđiện trêncácnhánh:
l1̇
lnh=… (2.9)
l ṅ
Unhlàmatrậncộtbiểudiễnđiệnáptrêncác nhánh:
U̇1
Unh=… (2.10)
U̇n
Znhlàmatrậnvuôngcócácphầntửtrênđườngchéochínhlàtổngtrở riêng của các
nhánh, Zkn là tổng trở tương hỗ của nhánh k và nhánh n.
Z11 … Z1n
Znh=… Zkk … (2.11)
Zn1 … Znn
Trongđó:Zkk:Tổngtrởnhánhk;Zkn:tổngtrởtươnghỗgiữanhánhkvàn.
Jnút là ma trận cộtbiểu diễnnguồndòng ởcác nút độclập,lấydấu +khiđi vào
các nút, ngược lại lấy dấu -:
]nut1
]nut= … (2.12)
]nutn
Enhlàmatrậncộtbiểudiễnnguồnsứcđiệnđộngtrêncácnhánh,lấydấu+ khi cùng
chiều các nhánh, ngược lại lấy dấu -:
Ė1
Enh=… (2.13)
Ėn
Vậyhệphươngtrìnhdòngnhánhmôtả mạchđượcviếtởdạngmatrận như sau:
A.lnh=]nút
l B.Znh.lnh=B.Enh (2.14)
A ]nút
Đặt:D= ; =
B.Znh (2.15)
B.Enh
Vậyta có:D.Inh=G (2.16)
Suyra:Inh= D-1.G (2.17)
Trongđó:D-1làmatrậnnghịchđảocủamatrậnD.

48
2.3.1.3. Nộidungvàtrìnhtựthínghiệm
- Thiếtbịthínghiệm
- MáytínhcàiphầnmềmMatlab7.0
- Lưu đồ thuật toán giải mạch điện tuyến tính xác lập theo phương pháp
dòng nhánh bằng Matlab

Hình2.3.Lưuđồthuậttoángiảimạchđiệntuyếntính xác
lập theo phương pháp dòng nhánh
- Vídụthựchành mẫu
*Vídụ1giảimạch điệntheodòngnhánh:
Chomạchđiệnnhưhìnhvẽ.Biết:R1=10Ω;ωL1=10Ω;R2=5Ω;ωL2=
5Ω;R3 E2 =100∠ (v);]3̇=
n
=30Ω;ωL3 =40Ω;E1 =100∠00(v);
6
2∠n(A).GiảthiếtkhôngcóhỗcảmgiữacácđiệncảmL,L,L.Tínhdòng
1 2 3
3
điệntrongcácnhánh.
49
I1R1 L1 1 L2R2R2 I2

I3

R3
E1 J E2
L3

Hình2.4a.Mạchđiệnví dụ1giảitheodòngnhánh
- Phân tích mạch điện và vẽ graph (cấu trúc) mạch điện, lập ma trận nút –
nhánh A và ma trận vòng – nhánh B từ graph mạch điện.

1 3 2
I II


Hình2.4b.Graphmạchđiệnvídụ1giảitheodòngnhánh
A=[−1 −1 1];
1 0 1
B= ;
0 1 1
-Chạychươngtrìnhtrên Matlab:
%Nhapthongsobaicho
Z1=10+j*10;Z2=5+j*5;Z3=30+j*40;
E1=100;E2=100*exp(j*pi/6);J3=2*exp(j*pi/3);
%Lap matran
A=[-1-11];%matran nut-nhanh
B=[1 0 1; 0 1 1];%matranvong-nhanh Enh=[E1; E2; 0];% ma tran sdd nhanh Jnut=[J3];% m

50
Znh=[Z1 0 0; 0 Z2 0; 0 0 Z3];%matrantongtro Jnh=[0;0;J3];% ma tran nguon dong nh
% Giai theo dong nhanh disp('phuongphapdongnhanh') D=[A; B*Znh]
G=[Jnut; B*Enh] Inh=D^-1*G Unh=Znh*Inh-Enh

-KếtquảchạytrênMatlab là:
phuongphapdongnhanh D
=
-1.0000+0.0000i-1.0000+0.0000i 1.0000+0.0000i
10.0000 +10.0000i 0.0000+0.0000i30.0000 +40.0000i
0.0000 + 0.0000i 5.0000+5.0000i30.0000+40.0000i G
=
1.0e+02*
0.0100 +0.0173i
1.0000 + 0.0000i
0.8660 + 0.5000i
Inh=
-1.0188 -2.9611i
1.6226 + 0.4175i
1.6037-0.8116i
Unh=
-80.5770-39.7999i
-80.5770-39.7999i
80.5770 +39.7999i
*Vídụ2giảimạch điệntheodòngnhánh
Cho mạch điện như hình vẽ. Biết: Z1=10+j*10; Z2=20+j*10;
Z3=10+j*15; Z4=15+j*5; Z5=20+j*30; Z6=10+j*20; E1=110;
E3=200*exp(j*pi/3);E6=220*exp(j*pi/4);J=5*exp(j*pi/3).Tínhdòngđiệnvà điện áp
trên các nhánh.

51
I2

Z1 J Z2 Z3
I3E1

I1

E1

I4Z4 Z5I5

E6 I6

Hình2.5a.Mạchđiệnví dụ2giảitheodòngnhánh
- Phân tích mạch điện và vẽ graph (cấu trúc) mạch điện, lập ma trận nút –
nhánh A và ma trận vòng – nhánh B từ graph mạch điện

1 2 3
V1 V2

4 5

V3

6
Hình2.5b.Graphmạchđiệnvídụ2giảitheodòngnhánh
A=[11-1 00 0; -1 00-10-1;0 010-11];
B=[1 -1 0 -1 00; 01 1 01 0; 00 0 -1 11];
-ChạychươngtrìnhtrênMatlab:
%Nhap thongsobaicho
Z1=10+j*10;Z2=20+j*10;Z3=10+j*15;Z4=15+j*5; Z5=20+j*30; Z6=10+j*20;
E1=110;E3=200*exp(j*pi/3);E6=220*exp(j*pi/4);J=5*exp(j*pi/3);
%lapcacmatran
A=[11-1 000;-1 00-10-1;0 010-1 1];% ma trannut- nhanh
B=[1 -1 0 -1 0 0; 0 1 1 0 1 0; 0 0 0 -1 1 1];%matranvong-nhanh Enh=[E1; 0; -E3; 0; 0; -E6];
Jnut=[-J;0;0];%matran nguondongnut

52
Znh=[Z1 00 00 0; 0Z20 000; 00Z3000;000Z4 00;0 000Z50;
00000Z6];%matran tongtro nhanh
Jnh=[0;-J;0;0;0;0];%matrannguondongnhanh
%Giaimachtheophuongphapdongnhanh disp('Phuong phap dong nhanh')
D=[A;B*Znh]
G=[Jnut; B*Enh] Inh=D^-1*G Unh=Znh*Inh-Enh

-Kếtquảchạychươngtrìnhtrên Matlab:
Phuongphapdongnhanh D
=
Columns1through4
1.0000+0.0000i1.0000+0.0000i-1.0000+0.0000i0.0000+0.0000i
-1.0000+0.0000i0.0000+0.0000i0.0000+0.0000i-1.0000+0.0000i
0.0000+0.0000i0.0000+0.0000i1.0000+0.0000i0.0000+0.0000i
10.0000+10.0000i-20.0000-10.0000i0.0000+0.0000i-15.0000-5.0000i
0.0000+0.0000i20.0000+10.0000i10.0000+15.0000i0.0000+0.0000i
0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i-15.0000-5.0000i
Columns5through6
0.0000+0.0000i 0.0000+ 0.0000i
0.0000+0.0000i-1.0000+0.0000i-1.0000+0.0000i1.0000+0.0000i
0.0000+0.0000i 0.0000+ 0.0000i
20.0000 +30.0000i 0.0000 +0.0000i
20.0000+30.0000i10.0000+20.0000i G
=
1.0e+02*
-0.0250-0.0433i
0.0000 + 0.0000i
0.0000 + 0.0000i
1.1000+0.0000i
-1.0000-1.7321i
-1.5556 -1.5556i
Inh=

53
1.4004-4.6033i
-3.9086-1.7141i
-0.0081-1.9873i
1.4908 + 2.2590i
-2.8994 + 0.3570i
-2.8913 + 2.3443i
Unh =
1.0e+02*
-0.4996-0.3203i
-0.6103-0.7337i
1.2973 + 1.5321i
0.1107 + 0.4134i
-0.6870-0.7984i
0.7977 + 1.2118i
- Nộidungthựchành
Chomạchđiệnsaunhưhìnhvẽ,biết:Z1=30+j40(Ω); Z2=20+j10(Ω);
R3=10Ω;L3=0,2H;R4=15Ω;L4=0,3H;R5=20Ω;L5=0,4H;Z6=10+j20(Ω);
Ė2=200∠n (v) ; ] =10∠ (A).Tính
n
ω=120π;Ė1=100∠00(v); dòng
3 6
3

điện,điệnáptrêncácnhánh.
J6

I6 Z6

I4I1 R4 L4 4 L5 R5 * I5
1 Z1 I3L3 2
I2
Z2

E1 R3 E2

Hình2.6.Mạchđiệnthựchành1giảitheodòng nhánh
* Vẽgraphcủamạch điện:
…………………………………………………………………………..
- Viếtmatrận nút–nhánh Avàmatrậnvòng–nhánhB:
……………………………………………………………………………
* Chạychươngtrìnhtrên Matlab:
- Nhậpcácthôngsốbàicho:
……………………………………………………………………………

54
- Lậpcácmatrận:A,B,Znh,Jnut,Enh:
……………………………………………………………………………
- Giảimạchtheophươngphápdòngnhánh:
……………………………………………………………………………
*Kếtquảchạychươngtrìnhtrên Matlab:
……………………………………………………………………………
- Câuhỏi
Phântíchkếtquảthuđượcsaukhichạychươngtrìnhtrên Matlab?
2.3.2. Bài 2: Giải mạch điện tuyến tính ở chế độ xác lập bằng phương
phápdòng vòng
2.3.2.1. Mụctiêucủabàithựchành
- GiảimạchđiệntuyếntínhxáclậpbằngMatlabtheophươngphápdòng vòng.
- Biểudiễnđượcdòngnhánhtheodòngvòng
2.3.2.2. Cơsởlýthuyếtcủathí nghiệm
Từlýthuyếttađãchứngminhđượchệphươngtrìnhdòngvòngmôtả mạch điện như
sau:
⎧Z11.lv̇1+Z12.lv̇2+⋯+Z1p.lvp=∑Ėn−∑Zn.] ṅ

Z21.lv̇1+Z22.lv̇2+⋯+Z2p.lvp=∑Ėn−∑Zn.]n (2.18)
⎨………………………………………………………………
⎪Zp1.lv̇ +Zp2.lv̇ +⋯+Zpp.lvp=∑Ė −∑Zn.]n
⎩ 1 2 n

Biểudiễnhệphươngtrìnhtrênởdạngmatrậnnhưsau:
Z11 Z12 … Z1p lv̇1 Ėv1
Z21 Z22 … Z2p ⎢⎡lv̇2⎥⎤ ⎢E⎡ ̇v2⎥ ⎤
. = (2.19)
… … … … ⎢…⎥ …
⎢ ⎥
Zp1 Zp2 … Zpp ⎣lvp⎦ ⎣Ėvp⎦
Ė Ė1 ]
⎡Ev1 ⎤ ⎡ ̇⎤ Z … Z ⎡ 1⎤
⎢ ̇v2⎥ ⎢E2⎥ 11 Z 1n ⎢]2⎥
Trong đó: =B. −B.… kk . (2.20)
… … …

⎢ ⎥ ⎢ Z n1 … Znn⎢ ⎥

⎣Evp⎦ ⎣En⎦ ⎣]n⎦
Vậy:Ev=B.(Enh–Znh.Jnh) (2.21)
Trong biểu thức này là dấu không phải là dấu + mà là dấu – vì khi nguồn
dòng Jn cùng chiều với dòng điện In trong nhánh đó thì nghĩa là nguồn áp nó tạo
ra là ngược chiều so với dòng trong nhánh đó, theo nguyên tắc biến đổi nguồn
dòngsongsongvớitổngtrởthìđượcmộtnguồnápnốitiếpvớitổngtrởđócó

55
chiềucùngchiềuvớinguồndòngmắcsongsongvớitổngtrở .
Enhlàmatrậnsứcđiệnđộngnhánh. B là
ma trận vòng – nhánh.
Znhlàmatrậntổngtrở nhánh.
]1
̇2 ⎡ ⎤
]
J làmatrậncộtnguồndòngnhánh:] =⎢ ⎥
nh nh
(2.22)
⎢…⎥
⎣]n⎦
Với]n cùngchiềuvớidòngnhánhthìlấydấu+,ngượcchiềuvớidòng
nhánhthìlấydấu–(xétdấunguồndòngkhiđãgiảsửdòngđiệnđivàonhánh nào đó).
Vậyhệphươngtrình(2-20)đượcviếtgọnởdạng matrận:
Zv.Iv= Ev (2.23)
Trongđó:plàsốvòngđộclập

⎡ Ev1⎤
Elàmatrậncộtsứcđiệnđộngvòng:E =⎢ ̇v2⎥ (2.24)
v
⎢… ⎥
⎣Ėvp⎦

⎡ v1̇ ⎤
l
Ivlà matrậndòngđiệnvòng:lv =⎢…v2⎥ (2.25)
⎢ ⎥
⎣lvp⎦
Z11 Z12 … Z1p
Z21Z22…Z2p
Zvlàmatrậntổngtrởvòng:Zv= (2.26)
… … … …
Zp1 Zp2 … Zpp
VớiZkklà tổngtrởcótrong vòngthứk.
Zkl là tổng trở chung của vòng k và vòng l: Z kl dương nếu Ivòngk và Ivòngl
cùng chiều nhau, Zkl âm nếu Ivòngk và Ivòngl ngược chiều nhau. Zv được tính theo
Znh như sau:
Zv= B*Znh*B’ (2.27)
Từbiểuthức:Zv.Iv=Ev
Suy ra dòng điện vòng: Iv = Z v-1.E v (2.28)
Suy ra dòng điện nhánh:
Inh = B’.Iv +Jnh (B’ là ma trận chuyển vị của ma trận B).(2.29)
Điện áp nhánh: Unh = Znh.Inh - Enh (2.30)

56
2.3.2.3. Nộidungvàtrìnhtựthínghiệm
a. Thiếtbịthínghiệm
-MáytínhcàiphầnmềmMatlab7.0.
b. Lưu đồ thuật toán giải mạch điện tuyến tính xác lập theo phương pháp
dòng vòng bằng Matlab

Start

Phântíchmạchđiện

Nhập thông số: Z1; Z2; Z3; Z4; Z5;Z6; E1; E2; J6;

Nhập ma trậncấu trúc: A, B Enh; Jnut; Znh;

Zv=Zv^-1*Ev

Ev=Zv^-1*Ev

Inh=B’*Iv+Jnh

Unh=Znh*Inh-Enh

End

Hình2.7.Lưuđồthuậttoángiảimạchđiệntuyếntính xác
lập theo phương pháp dòng vòng
c. Vídụthựchànhmẫu
*Vídụ1giảimạch điệntheodòngvòng:
Chomạchđiệnnhưhìnhvẽ.Biết:R1=10Ω; ωL1=10Ω;R2=5Ω;ωL2=5Ω;R3
= 30Ω; ωL3 =40Ω;E =100∠n (v);]3̇ =2∠n(A).
1 =100∠00 (v);E2
6 3

57
Giả thiết không có hỗ cảm giữa các điện cảm L1, L2, L3. Tính dòng
điệntrong các nhánh I1R1 L1 1 L2R2R2I2

I3

R3
E1 J E2
L3

Hình2.8a.Mạchđiệnvídụ1giảitheodòngvòng
- Phân tích mạch điện, vẽ graph (cấu trúc) mạch điện, lập ma trận vòng –
nhánh B từ graph mạch điện

1
I 3 2
II


Hình2.8b.Graphmạchđiệnvídụ1giảitheodòngvòng
1 0 1
B= ;
0 1 1
-Chạychươngtrìnhtrên Matlab:
%Nhapthongsobaicho
Z1=10+j*10;Z2=5+j*5;Z3=30+j*40;
E1=100;E2=100*exp(j*pi/6);J3=2*exp(j*pi/3);
%Lap matran
A=[-1-11];%matrannut-nhanh
B=[1 0 1; 0 1 1];%matranvong-nhanh Enh=[E1; E2; 0];% ma tran sdd nhanh Jnut=[J3];% m
Znh=[Z1 0 0; 0 Z2 0; 0 0 Z3];%matrantongtro Jnh=[0;0;J3];% ma tran nguon dong nhanh

58
% Giai theo dong vong disp('Phuongphapdongvong') Zv=B*Znh*B'
Ev=B*(Enh-Znh*Jnh) Iv=Zv^-1*Ev Inh=B'*Iv+Jnh Unh=Znh*Inh-Enh

-Kếtquảchạychươngtrìnhtrên Matlab:
Phuongphapdongvong Zv
=
40.0000+50.0000i30.0000+40.0000i
30.0000+40.0000i35.0000+45.0000i
Ev =
1.0e+02*
1.3928-0.9196i
1.2588-0.4196i
Iv=
-1.0188-2.9611i
1.6226 + 0.4175i
Inh=
-1.0188-2.9611i
1.6226 + 0.4175i
1.6037-0.8116i
Unh=
-80.5770-39.7999i
-80.5770-39.7999i
80.5770+39.7999i
*Vídụ2giảimạch theodòngvòng:
Cho mạch điện như hình vẽ. Biết: Z1=10+j*10; Z2=20+j*10;
Z3=10+j*15; Z4=15+j*5; Z5=20+j*30; Z6=10+j*20; E1=110;
E3=200*exp(j*pi/3);E6=220*exp(j*pi/4);J=5*exp(j*pi/3).Tínhdòngđiệnvà điện áp
trên các nhánh.

59
I2

Z1 J Z2 Z3
I3E3
I1

E1

I4 Z4 Z5I5

E6 I6
Hình2.9a.Mạchđiệnvídụ2 giảitheodòngvòng
- Phân tích mạch điện và vẽ graph (cấu trúc) mạch điện, lập ma trận nút –
nhánh A và ma trận vòng – nhánh B từ graph mạch điện

1 2 3
V1 V2

4 5

V3

6

Hình2.9b.Graphmạchđiệnvídụ2giảitheodòngvòng
A=[11-1 00 0; -1 00-10-1;0 010-11];
B=[1 -1 0 -1 00; 01 1 01 0; 00 0 -1 11];
-Chạychươngtrìnhtrên Matlab:
%Nhap thongsobaicho
Z1=10+j*10;Z2=20+j*10;Z3=10+j*15;Z4=15+j*5; Z5=20+j*30; Z6=10+j*20;
E1=110;E3=200*exp(j*pi/3);E6=220*exp(j*pi/4);J=5*exp(j*pi/3);
%lapcacmatran
A=[11-1000;-1 00-10-1;0 010-1 1];% ma trannut- nhanh
B=[1 -1 0 -1 0 0; 0 1 1 0 1 0; 0 0 0 -1 1 1];%matranvong-nhanh Enh=[E1; 0; -E3; 0; 0; -E6];
Jnut=[-J;0;0];%matran nguondongnut

60
Znh=[Z1 00 00 0; 0Z20 000; 00Z3000;000Z4 00;0 000Z50;
00000Z6];%matran tongtro nhanh
Jnh=[0;-J;0;0;0;0];%matrannguondongnhanh
% Giai theo dong vong disp('Phuongphapdongvong') Zv=B*Znh*B'
Ev=B*(Enh-Znh*Jnh) Iv=Zv^-1*Ev Inh=B'*Iv+Jnh Unh=Znh*Inh-Enh

-Kếtquảchạychươngtrìnhtrên Matlab:
Phuongphapdongvong Zv
=
45.0000+25.0000i-20.0000-10.0000i15.0000+5.0000i
-20.0000-10.0000i50.0000+55.0000i20.0000+30.0000i
15.0000+5.0000i20.0000+30.0000i45.0000+55.0000i
Ev =
1.0e+02*
1.0330-1.1160i
-0.9330-0.6160i
-1.5556-1.5556i
Iv=
1.4004-4.6033i
-0.0081-1.9873i
-2.8913 + 2.3443i
Inh=
1.4004-4.6033i
-3.9086-1.7141i
-0.0081-1.9873i
1.4908 + 2.2590i
-2.8994 + 0.3570i
-2.8913 + 2.3443i
Unh =
1.0e+02*

61
-0.4996-0.3203i
-0.6103-0.7337i
1.2973 + 1.5321i
0.1107 + 0.4134i
-0.6870-0.7984i
0.7977 + 1.2118i
d. Nộidungthựchành
Cho mạch điện sau như hình vẽ, biết: Z1=30+j40(Ω); Z2=20+j10(Ω);
R3=10Ω;L3=0,2H;R4=15Ω;L4=0,3H;R5=20Ω;L5=0,4H;Z6=10+j20(Ω);
(v) ;]3 =10∠ (A). Tínhdòng
n
ω=120π;Ė1=100∠00(v);Ė2=200∠n 3 6
điện,điệnáptrêncácnhánh.
J6

I6 Z6

I4I1 R4 L4 4 L5 R5 * I5
1 Z1 I3 2
L3 I2
Z2

E1 R3 E2

Hình2.10.Mạchđiệnthựchành1giảitheodòng vòng
* Vẽgraphcủamạch điện:
……………………………………………………………………………
- Viếtmatrận vòng–nhánhB:
……………………………………………………………………………
* Chạychươngtrìnhtrên Matlab:
- Nhậpcácthôngsốbàicho:
……………………………………………………………………………
- Lậpcácmatrận:B,Znh,Jnh,Enh:
……………………………………………………………………………
- Giảimạchtheophươngphápdòngvòng:………………………………
* KếtquảchạychươngtrìnhtrênMatlab:…..……………………………
e. Câuhỏi
Phântíchkếtquảthuđượcsaukhichạychươngtrìnhtrên Matlab?

62
2.3.3. Bài3:Giảimạchđiệntuyếntínhởchếđộxáclậpbằngphươngpháp
điệnthếnút
2.3.3.1. Mụctiêucủabàithựchành
- Giải mạch điện tuyến tính xác lập bằng Matlab theo phương pháp
điệnthế nút.
2.3.3.2. Cơsởlýthuyếtcủathí nghiệm
Từ lý thuyết ta đã chứng minh với mạch điện có m nút độc lập ta viết
mphương trình Kir 1 cho từng nút như sau:
Y11./̇1−Y12./̇2−⋯−Y1m./̇m=∑Ėk.Yk+∑]k̇

−Y21./̇1+Y22./̇2−⋯−Y2m./̇m=∑Ėk.Yk+∑]k̇ (2.31)
⎨………………………………………………………………
⎩−Ym1./̇1−Ym2./̇2−⋯+Ymm./̇m=∑Ėk.Yk+∑]k̇
Biểudiễnhệphươngtrìnhtrênởdạngmatrậnnhưsau:
Y11 Y12 … Y1m /̇1 ]
⎡ n1⎤
Y21 Y22 … Y2m /̇2 ⎢]n2⎥ (2.32)
. =
… … … … … ⎢…⎥
Ym1 Ym2 … Ymm /̇m ⎣]nm⎦
] ] Ė1
⎡ n1⎤ ⎡ 1⎤ Y … Y ⎡ ⎤
⎢]n2⎥ ]
⎢ 2⎥ E
1n ⎢ 2⎥
̇
11 Y …
Trong đó: =A. −A.… kk
⎢ ⎥ (2.33)
⎢ … ⎥ …
⎢ Y n1 … Y nn


⎣]nm⎦ ⎣En⎦

⎣]n⎦
Vậy: Jmnut = A.(Jnh – Ynh.Enh) (2.34)
Enh là ma trận sức điện động nhánh.
Alàmatrậnnút– nhánh.
Ynhlàmatrậntổngdẫnnhánh,đượctínhthôngquatổngtrởnhánh:
Ynh=1/Znh=Z-1nh (2.35)
Jnhlà matrận cộtnguồndòng nhánh.
Vậyhệphươngtrình(2.32)đượcviếtgọnởdạngma trận:
Ynut.φnut=Jmnut(2.36)
]
⎡ n1⎤
Jmnutlàmatrậnnguồndòngtạicácđỉnhđộclập:]mnut =⎢]n2⎥
(2.37)
⎢…⎥
⎣]nm⎦
/̇1
/̇2
φnutlàmatrậnđiệnthếđỉnh:/nut= … (2.38)
/̇m

63
Y11 Y12 … Y1m
Y21 Y22 … Y2m
Ynutlàmatrậntổngdẫnnút:Ynut= (2.39)
… … … …
Ym1 Ym2 … Ymm
Matrậntổngdẫnnútđượctínhdựavàomatrậntổngdẫnnhánh:
Ynut=A.Ynh.A’(2.40)
Vậymatrậnđiệnthếnútđượctính:φnut=Ynut-1.Jmnut(2.41) Điện áp
nhánh:
Unh= A’.φnut (A’làmatrậnchuyểnvịcủamatrậnA). (2.42)
Suyradòngđiệnnhánh:Inh=Ynh.(Unh+Enh) (2.43)
2.3.3.3. Nộidungvàtrìnhtựthínghiệm
a. Thiếtbịthínghiệm
-MáytínhcàiphầnmềmMatlab7.0.
b. Lưu đồ thuật toán giải mạch điện tuyến tính xác lập theo phương pháp
điện thế nút bằng Matlab

Hình2.11.Lưuđồthuậttoángiảimạchđiệntuyếntínhxáclậptheo phương
pháp điện thế nút
64
c. Vídụthựchànhmẫu
*Vídụ1giảimạchtheo điệnthếnút:
Chomạchđiệnnhưhìnhvẽ:Biết:R1=10Ω;ωL1=10Ω;R2=5Ω;ωL2=
5Ω;R3
E2 =100∠ (v);]3̇=
n
=30Ω;ωL3 =40Ω;E1 =100∠00(v);
6
2∠n(A).
3
Giảthiếtkhôngcóhỗcảm giữacácđiệncảm L1,L2,L3.Tínhdòngđiện trong các
nhánh.
I1R1 L1 1 L2R2R2I2

I3

R3
E1 J E2
L3

Hình2.12a.Mạchđiệnvídụ1giảitheođiệnthếnút
-Phân tíchmạchđiện,vẽgraph(cấutrúc)mạchđiện, lậpmatrậnnút – nhánh A từ
graph mạch điện.

1 3 2
I II


Hình2.12b.Graphmạchđiệnvídụ1giảitheođiệnthếnút
A=[−1 −1 1];
-ChạychươngtrìnhtrênMatlab:
%Nhapthongsobaicho
Z1=10+j*10;Z2=5+j*5;Z3=30+j*40;
E1=100;E2=100*exp(j*pi/6);J3=2*exp(j*pi/3);
%Lap matran
A=[-1-11];%matran nut-nhanh

65
B=[1 0 1; 0 1 1];%matranvong-nhanh Enh=[E1; E2; 0];% ma tran sdd nhanh Jnut=[J3];% m
Znh=[Z1 0 0; 0 Z2 0; 0 0 Z3];%matrantongtro Jnh=[0;0;J3];% ma tran nguon dong nhanh
% Phuong phap the dinh disp('Phuongphapthedinh') Ynh=inv(Znh) Ynut=A*Ynh*A' Jmnu

-Kếtquảchạychươngtrìnhtrên Matlab:
Phuongphapthedinh Ynh
=
0.0500-0.0500i 0.0000+0.0000i 0.0000+0.0000i
0.0000 + 0.0000i 0.1000-0.1000i 0.0000+0.0000i
0.0000 + 0.0000i 0.0000 +0.0000i 0.0120-0.0160i
Ynut=
0.1620-0.1660i
Jmnut=
19.6603-6.9282i
Vnut=
80.5770+39.7999i
Unh=
-80.5770-39.7999i
-80.5770-39.7999i
80.5770+39.7999i
Inh=
-1.0188-2.9611i
1.6226 + 0.4175i
1.6037-0.8116i

66
*Vídụ2giảitheothếđỉnh
Cho mạch điện như hình vẽ. Biết: Z1=10+j*10; Z2=20+j*10;
Z3=10+j*15; Z4=15+j*5; Z5=20+j*30; Z6=10+j*20;E1=110;
E3=200*exp(j*pi/3);E6=220*exp(j*pi/4);J=5*exp(j*pi/3).
Tínhdòngđiệnvàđiệnáptrên cácnhánh.
I2

Z1 J Z2 Z3
I3E3
I1

I4Z4 Z5I5

E6 I6
Hình2.13a.Mạchđiệnvídụ2giảitheothếnút
- Phân tích mạch điện và vẽ graph (cấu trúc) mạch điện, lập ma trận nút –
nhánh A và ma trận vòng – nhánh B từ graph mạch điện.
A=[11-1 00 0; -1 00-10-1;0 010 -11];
B=[1-1 0 -1 00; 01 1 01 0; 00 0 -1 11];

1 2 3
V1 V2

4 5

V3

6

Hình2.13b.Graphmạchđiệnvídụ2giảitheo thếnút
-Chạychươngtrìnhtrên Matlab:
%Nhap thongsobaicho
Z1=10+j*10;Z2=20+j*10;Z3=10+j*15;Z4=15+j*5; Z5=20+j*30; Z6=10+j*20;
E1=110;E3=200*exp(j*pi/3);E6=220*exp(j*pi/4);J=5*exp(j*pi/3);
%lapcacmatran

67
A=[11-1 000;-1 00-10-1;0 010-1 1];% matrannut-nhanh
B=[1 -1 0 -1 0 0; 0 1 1 0 1 0; 0 0 0 -1 1 1];%matranvong-nhanh Enh=[E1; 0; -E3; 0; 0; -E6
Jnut=[-J;0;0];%matran nguondongnut
Znh=[Z100 00 0; 0Z20000; 00Z3000;000Z4 00;0 000Z50;
00000Z6];%matran tongtro nhanh
Jnh=[0;-J;0;0;0;0];%matrannguondongnhanh
%Giaitheophuongphapdienthenut disp('Phuong phap dien the nut') Ynh=inv(Znh)
Ynut=A*Ynh*A' Jmnut=A*(Jnh-Ynh*Enh) Vnut=Ynut^-1*Jmnut Unh=A'*Vnut Inh=Ynh*

- Kếtquảchạychươngtrìnhtrên Matlab:
Phuongphapdienthenut Ynh
=
Columns1through4
0.0500-0.0500i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i
0.0000+0.0000i0.0400-0.0200i0.0000+0.0000i0.0000+0.0000i
0.0000+0.0000i0.0000+0.0000i0.0308-0.0462i0.0000+0.0000i
0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0600-0.0200i
0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i
0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i
Columns5through6
0.0000 + 0.0000i 0.0000 +0.0000i
0.0000 + 0.0000i 0.0000 +0.0000i
0.0000 + 0.0000i 0.0000+0.0000i
0.0000 + 0.0000i 0.0000 +0.0000i
0.0154-0.0231i 0.0000+0.0000i
0.0000 + 0.0000i 0.0200-0.0400i
Ynut=

68
0.1208-0.1162i-0.0500+0.0500i-0.0308+0.0462i
-0.0500 + 0.0500i 0.1300-0.1100i-0.0200+0.0400i
-0.0308+0.0462i-0.0200+0.0400i 0.0662-0.1092i
Jmnut=
-19.0710+0.4559i
-3.8338-2.3887i
20.4048 -2.3973i
Vnut=
-61.0301-73.3681i
-11.0674-41.3393i
68.6978+79.8420i
Unh =
1.0e+02*
-0.4996-0.3203i
-0.6103-0.7337i
1.2973 + 1.5321i
0.1107 + 0.4134i
-0.6870-0.7984i
0.7977 + 1.2118i
Inh=
1.4004-4.6033i
-3.9086-1.7141i
-0.0081-1.9873i
1.4908 + 2.2590i
-2.8994 + 0.3570i
-2.8913 + 2.3443i
d. Nộidungthựchành
Chomạchđiệnsaunhưhìnhvẽ,biết:
Z1=30+j40(Ω);Z2=20+j10(Ω);R3=10Ω;L3=0,2H;R4=15Ω;L4=0,3H;
R5=20Ω;L5=0,4H; Z6=10+j20(Ω); ω=120π;Ė1=100∠00(v); Ė2=
200∠n (v) ;] =10∠n (A). Tínhdòngđiện,điệnáptrêncácnhánh.
3 6
3

69
J6

I6 Z6

I4 R4 L4 4 L5 R5 *I5
1 I1 2
Z1 I3 I2
L3
Z2

E1 R3 E2

Hình2.14.Mạchđiệnthựchành1giảitheothếnút
* Vẽgraphcủamạch điện:
……………………………………………………………………………
- Viếtmatrậnnút–nhánh A:
……………………………………………………………………………
* Chạychươngtrìnhtrên Matlab:
- Nhậpcácthôngsốbàicho:
……………………………………………………………………………
- Lậpcácmatrận:A,Znh,Jnh,Enh:
……………………………………………………………………………
- Giảimạchtheophươngphápđiệnthếnút:
……………………………………………………………………………
* KếtquảchạychươngtrìnhtrênMatlab:………………………………
e. Câuhỏi
Phântíchkếtquảthuđượcsaukhichạychươngtrìnhtrên Matlab?
2.3.5. Bài4:Giảimạchđiệntuyếntínhcóhỗcảmởchếđộxáclậpbằng phương pháp
dòng vòng và điện thế nút
2.3.5.1. Mụctiêucủabàithựchành
- Ứng dụng matlab để giải mạch điện tuyến tính có hỗ cảm ở chế độ
xáclập theo phương pháp dòng vòng và điện thế nút
2.3.5.2. Cơsởlýthuyếtcủathí nghiệm
Về cơ bản việc giải mạch điện tuyến tính có hỗ cảmở chế độ xác lập theo
2 phương pháp dòng vòng và điện thế nút vẫn thực hiện theo lý thuyết chungcủa
2 phương pháp này đã được trình bày trong các bài thực hành trên. Tuy nhiên,
khi 2 cuộn dây có hỗ cảm, ngoài tổng trở riêng của từng nhánh thì còn xuất hiện
tổng trở tương hỗ giữa các nhánh có cuộn dây…
Z11 … Z1n
Znh=… Zkk …
Zn1 … Znn

70
Zkk: Là tổng trở riêng của từng nhánh và nằm trên đường chéo chính của
ma trận Z
Zlk = ZMlk = Zkl: Là tổng trở tương hỗ giữa nhánh l và nhánh k do hỗ cảm
giữa 2 cuộn dâytrong 2 nhánh đó tạo ra. Z lk mang dấu + khi 2 dòng nhánh trong
2 cuộndâycùngđivàohoặccùng điraởcác cựccùngcựctính,ngượclạithì Zlk mang
dấu -.
2.3.5.3. Nộidungvàtrìnhtựthínghiệm
a. Thiếtbịthínghiệm
-Máytính càiphầnmềmMatlab7.0.
b. Lưuđồthuậttoán
Start

Phântíchmạchđiện

Nhậpsốliệubàitoán,Nhậpmatrậncấutrúc

Phươngphápdòngnhánh Phươngphápdòng vòng Phươngphápthếnút

Ynh=Znh^-1
D=[A;B*Znh] Zv=B*Znh*B

Ynut=A*Ynh*A’
G=[Jnut;B*Enh Ev=B*(Enh-Znh*Jnh)

Jmnut=A*(Jnh-Ynh*Enh)
Inh=D^-1*G Iv=Zv^-1*Ev

Inh=B’*Iv+Jnh nut=Ynut^-1*Jmnut

Unh=A’*nut

Inh=Ynh*(Unh+Enh)

Unh = Znh*Inh-Enh

Snh=Unh*conj(Inh)

End

Hình2.15.Lưuđồthuậttoángiảimạchđiệntuyếntínhcóhỗcảm
c. Vídụthựchành mẫu
*Vídụ1giảimạch cóhỗcảm:
Chomạchđiệnnhưhìnhvẽ.Biết:R1=10Ω;ωL1=10Ω;R2=5Ω;ωL2=
5Ω;R3 E2 =100∠ (v) ;]3̇=
n
=30Ω;ωL3 =40Ω;E1 =100∠00(v);
6

71
2∠n
3 (A)
Giữa các cuộn dây có hỗ cảm như sau: ωM12 = 0; ωM13 = 20; ωM23 = 20.
Tínhdòngđiệntrongcácnhánhtheo2phươngphápdòngvòngvàđiện
thếnút
I1R1 L1 1 L2 R2I2
**

I3
M13M23

R3
E1 E2
J3
L3
*

Hình2.16a.Mạchđiệnhỗcảmvídụ1
-Phân tíchmạchđiện,vẽgraph(cấutrúc)mạchđiện, lậpmatrậnnút – nhánh A và
ma trận vòng – nhánh B từ graph mạch điện

1 3 2
I II


Hình2.16b.Graphmạchđiệnhỗcảmví dụ1
A=[−1 −1 1];
B =[101;011];
-Chạychươngtrìnhtrên Matlab:
%Nhapthongsobaicho
Z11=10+j*10;Z22=5+j*5;Z33=30+j*40;
Z12=0;Z21=Z12;Z13=-j*20;Z31=Z13;Z23=-j*10;Z32=Z23;
E1=100;E2=100*exp(j*pi/6);J3=2*exp(j*pi/3);
%Lapcacmatran
A=[-1-11];%matran nut-nhanh
B=[1 0 1; 0 1 1];% ma tran vong - nhanh Jnh=[0;0;J3];%matrannguondongnhanh

72
Enh=[E1;E2;0];%matran sucdiendong nhanh
Znh=[Z11Z12Z13;Z21Z22Z23;Z31Z32Z33];%matran tongtro disp('1. Phuong phap t
Ynh=inv(Znh) Ynut=A*Ynh*A' Jmnut=A*(Jnh-Ynh*Enh) Vnut=Ynut^-1*Jmnut Unh
disp('2.phuongphapdongvong') Zv=B*Znh*B'
Ev=B*(Enh-Znh*Jnh) Iv=Zv^-1*Ev Inh=B'*Iv+Jnh Unh=Znh*Inh-Enh

-Kếtquảchạychươngtrìnhtrên Matlab:
1. Phuongphapthenut
Ynh =
0.0554-0.0176i 0.0054+0.0324i 0.0189+0.0135i
0.0054 + 0.0324i 0.1054-0.0676i 0.0189+0.0135i
0.0189 + 0.0135i 0.0189 +0.0135i 0.0162-0.0027i
Ynut=
0.1122-0.0770i
Jmnut=
15.5797+2.2487i
Vnut=
85.0321 +78.4440i
Unh=
-85.0321-78.4440i
-85.0321-78.4440i
85.0321+78.4440i
Inh=
0.9309-2.0788i

73
1.4173-0.4097i
3.3482-0.7565i
2. phuongphapdongvong
Zv =
40.0000+10.0000i30.0000+10.0000i
30.0000+10.0000i35.0000+25.0000i
Ev=
1.0e+02*
1.0464-0.7196i
1.0856-0.3196i
Iv=
0.9309-2.0788i
1.4173-0.4097i
Inh=
0.9309-2.0788i
1.4173-0.4097i
3.3482-0.7565i
Unh=
-85.0321-78.4440i
-85.0321-78.4440i
85.0321+78.4440i
*Vídụ2giảimạch cóhỗ cảm:
Cho mạch điện như hình vẽ, biết: Z1=10+j10;Z2=5+j5;Z3=30+j40; Z4=8+j15;
Z5=12+j7; ZM=7+j8; E1=100 (V);E5=100*exp(j*pi/3) (V). Tính dòng điện qua
các nhánh.
Z1 Z3 Z5
*

ZM
E1 Z2 Z4 E5
*

Hình2.17a.Mạchđiệnhỗcảmvídụ2

74
-Phântíchmạchđiện,vẽgraphmạchđiện,viếtcácmatrậncấutrúcA,B:
1 3 5

2 4

V1 V2 V3

Hình2.17b.Graphmạchđiệnhỗcảmví dụ2
A=[-1 1100;0 0 -11 -1]
B=[1100 0; 0-1 110;0 0011]
-Chạychươngtrìnhtrên Matlab:

%Nhapthongsobaicho
Z1=10+j*10;Z2=5+j*5;Z3=30+j*40;Z4=8+j*15;Z5=12+j*7;ZM=7+j*8;
Z11=Z1;Z22=Z2;Z33=Z3;Z44=Z4;Z55=Z5;Z23=ZM;Z32=Z23;
Z12=0;Z13=0;Z14=0;Z15=0;Z21=0;Z24=0;Z25=0;Z31=0;Z34=0;
Z35=0;
Z41=0;Z42=0;Z43=0;Z45=0;Z51=0;Z52=0;Z53=0;Z54=0;
E1=100;E5=100*exp(j*pi/3);
%Lapcacmatran
A=[-1 11 00;00-11-1];%matrannut-nhanh
B=[1 1 0 0 0; 0 -1 1 1 0; 0 0 0 1 1]; %matranvong-nhanh
Jnh=[0;0;0;0;0]; % ma tran nguon dong nhanh
Jnut=[0;0];
Enh=[E1;0;0;0; E5]; %matran sucdiendongnhanh
Znh=[Z11Z12Z13Z14Z15;Z21Z22Z23Z24Z25;Z31Z32Z33Z34Z35; Z41
Z42 Z43 Z44 Z45; Z51 Z52 Z53 Z54 Z55]; % ma tran tong tro
disp('1.Phuongphapthenut')
Ynh=inv(Znh)
Ynut=A*Ynh*A'
Jmnut=A*(Jnh-Ynh*Enh)
Vnut=Ynut^-1*Jmnut
Unh=A'*Vnut
Inh=Ynh*(Unh+Enh)
disp('2.phuongphapdongvong')

75
Zv=B*Znh*B' Ev=B*(Enh-Znh*Jnh) Iv=Zv^-1*Ev Inh=B'*Iv+Jnh Unh=Znh*Inh-Enh
disp('3.phuongphapdongnhanh') D=[A; B*Znh]
G=[Jnut; B*Enh] Inh=D^-1*G Unh=Znh*Inh-Enh

-Kếtquảchạychươngtrìnhtrên Matlab:
1. Phuongphapthenut
Ynh =
Columns1through4
0.0500-0.0500i 0.0000+0.0000i0.0000+0.0000i 0.0000+0.0000i
0.0000+0.0000i 0.1464-0.1476i-0.0287+0.0336i 0.0000+0.0000i
0.0000+0.0000i -0.0287+0.0336i 0.0175-0.0236i 0.0000+0.0000i
0.0000+0.0000i 0.0000+0.0000i 0.0000+0.0000i 0.0277-0.0519i
0.0000+0.0000i 0.0000+0.0000i 0.0000+0.0000i 0.0000+0.0000i
Column5
0.0000 + 0.0000i
0.0000 + 0.0000i
0.0000 + 0.0000i
0.0000 + 0.0000i
0.0622-0.0363i
Ynut=
0.1566-0.1539i 0.0111-0.0100i
0.0111-0.0100i 0.1074-0.1118i
Jmnut=
5.0000-5.0000i
6.2498 + 3.5711i
Vnut=
31.7763-3.3793i
8.2379 +45.1449i
Unh=
76
-31.7763+3.3793i
31.7763 -3.3793i
23.5385-48.5242i
8.2379 +45.1449i
-8.2379-45.1449i
Inh=
3.5801-3.2422i
5.1092-3.0013i
-1.5291-0.2409i
2.5712 + 0.8221i
4.1003 + 1.0630i
2. phuongphapdongvong
Zv =
15.0000+15.0000i 2.0000 + 3.0000i 0.0000+ 0.0000i
2.0000+3.0000i29.0000+44.0000i 8.0000+15.0000i
0.0000 + 0.0000i 8.0000+15.0000i20.0000+22.0000i
Ev =
1.0e+02*
1.0000 + 0.0000i
0.0000 + 0.0000i
0.5000 + 0.8660i
Iv=
3.5801-3.2422i
-1.5291-0.2409i
4.1003 + 1.0630i
Inh=
3.5801-3.2422i
5.1092-3.0013i
-1.5291-0.2409i
2.5712 + 0.8221i
4.1003 + 1.0630i
Unh=
-31.7763+3.3793i
31.7763 -3.3793i
23.5385-48.5242i

77
8.2379 +45.1449i
-8.2379-45.1449i
3. phuongphapdongnhanh
D=
Columns1through4
-1.0000+0.0000i1.0000+0.0000i1.0000+0.0000i0.0000+0.0000i
0.0000+0.0000i0.0000+0.0000i-1.0000+0.0000i1.0000+0.0000i
10.0000+10.0000i5.0000+5.0000i7.0000+8.0000i0.0000+0.0000i
0.0000+0.0000i2.0000+3.0000i23.0000+32.0000i8.0000+15.0000i
0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i8.0000+15.0000i
Column5
0.0000 + 0.0000i
-1.0000 + 0.0000i
0.0000 + 0.0000i
0.0000 + 0.0000i
12.0000+7.0000i
G=
1.0e+02*
0.0000 + 0.0000i
0.0000 + 0.0000i
1.0000 + 0.0000i
0.0000 + 0.0000i
0.5000 + 0.8660i
Inh=
3.5801-3.2422i
5.1092-3.0013i
-1.5291-0.2409i
2.5712 + 0.8221i
4.1003 + 1.0630i
Unh=
-31.7763+3.3793i
31.7763-3.3793i
23.5385-48.5242i
8.2379 +45.1449i
-8.2379-45.1449i

78
d. Nộidungthựchành
Chomạchđiệnsaunhưhìnhvẽ,biết:
Z1=30+j40(Ω);Z2=20+j10(Ω);R3=10Ω;L3=0,2H;R4=15Ω;L4=0,3H;
R5=20Ω;L5=0,4H;Z6=10+j20(Ω);M35=M53=0,6H;ω=120π.
(v) ;] =10∠
n
Ė1=100∠00(v);Ė2= 200∠n 3 6
(A)
3

J6

I6 Z6

I4 R4 L4 4 L5 R5 * I5
1 * 2
I1 I3
Z1 * I2
M35 Z2
L3

E1 R3 E2

Tínhdòngđiện,điệnáptrêncácnhánh.
Hình2.18.Mạchđiệnhỗcảmthựchành1
* Vẽgraphcủamạch điện:
……………………………………………………………………………
- Viếtmatrận nút–nhánh Avàmatrậnvong–nhánhB:
……………………………………………………………………………
* LậptrìnhvớiMatlab:
- Nhậpcácthôngsốbàicho:
……………………………………………………………………………
- Lậpcácmatrận:A,B,Znh,Jnh,Enh:
……………………………………………………………………………
- Giảimạchtheophươngphápđiệnthếnút:
……………………………………………………………………………
- Giảimạchtheophươngphápdòngvòng:
……………………………………………………………………………
* Kếtquảchạychươngtrìnhtrên Matlab:
……………………………………………………………………………
e. Câu hỏi
Phântíchkếtquảthuđượcsaukhichạychươngtrìnhtrên Matlab?
2.3.6. Bài5:ỨngdụngMatlabgiảimạchđiện3 pha
2.3.6.1. Mụctiêuthí nghiệm
a. Củngcốkiếnthứcvề mạchđiện3pha
b. BiếtứngdụngMatlabđểgiảimộtmạchđiện3phabấtkỳ
79
2.3.6.2. Cơsởlýthuyếtcủathí nghiệm
a. Nguồnvàtài3phađốixứng
Nguồn điện ba pha có ba sức điện động sin cùng biên độ, cùng tần số,lệch
nhau về pha 2π/3 được gọi là nguồn ba pha đối xứng, khi đó tacó e A + eB + eC =
0 hoặc:
EAEBEC0

eAE
2sin(ωt)

eBE 2π
2sin(ωt- )
3

eCE 4π 2π
2sin(ωt- )E 2sin(ωt )
3 3
Nếu tổng trở phức của các pha tải bằng nhau thìtacótảiba
ZAZBZC
pha đối xứng.
b. Quanhệgiữađạilượngdâyvàđạilượngphatrongmạchbaphađốixứng
+KhimạchđấuΔ:Ud=Up;Id=√3Ip;
+Khimạch đấu Y:Id=Ip;Ud=√3Up.
Đối với mạch ba pha không đối xứng ta có thể coi đây là mạch điện có ba
nguồn khác nhau, khi đó mối quan hệ giữa điện áp và dòng điện từng pha tuân
thủ theo định luật Ohm Up= Ip.zp. Điện áp, dòng điện giữa pha nọ với pha kia
tương ứng lệch pha nhau một góc 2π/3.
2.3.6.3. Nộidungvàtrìnhtựthínghiệm
a. Thiếtbịthínghiệm
-Máytính càiphầnmềmMatlab7.0.
b. Vídụthựchànhmẫu
*Vídụ 1:Mạch 3phamắcsaokhông dâytrungtính:
Chomạchđiệnnhưhình2.13vớinguồnsứcđiệnđộng3phađốixứngcó:
ĖA=220∠00V;R=10Ω; XL=XC= 10Ω.Tính dòngđiện các nhánh.
A A R

L
B B
O O'

C
C C

UC

Hình2.19.Mạch3phahìnhsaokhông dâytrungtính

80
-Chạychươngtrìnhtrên Matlab:

%Nhap thong so bai cho


ZA=10;ZB=j*10;ZC=-j*10;
EA=220;EB=220*exp(j*(-2*pi/3));EC=220*exp(j*(2*pi/3));
%Lap matran
A=[-1-1-1];%matrannut-nhanh
B=[1-10;01-1];%matranvong-nhanh
Enh=[EA; EB; EC];% ma tran sdd nhanh
Jnut=[0];% ma tran nguon dong nut
Znh=[ZA00;0ZB0;00ZC];%matran tongtro Jnh=[0;0;0];
% ma tran nguon dong nhanh
% Giai theo dong nhanh
disp('phuongphapdongnhanh')
D=[A; B*Znh]
G=[Jnut; B*Enh]
Inh=D^-1*G
Unh=Znh*Inh-Enh
% Giai theo dong vong
disp('Phuongphapdongvong')
Zv=B*Znh*B'
Ev=B*(Enh-Znh*Jnh)
Iv=Zv^-1*Ev
Inh=B'*Iv+Jnh
Unh=Znh*Inh-Enh
% Phuong phap the dinh
disp('Phuongphapthedinh')
Ynh=inv(Znh)
Ynut=A*Ynh*A'
Jmnut=A*(Jnh-Ynh*Enh)
Vnut=Ynut^-1*Jmnut
Unh=A'*Vnut
Inh=Ynh*(Unh+Enh)

-KếtquảchạychươngtrìnhtrênMatlab: phuong
phap dong nhanh
81
D=
-1.0000+0.0000i-1.0000+0.0000i-1.0000 +0.0000i
10.0000+0.0000i 0.0000-10.0000i 0.0000+0.0000i
0.0000 + 0.0000i 0.0000 +10.0000i 0.0000+10.0000i
G=
1.0e+02*
0.0000 + 0.0000i
3.3000 + 1.9053i
0.0000-3.8105i
Inh=
38.1051+0.0000i
-19.0526- 5.1051i
-19.0526+5.1051i
Unh =
1.0e+02*
1.6105 + 0.0000i
1.6105-0.0000i
1.6105 + 0.0000i
Phuongphapdongvong
Zv =
10.0000+10.0000i 0.0000-10.0000i
0.0000-10.0000i 0.0000 +0.0000i
Ev =
1.0e+02*
3.3000 + 1.9053i
0.0000-3.8105i
Iv=
38.1051+0.0000i
19.0526-5.1051i
Inh=
38.1051+0.0000i
-19.0526- 5.1051i

82
-19.0526+5.1051i
Unh =
1.0e+02*
1.6105 + 0.0000i
1.6105-0.0000i
1.6105 + 0.0000i
Phuongphapthedinh
Ynh =
0.1000 + 0.0000i 0.0000 +0.0000i 0.0000+0.0000i
0.0000 + 0.0000i 0.0000-0.1000i 0.0000+0.0000i
0.0000 + 0.0000i 0.0000 +0.0000i 0.0000+ 0.1000i
Ynut=
0.1000
Jmnut=
-16.1051
Vnut=
-161.0512
Unh =
161.0512
161.0512
161.0512
Inh=
38.1051+0.0000i
-19.0526- 5.1051i
-19.0526+5.1051i
*Vídụ2:Mạch3phanguồnsaotảitamgiácvàcókểtổngtrởđườngdây Cho mạch
điện với 1 máy phát điện 3 pha đối xứng có sđđ pha A là như hình vẽ ĖA=
200∠00 v. Tính các dòng điện pha, các dòng điện dây, các điện áp pha và
cácđiệnápdây củanguồn vàtải,côngsuất tácdụngvà công suấtphản kháng của
nguồnvà tải nếu tổngtrởmỗiphacủađường dây:ZdA =ZdB=ZdC=(1 + j3)Ω và tổng
trở pha của tải: ZAB = ZBC = ZCA = (24 + j36) Ω

83
A A A dA A

AB

B B B dB B
O CA

BC

C C C dC

Hình2.20.Mạch3phamắctam giác
-Chạychươngtrìnhtrên Matlab:

%Chuyen taitamgiacsangsao
ZAB=24+j*36;ZBC=ZAB;ZCA=ZAB;%Taitamgiac
ZYA=(ZAB*ZCA)/(ZAB+ZBC+ZCA); % Tai sao
ZYB=(ZBC*ZAB)/(ZAB+ZBC+ZCA);
ZYC=(ZBC*ZCA)/(ZAB+ZBC+ZCA);
%Tinh tong tro 1 pha cua tai sao
ZdA=1+j*3;ZdB=ZdA;ZdC=ZdA;
ZA=ZdA+ZYA;ZB=ZdB+ZYB;ZC=ZdC+ZYC;
EA=220;EB=220*exp(j*(-2*pi/3));EC=220*exp(j*(2*pi/3));
%Lap matran
A=[-1-1-1];%matrannut-nhanh
B=[1-10;01-1];%matranvong-nhanh
Enh=[EA; EB; EC];% ma tran sdd nhanh
Jnut=[0];% ma tran nguon dong nut
Znh=[ZA00;0 ZB0;00 ZC];%ma trantong tro
ZY=[ZYA0 0; 0ZYB0;0 0ZYC]
Jnh=[0;0;0];%matrannguondongnhanh
% Giai theo dong nhanh
disp('phuongphapdongnhanh')
D=[A; B*Znh]
G=[Jnut; B*Enh]
Inh=D^-1*G
Unh=Znh*Inh-Enh

84
Ifatai=Inh % Dong dien tren tai moi fa Iday=Ifatai % Dong dien day Ufatai=ZY*Ifata
Udaytai=sqrt(3)*Ufatai%Dienapdaytrenmoitai Efanguon=Enh
Udaynguon=sqrt(3)*Enh % Dien ap day cua nguon Stai=Ifatai'*Ufatai % Cong suat b

ZY=
8.0000 +12.0000i 0.0000 +0.0000i 0.0000+ 0.0000i
0.0000 + 0.0000i 8.0000 +12.0000i 0.0000+ 0.0000i
0.0000 + 0.0000i 0.0000 +0.0000i 8.0000+12.0000i
phuongphapdongnhanh D
=
-1.0000+0.0000i-1.0000+0.0000i-1.0000 +0.0000i
9.0000+15.0000i-9.0000-15.0000i 0.0000+0.0000i
0.0000 + 0.0000i 9.0000+15.0000i-9.0000-15.0000i G
=
1.0e+02*
0.0000 + 0.0000i
3.3000 +1.9053i
0.0000-3.8105i
Inh=
6.4706-10.7843i
-12.5748- 0.2115i
6.1042 +10.9959i
Unh=
1.0e-13*
0.0000 + 0.2842i
0.0000 + 0.0000i
-0.4263-0.2842i
Ifatai=
6.4706-10.7843i
-12.5748- 0.2115i

85
6.1042 +10.9959i
Iday=
6.4706-10.7843i
-12.5748- 0.2115i
6.1042 +10.9959i
Ufatai =
1.0e+02*
1.8118-0.0863i
-0.9806-1.5259i
-0.8312 + 1.6122i
Udaytai =
1.0e+02*
3.1381-0.1494i
-1.6984-2.6429i
-1.4396 + 2.7924i
Efanguon=
1.0e+02*
2.2000 + 0.0000i
-1.1000-1.9053i
-1.1000 + 1.9053i
Udaynguon=
1.0e+02 *
3.8105 +0.0000i
-1.9053-3.3000i
-1.9053 + 3.3000i
Stai=
3.7961e+03+5.6941e+03i
Snguon=
4.2706e+03+7.1176e+03i
*Vídụ 3:Mạch 3phatảihỗnhợp:
Cho mạch điện 3 pha đối xứng phức tạp như hình 2.15, nguồn sức điện động
3pha đối xứng mắc hình sao cóĖA=220∠00 v. Các tải có thông số như sau:
ZA2B2= ZB2C2 = ZC2A2 = 36+j*24 Ω; Zd2=2+j*4 Ω; Z1=8+j*12 Ω; Zd1=1+j*2 Ω.
Tính các dòng điện pha, các dòng điện dây, các điện áp pha và các điện áp
dâycủa nguồn và tải, công suất tác dụng và công suất phản kháng của nguồn và
tải.
86
A A d1 1 d2 A2

2

B B d1 C1 d2 B2
O 2

2

C C d1 C1 d2

C2

1 1 1

O1

Hình2.21.Mạch3 phahỗnhợp
-Chạychươngtrìnhtrên Matlab:

% Chuyen tai tam giac sang sao 2


disp('chuyentaitamgiacsangsao')
ZA2B2=36+j*24;ZB2C2=ZA2B2;ZC2A2=ZA2B2;%Taitamgiac
ZY2A=(ZA2B2*ZC2A2)/(ZA2B2+ZB2C2+ZC2A2) % Tai sao
ZY2B=(ZB2C2*ZA2B2)/(ZA2B2+ZB2C2+ZC2A2)
ZY2C=(ZB2C2*ZC2A2)/(ZA2B2+ZB2C2+ZC2A2)
%Tinhtongtro1phacuataisao2
Zd2=2+j*4;
ZA2=Zd2+ZY2A;ZB2=Zd2+ZY2B;ZC2=Zd2+ZY2C;
% Tong tro moi pha cua toan mach
disp('tongtro1phacuatoanmach')
Z1=8+j*12;
ZY1A=Z1; ZY1B=Z1; ZY1C=Z1;
Zd1=1+j*2;
ZA=(ZY1A*ZA2/(ZY1A+ZA2))+Zd1
ZB=(ZY1B*ZB2/(ZY1B+ZB2))+Zd1
ZC=(ZY1C*ZC2/(ZY1C+ZC2))+Zd1
EA=220;EB=220*exp(j*(-2*pi/3));EC=220*exp(j*(2*pi/3));

87
%Lap matran
disp('Nhapcacmatranmachdien')
A=[-1 -1 -1]; % ma tran nut-nhanh
B=[1-10;01-1];%matranvong-nhanh
Enh=[EA; EB; EC];% ma tran sdd nhanh
Jnut=[0];% ma tran nguon dong nut
Znh=[ZA00;0ZB0;00ZC];%matran tongtro
Jnh=[0;0;0]; % ma tran nguon dong nhanh
% Giai theo dong vong
disp('Phuongphapdongvong')
Zv=B*Znh*B'
Ev=B*(Enh-Znh*Jnh)
Iv=Zv^-1*Ev
Inh=B'*Iv+Jnh
Unh=Znh*Inh-Enh
Ifatai=Inh%Dongdientrentaimoifa
% Dong dien day tren tai sao 2
disp('Dongdiendaytrentaisao2')
IA2=Inh(1)*(Zd2+ZY2A)/(ZY1A+Zd2+ZY2A)
IB2=Inh(2)*(Zd2+ZY2B)/(ZY1B+Zd2+ZY2B)
IC2=Inh(3)*(Zd2+ZY2C)/(ZY1C+Zd2+ZY2C)
% Dong dien day tren tai sao 1
disp('Dong dien day tren tai sao 1')
IA1=Inh(1)*ZY1A/(ZY1A+Zd2+ZY2A)
IB1=Inh(2)*ZY1B/(ZY1B+Zd2+ZY2B)
IC1=Inh(3)*ZY1C/(ZY1C+Zd2+ZY2C)
% Dien ap day tren tai 2
disp('Dien ap day tren tai 2')
UA2B2=IA2*ZY2A-IB2*ZY2B
UB2C2=IB2*ZY2B-IC2*ZY2C
UA2C2=IA2*ZY2A-IC2*ZY2C
% Dong dien pha tren tai noi tam giac
disp('Dongdienphatrentainoitamgiac')
IA2B2=UA2B2/ZA2B2

88
IB2C2=UB2C2/ZB2C2 IA2C2=UA2C2/ZC2A2
% Dien ap day tren tai sao 1 disp('dien ap day tren tai sao 1') UA1B1=IA1*ZY1A-IB1
%Dienapphatrentai1 UA1=UA1B1/sqrt(3) Ufa1=UA1
% Tinh cong suat disp('Congsuattai1')
Stai1=IA1*Ufa1+IB1*Ufa1+IC1*Ufa1 disp('Cong suat tai 2')
Stai2=IA2B2*UA2B2+IB2C2*UB2C2+IA2C2*IA2C2
disp('congsuattonhaoduongday') Sday1=3*Zd1*Inh(1)^2 Sday1=3*Zd2*IA2^2
disp('Congsuatnguon') Snguon=3*Inh(1)*EA

-Kếtquảchạychươngtrìnhtrên Matlab:
chuyentaitamgiacsangsao
ZY2A =
12.0000+8.0000i
ZY2B =
12.0000+8.0000i
ZY2C =
12.0000+8.0000i
tongtro1phacuatoanmach ZA
=
6.3132+8.2038i
ZB =
6.3132+8.2038i
ZC =

89
6.3132 +8.2038i
Phuongphapdongvong
Zv =
12.6264+16.4075i-6.3132-8.2038i
-6.3132-8.2038i12.6264 +16.4075i
Ev =
1.0e+02*
3.3000 + 1.9053i
0.0000-3.8105i
Iv=
12.9612-16.8426i
-8.1055-19.6461i
Inh=
12.9612-16.8426i
-21.0668- 2.8034i
8.1055 +19.6461i
Unh=
1.0e-13*
-0.5684-0.1421i
0.1421 + 0.0000i
-0.4263 + 0.2842i
Ifatai=
12.9612-16.8426i
-21.0668- 2.8034i
8.1055 +19.6461i
Dongdiendaytrentaisao2 IA2 =
6.1436-10.3504i
IB2 =
-12.0355-0.1453i
IC2 =
5.8919 +10.4957i
Dongdiendaytrentaisao1
IA1 =
6.8176-6.4922i
90
IB1=
-9.0313-2.6581i
IC1 =
2.2136 + 9.1504i
Dienapdaytrentai2
UA2B2 =
2.9979e+02+2.2972e+01i
UB2C2 =
-1.3000e+02-2.7111e+02i
UA2C2 =
1.6979e+02-2.4814e+02i
Dongdienphatrentainoitamgiac IA2B2
=
6.0597-3.4017i
IB2C2 =
-5.9758-3.5470i
IA2C2 =
0.0839-6.9487i
dienapdaytrentaisao1
UA1B1 =
1.7280e+02+1.5951e+02i
UB1C1 =
5.1743e+01-2.2941e+02i
UA1C1 =
2.2454e+02-6.9893e+01i
UA1 =
99.7664+92.0952i
Ufa1=
99.7664+92.0952i
Congsuattai1 Stai1
=
0.0000e+00+4.5475e-13i
Congsuattai2 Stai2
=
1.6617e+03+1.1995e+03i
91
congsuattonhaoduongday
Sday1 =
2.2726e+03-2.0039e+03i
Sday1=
1.1098e+03-1.5957e+03i
Congsuatnguon
Snguon =
8.5544e+03-1.1116e+04i
c. Nộidung thực hành
Cho mạch điện như hình 2.16, biết nguồn sức điện động 3 pha đối xứng
mắc hình sao có Ud = 380V. Các tải có thông số như sau: Z 2 = 36+j*24 Ω;
Zd=2+j*4 Ω; Z1=8+j*12;
Tính cácdòngđiệnpha,cácdòng điện dây,cácđiện ápphavàcácđiện áp
dâycủanguồnvàtải,côngsuấttácdụngvàcôngsuấtphảnkhángcủanguồnvàtải.
A d1
A2
2
B d1 B2
2

2
C d1
C2

1 1
1

Hình2.22.Mạchđiện3phathựchành1
d. Câuhỏi
Phântíchkếtquảthuđượcsaukhichạychươngtrìnhtrên Matlab?

92
Chương3
ỨNGDỤNGMATLABGIẢIMẠCHĐIỆNTUYẾNTÍNH Ở
CHẾ ĐỘ QUÁ ĐỘ
3.1. Xâydựnghệphươngtrìnhtrạngtháicủamạchđiện
Để xây dựng được hệ phương trình trạng thái của mạch điện ta phải thực
hiện các bước sau đây:
- Bước 1: Phân tích mạch điện, dựa vào mạch điện để chọn biến trạng
thái:biếntrạngtháisẽ làđiện áptrêntụđiện uChoặcdòngđiện qua cuộncảmiL, mỗi
cuộn cảm hoặc mỗi tụ điện sẽ tương ứng với 1 biến trạng thái.
Vậy số biến trạng thái (n) = số tụ điện và cuộn cảm có trong mạch điện –
số vòng độc lập chỉ chứa tụ điện và nguồn điện – số vòng độc lập chỉ chứa cuộn
cảm và nguồn điện (hoặc số nút là giao của 3 cuộn cảm trở lên).
- Bước 2: Viết hệ phương trình vi phânmô tả mạch điện ở chế độ xác lập
mới: có thể chỉ sử dụng định luật Kirchoff 1 cho các nút hoặc định luật Kirchoff
2 cho các vòng kín hoặc kết hợp cả 2 định luật. Số phương trình cần lập bằng số
biến trạng thái đã xác định được của mạch điện. Hệ phương trình vi phân mô tả
mạch điện có dạng:
dx1 (3.1)

⎪ dt =f(x ,x ,x
1 2 n k,u …)
dx2
=f(x1,x2,xn,uk…)
dt⎪⎨…………………………….
dxn
=f(x,x,x,u…)
⎩dt 1 2 n k

Từhệphươngtrìnhnàychuyểnvềdạngmatrận:
ẋ1 x1 (3.2)

u1
….=[A]n×n. .+[B]n×k.….

ẋn xn uk
ẋ=Ax+Bu
Trong đó:
x1
x=.............làvectơbiến trạngthái,x1,…,xnlàbiếntrạngthái;
xn
u1
u=.............làvectơđầu vào(cácnguồnkíchthích)(inputvector);
uk
A,Blàcácmatrậnhệsố:Alàmatrậnvuôngcấpn;Blàmatrậnnhàng,
kcột.
- Bước 3: Lập hệ phương trình (phương trình) đầu ra. Số biến đầu ra làcác
thông số mà mạch điện yêu cầu tính, dựa vào yêu cầu của bài ta lập ra được hệ
phương trình đầu ra:
Y1=f(x1,x2,xn,uk…) (3.3)
Y2=f(x1,x2,xn,uk …)
…………………………….
Ym=f(x1,x2,xn,uk…)
Từhệphươngtrìnhnàychuyểnvềdạngmatrận:
Y1 x1 u1 (3.4)
….=[C]m×n.….+[D]m×k.….
Ym xn uk
Suy ra:
Y=Cx+Du
Trong đó:
Y1
y=...............làvéctơđầura(outputvector);
Ym
C,Dlàcácmatrậnhệsố:Clàmatrậnmhàng,ncột;Dlàmatrậnm hàng, k cột.
Sau khi lập được ma trận A, B, C, D ta đưa ra hệ phương trình trạng thái
mô tả mạch điện dạng:
ẋ=Ax+Bu
Y=Cx+Du (3-5)
3.2. Giảimạchđiệnquáđộtheohaiphươngpháp
3.2.1. Bài1:Giảimạchtuyếntínhởchếđộquáđộtheophươngpháptích
phânkinh điển
3.2.1.1. Mụctiêucủathí nghiệm
- GiảimạchđiệnquáđộbằngMatlabtheophươngpháptíchphânkinhđiển.
3.2.1.2.Cơsởlýthuyếtcủathí nghiệm
- Phântíchmạchđiệnquáđộtheo phươngpháptíchphânkinhđiển
- Bước1:Lậphệphươngtrìnhtrạngtháicủamạchđiện.
+ Xét mạch ở chế độ xác lập mới, lập hệ phương trình vi phân tuyến tính
mô tả mạch điện.
+Đưacácphươngtrìnhviphâncủaquátrìnhquáđộtrongmạchđiệnvề

94
dạnghệphươngtrìnhtrạngthái:
ẋ=Ax+Bu
Y=Cx+Du
Vớicácđiềukiệnbanđầux(0)=x0 Trong
đó:
xlàvectorbiếntrạngthái(statevariable); y là
vector biến ra (out put);
u làvector cáckích thích (excitation);
A,B,C,Dlàcácmatrận vớicáchệsốlà cáchằngsố.
- Bước2:Lập trìnhtrên Matlab
+ Giải mạch điện ở chế độ xác lập cũ nhằm tính được điều kiện ban
đầux(0) (thường là dòng điện qua cuộn cảm L và điện áp trên tụ điện C).
+GiảihệphươngtrìnhtrạngtháibằngMatlabđểtínhquátrìnhquáđộ trong mạch
điện tuyến tính.
Nghiệmgầnđúngcủahệphươngtrìnhtrạngtháitrêncóthểtìmđược bằng cách sử
dụng lệnh sau đây của Matlab:
[y,x]=lsim(A,B,C,D,u,t, x0)
- Lưu đồ thuật toán giải mạch điện quá độ theo phương pháp tích phân
kinh điển bằng Matlab
Muốngiảimạchđiệnquáđộtheophươngpháptíchphânkinhđiểnta phải thực hiện
ba thao tác cơ bản sau:
- Lậphệphươngtrìnhtrạngtháimôtảmạchđiện;
- Chạychươngtrìnhtrên Matlab;
- Hiểnthịkếtquảchạychương trìnhtrên Matlab.
Cụthểchitiếtcácbướcđượcchotronglưuđồthuậttoánsauđây:

95
Start

Lập hệphươngtrình trạng tháicủa mạch điện

Giảimạchđiệnở chếđộ xáclập cũ để tìm điều khiện đầu: X0

Nhậpcácthôngsốbàicho,điều kiện đầuvà matrânA,B,C,D

t=t1:step:t2
t=t1:step:t2
t1: thời gian bắt đầu QTQĐ t1:thờigiankết thúcQTQĐ
t1: thời gian bắt đầu QTQĐ
t1:thờigiankết thúcQTQĐ

u=U*ones(1,length(t))

[y,x]=lsim(A,B,C,D,u,t,x0)

Bang=[t',x,y]

subplot(),plot(t,x())
subplot(),plot(t,y)

End

Hình3.1.Lưuđồthuậttoángiảimạchđiệnquáđộ theo
phương pháp tích phân kinh điển
96
3.2.1.3. Nộidungthínghiệm
- Thiếtbịthínghiệm
- MáytínhcàiphầnmềmMatlab7.0.
- Vídụthựchànhmẫu
*Vídụ1mạchquáđộtheotíchphânkinhđiển
Cho mạch điện như hình vẽ.Biết: R = 80Ω, L = 0,2 H, C1 = 140 µF, u(t) =U
= 100 V = const. Khóa K đóng tại vị trí t = 0. Tìm các nghiệm gần đúng dưới
dạng bảng số và vẽ các đường cong uC(t), iL(t) và uRL(t).

Hình3.2a.Mạchđiệnquáđộvídụ1giảitheotíchphânkinhđiển
-Lậphệphươngtrìnhtrạngtháicủamạchđiện:
Vìmạchđiệncó1tụđiệnC1và1cuộncảmLnênmạchRLCnàycó2 biến trạng thái: iL
và uC, vậy cần 2 phương trình vi phân mô tả mạch điện.
Viếtphươngtrìnhviphânmôtảmạchởchếđộxáclậpmới(Kđóng) Phương trình
1:
uL(t)+ uR(t)+uC(t) =u(t) = U
diL
L +Ri+u =u
L C
dt
Li̇L̇ +RiL+uC=u
i̇̇L=-RiL−1uC+1u (1)
L L L
Phươngtrình2:
iC(t)=iL(t)
duC
C =i
1 L
dt
u̇C=1iL (2)
Cl

Lậpphươngtrìnhđầura:mạchđiệnnàychỉyêucầutínhđiệnáptrênRL nên đầu ra


chỉ có 1 thành phần là uRL
Phươngtrìnhđầura:uRL(t)=u(t)–uC(t)
uRL = - uC + u (3)

97
Kếthợp(1),(2),(3)tacóhệphươngtrìnhtrạngthái:
i̇L
( )=
u̇C −R⁄L −1⁄L iL +[1⁄L]u 0
1⁄C1 0 ( u)C

uRL=[0 −1](iL) +[1]u


Cu
Vậycác matrậncủahệphươngtrìnhtrạngtháilà:
−R⁄L −1⁄L 1⁄L
A= ; B=[ ];C=[0 −1]; D=[1]
1⁄C1 0 0
-ChạychươngtrìnhtrênMatlab%Giaimachochedoxaclapcu(Kmo)
iL=0;uC=0;%suyraduocdieukiendaux0=[0;0]
%Nhap thongsobaicho
R=80;L=0.2;C1=140*10^(-6);U=100; t1=0.0; t2=0.04; step=(t2-t1)/50; x0=[0;0];
A=[-R/L-1/L;1/C10] B=[1/L; 0]
C=[0-1]; D=1;
%Giai mach qua do t=t1:step:t2; u=U*ones(1,length(t)); [y,x]=lsim(A,B,C,D,u,t,x0) Bang=[t'
subplot(3,1,1),plot(t,x(:,1),'k','linewidth',1.5) xlabel('t,s')
ylabel('i_L,A')
gtext('i_L')
subplot(3,1,2),plot(t,x(:,2),'k','linewidth',1.5) xlabel('t,s')
ylabel('u_C,V')
gtext('u_C')
subplot(3,1,3),plot(t,y,'k','linewidth',1.5) xlabel('t,s')

98
ylabel('u_R_L,V') gtext('u_R_L')

-Kếtquảchạychươngtrìnhxemởphụlục1

Hình3.2b.Dạngsóngquáđộmạchvídụ1 theo
phương pháp tích phân kinh điển
*Vídụ2mạchquáđộtheotíchphânkinhđiển:
Cho mạch điện như hình vẽ.Biết: R = 80Ω, L = 0,2 H, C 1 = 140 µF, u(t) =
100sin(ωt + π/3) V. Khóa Kđóng tạivị trí t =0. Tìmcác nghiệmgần đúng dưới
dạng bảng số và vẽ các đường cong uC(t), iL(t) và uRL(t).

Hình 3.3a. Mạch điện quá độ ví dụ 2


theophươngpháptíchphânkinhđiển
- Lậphệphươngtrìnhtrạngtháicủamạchđiện:Cáchlậphệphươngtrình trạng
thái của mạch điện giống ở phần trên.
- Chạychươngtrìnhtrên Matlab:

99
%Giai machochedoxaclap cu(Kmo)
iL=0;uC=0;%suyraduocdieukien daux0=[0;0]
%Nhap thongsobaicho
R=80;L=0.2;C1=140e-6;U=100;f=50;w=2*pi*f;
t1=0.0; t2=0.05; step=(t2-t1)/30;
x0=[0;0];
A=[-R/L-1/L;1/C10];B=[1/L;0];
C=[0-1];
D=1;
%Giai mach qua do
t=t1:step:t2; u=U*sin(w*t+
(pi/3));
[y,x]=lsim(A,B,C,D,u,t,x0)
Bang=[t',x,y]
subplot(3,1,1),plot(t,x(:,1),'k','linewidth',1.5)
xlabel('t,s')
ylabel('i_L,A')
gtext('i_L')
grid;
title('QuatrinhquadotrongmachRLCnguonhinhsin')
subplot(3,1,2), plot(t,x(:,2),'k','linewidth',1.5)xlabel('t,s')
ylabel('u_C,V')
gtext('u_C')
grid;
subplot(3,1,3),plot(t,y,'k','linewidth',1.5)
xlabel('t,s')
ylabel('u_R_L,V')
gtext('u_R_L')
grid;

-Kếtquảchạychươngtrìnhxemởphụlục2.

100
Hình3.3b.Dạngsóngquáđộmạchvídụ2 theo
phương pháp tích phân kinh điển
*Vídụ3:Mạch quáđộtheotíchphân kinhđiển:
Chomạchđiệnnhưhìnhvẽ.Biết:R1=R2=R3=10Ω;C1=C2=5µF;L
= 10 H; Vs = 10 V. Khóa K đóng tại vị trí t = 0. Tìm các nghiệm gần đúng dưới
dạng bảng số và vẽ các đường cong u C1(t), uC2(t), iL(t) và uR2(t) trong khoảngthời
gian t = 0 ÷ 10s.

Hình3.4a.Mạchđiệnquáđộvídụ3giảitheotíchphânkinhđiển
-Lậphệphươngtrìnhtrạngtháicủamạchđiện:
Vìmạchđiệncó2tụđiệnC1,C2và1cuộncảmLnênmạchđiệnnàysẽ

101
có 3biến trạng tháilàuC1= V1,uC2= V2vàiL= I1,vậycần lập 3phương trình vi phân của
mạch điện.
Lập3phươngtrìnhviphâncủamạchđiệnởchếđộxáclậpmới(Kđóng)
+Phươngtrình1:ÁpdụngđịnhluậtK1chonútatacó:iR1(t)=iC1(t)+
iR2(t).

Mà:
vs−v1 dv1
i = ; i =C ; i v1−v2
R1 =
C1 1 R2
R1 dt R2

Suy ra:
vs−v1 dv1 v1−v2
=C +
R1 1
dt R2
dv1 vs−v1 v1−v2
→dt = R1C1 − R2C1

-1
=(RlCl 1 )v+
1
V2
Vs (1)
− R2C R2 C + RlCl
l l

+Phươngtrình2:ÁpdụngđịnhluậtK1chonútatacó:iR2(t)=iC2(t)+I1Mà:
i =l; i dv2
=C ; i v1−v2
L 1 C2 =
2 R2
dt R2
Suy ra:
V l -V 2 dV2 dV2 V l -V 2 /l
=C2 +l1→ = − =Vl−V2−/l(2)
R2 dt dt C2 R2C2 R2C2 C2

R2C2

+Phươngtrình3:ÁpdụngK2chovòngkínchứaC2LR3tacó:
vR3(t) +vL(t)–V2=0
Mà:
di1 di1
v =lR; =L ; →lR +L −v=0
v
R3 13 L
dt 1 3
dt
2

→ = − l1
dil V2 R3
(3)
dt L L
Lập phương trình đầu ra: mạch điện chỉ yêu cầu tính điện áp trên R2 nên
đầu ra chỉ có 1 thành phần uR2(t) = y(t).
ÁpdụngđịnhluậtK2chovòngkínR2C1C2tacó:vR2(t)+V2–V1=0 Suy ra:
vR2(t)=y(t)=V1–V2 (4)
102
Kếthợp(1),(2),(3),(4)tacóhệphươngtrìnhtrạngtháicủamạch điện:
−1 1
⎡ 1C1 − 1
R 0⎤ ⎥ 1
v1 ⎢ ⎢ R2 C 1
1 R2C−1 −1⎥ v 1
v2 .u+R1C1vs
1
v=
2 ⎢ ⎥ 0
l R 2C2 R2C2 C ⎥ l1
̇ ⎢ R
2 0
1 ⎢ 1 − 3⎥
0
⎣ L L⎦
v1
uR2=[1 −1 0]v2 .+[0]vs
l1
Vậycác matrận củahệphươngtrìnhtrạngtháilà:
−1 1
⎡R1C1 − 1
⎢⎢ 1 R2 C 1 0⎤ ⎥
−1
−1
A= R2C1 ⎥;B=R1C1;C=[
1 1 −1 0];D=0

⎢ R2C2
2⎥ 0
R 2C2 1CR 0

⎢ − 3⎥
0
⎣ L L⎦
-Chạychươngtrìnhtrên Matlab:
Vs=10;R1=10;R3=R1;R2=R1;C1=5*10^(-6);C2=C1;L=0.1; t1=0.0; t2=0.03; step=(t2-
x0=[0;0;0];
A=[(-1/(R1*C1))-(1/(R2*C1))1/(R2*C1)0;1/(R2*C2)-1/(R2*C2)-1/C2;0 1/L -R3/L];
B=[1/(R1*C1);0; 0];
C=[1-10]; D=0;
%Giai mach qua do t=t1:step:t2; u=Vs*ones(1,length(t)); [y,x]=lsim(A,B,C,D,u,t,x0) Ba
subplot(4,1,1),plot(t,x(:,1),'k','linewidth',1.5) xlabel('t,s')
ylabel('V_1,V')

103
gtext('V_1')
subplot(4,1,2),plot(t,x(:,2),'k','linewidth',1.5) xlabel('t,s')
ylabel('V_2,V')
gtext('V_2')
subplot(4,1,3),plot(t,x(:,3),'k','linewidth',1.5) xlabel('t,s')
ylabel('i_1,A')
gtext('i_1')
subplot(4,1,4),plot(t,y,'k','linewidth',1.5) xlabel('t,s')
ylabel('u_R_2,V') gtext('u_R_2')

-Kếtquảchạychươngtrìnhxemởphụlục3

Hình3.4b.Dạngsóngquáđộvídụ3giảitheotíchphânkinhđiển
*Vídụ4mạchquáđộtheotíchphânkinhđiển:
Cho mạch điện như hình vẽ. Biết: R 1 = R2 = R3 = 10 Ω; C1 = C2 = 5 µF;
L = 10 H; u(t) = 10sin(ωt + π/3) V. Khóa K đóng tại vị trí t = 0. Tìmcác nghiệm
gần đúng dưới dạng bảng số và vẽ các đường cong uC1(t), uC2(t), iL(t) và uR2(t)
trong khoảng thời gian t = 0 ÷ 5s.

104
Hình3.5a.Mạchđiệnquáđộvídụ4giảitheotíchphânkinhđiển
- Lậphệphươngtrìnhtrạngtháicủamạchđiện:Hệphươngtrìnhtrạng thái
của mạch điện giống ở mục ví dụ 3
- Chạychươngtrìnhtrên Matlab:
%Giai machochedoxaclap cu(Kmo)
I1=0;V1=0;V2=0;%suyraduocdieukiendaux0=[0;0;0]
%Nhap thongsobaicho
Vs=10;R1=10;R3=R1;R2=R1;C1=5*10^-6;C2=C1;L=10;
t1=0.0;t2=4;step=(t2-t1)/20; x0=[0;0;0];
A=[(-1/(R1*C1))-(1/(R2*C1))1/(R2*C1)0;1/(R2*C2)-1/(R2*C2)- 1/C2; 0 1/L -R3/L];
B=[1/(R1*C1);0; 0];
C=[1-10]; D=0;
%Giai mach qua do t=t1:step:t2; u=Vs*sin(5*t+pi/3); [y,x]=lsim(A,B,C,D,u,t,x0) Bang=
subplot(4,1,1),plot(t,x(:,1),'k','linewidth',1.5) xlabel('t,s')
ylabel('V_1,V') grid; gtext('V_1')
subplot(4,1,2),plot(t,x(:,2),'k','linewidth',1.5)

105
xlabel('t,s')
ylabel('V_2,V')
gtext('V_2') grid;
subplot(4,1,3),plot(t,x(:,3),'k','linewidth',1.5) xlabel('t,s')
ylabel('i_1,A')
gtext('i_1') grid;
subplot(4,1,4),plot(t,y,'k','linewidth',1.5) xlabel('t,s')
ylabel('u_R_2,V') gtext('u_R_2') grid;

-Kếtquảchạychươngtrìnhxemởphụlục4.

Hình3.5b.Dạngsóngquáđộvídụ4giảitheotíchphânkinhđiển
*Vídụ5mạchquáđộtheotíchphânkinhđiển:
Cho mạch điện như hình vẽ, biết: R1 =3000Ω; C1=50*10^(-6)F;
C2=12*10^(-6)F;L1=1,2H;L2=0,45H;u(t)=100sin10t(V).Tạithờiđiểmt=0
khóa K đóng. Tính và vẽ đồ thị điện áp và dòng điện quá độ trên các cuộn
dâyvà tụ điện và điện áp quá độ trên điện trở

106
Hình3.6a.Mạchđiệnquáđộvídụ5giảitheotíchphânkinhđiển
-Lậphệphươngtrìnhtrạngtháicủamạchđiện:
Vì mạch điện có 2 tụ điện C 1, C2 và 2 cuộn cảmL1 và L2 nên mạch điện
này sẽ có 4 biến trạng thái là uC1, uC2 và iL1, iL2, vậy cần lập 4 phương trình vi
phân của mạch điện.
Lập4phươngtrìnhviphâncủamạchđiệnởchếđộxáclậpmới(Kđóng).
+Phươngtrình1:ÁpdụngđịnhluậtK1chonúttacó:iC1(t)=iL1(t)+
iL2(t).

Mà:iC1=C1duCl=C 1.u̇C!;
dt
Suyra: u̇C1=1iL1+1iL2
Cl Cl

+Phươngtrình2:Tacó
duC2
i =C =C.u
=i ;
C2 2 2 C2 L2
dt
Suy ra: u̇C2=1iL2(2)
2
C
+Phươngtrình3:ÁpdụngđịnhluậtK2chovòngkínRC1L1tacó: uC1 + uR1
+ uL1 = u
uC1+R1iC1+L1i̇̇L1= u
uC1+R1C1u̇C1+L1i̇̇L1=u
1 1
uC1+R1C1( iL1+ iL2)+L1i̇L1=u
C1 C1
Suyra: i̇̇L1=−RliL1−RliL2−1uC1+1u(3)
Ll Ll Ll Ll

+Phươngtrình4:ÁpdụngđịnhluậtK2chovòngkínL2C2L1tacó:
uC2+uL2 -uL1 = 0
uC2+L2i̇̇L2−L1i̇̇L1=0

107
R1 R1 1 1
u +Li −L(− i − i − u + u)=0
C2 2L2
1
L1L1 L1L2 L1 C1 L1
uC2+L2i̇̇L2+R1iL1+R1iL2+uC1−u=0
Suy ra:
i L 2̇ ̇ =−RliL1−RliL2−1uC1−1uC2+1u(4)
L2 L2 L2 L2 L2

+Phươngtrìnhđầura:
iR= iL1+ iL2
uR=iR.R=R(iL1+iL2)=RiL1+RiL2 (5)
Kếthợp(1),(2),(3),(4),(5)tacóhệphươngtrìnhtrạngtháicủamạchđiện:
R1 R1 1
⎡− − − 0⎤
L1 L1 L1 1
⎢ ⎥
i̇̇L1 iL1
⎢−R1 −R1 −1 −
1⎥ ⎡ ⎤
L1
i ⎢ L2 L2 L2 L2⎥ iL2 ⎢ ⎥
⎛L2⎞= ⎥ +⎢ 1 ⎥u
⎢1 1 u
u̇C1 ⎢ C1 ⎢L2⎥
C1 0 0 ⎥ u
⎝u̇C2⎠ ⎥ C2 ⎢0⎥

C1

1 ⎥ ⎣0⎦
⎢0 0 0
⎣ C2 ⎦
iL1
iL2
uR=[R R 0 0] +[0]u
uC1
uC2
Vậycác matrậncủahệphươngtrìnhtrạngtháilà:
R1 R1 1
⎡− − − 0 ⎤
L L L 1
⎢ 1 1 1
1 ⎥
⎢− 1R R1 1 − 0⎥ ⎡ ⎤
⎢ L2 − − L1
L2 L2 L2 ⎢ ⎥
⎥ 1
A=⎢
1 1 ⎢ ⎥
⎥;B=
⎢ ⎢L2⎥
C1 C1 0 0 ⎥
⎥ ⎢0⎥

1 ⎥ ⎣0⎦
⎢0 0 0
⎣ C2 ⎦
C=[R R 0 0];D=0
-Chạychươngtrìnhtrên Matlab:
Vs=100;R1=3000;C1=50*10^(-6);C2=12*10^(-6);L1=1.2;L2=0.45; t1=0.0; t2=1.5; step=(t2
108
x0=[0;0;0;0];
A=[-R1/L1-R1/L1-1/L10;-R1/L2-R1/L2-1/L2-1/L2;1/C11/C100;0
1/C200];
B=[1/L1;1/L2;0;0];
C=[R1R100]; D=0;
%Giai mach qua do
t=t1:step:t2;
u=Vs*sin(10*t);
[y,x]=lsim(A,B,C,D,u,t,x0)
Bang=[t',x,y]
subplot(3,2,1),plot(t,x(:,1),'k')
xlabel('t,s')
ylabel('i_L_1,A')
gtext('i-L_1')
subplot(3,2,2),plot(t,x(:,2),'k')
xlabel('t,s')
ylabel('i_L_2,A')
gtext('i_L_2')
subplot(3,2,3),plot(t,x(:,3),'k')
xlabel('t,s')
ylabel('u_C_1,V')
gtext('u_C_1')
subplot(3,2,4),plot(t,x(:,4),'k')
xlabel('t,s')
ylabel('u_C_2,V')
gtext('u_C_2')
subplot(3,2,5),plot(t,y,'k')
xlabel('t,s')
ylabel('u_R,V')
gtext('u_R')

-Kếtquảchạychươngtrìnhxemởphụlục5.
109
Hình3.6b.Dạngsóngquáđộvídụ5giảitheotíchphânkinhđiển
*Vídụ6mạchquáđộtheotíchphânkinhđiển:
Cho mạch điện như hình vẽ, biết: R1 =3000Ω; C1=50*10^(-6)F;
C2=12*10^(-6)F;L1=1,2H;L2=0,45H;Vs=100V(DC).Tạithờiđiểm t=0khóa
K đóng. Tính và vẽ đồ thị điện áp và dòng điện quá độ trên các cuộn dây và
tụđiện và điện áp quá độ trên điện trở.

Hình3.7a.Mạchđiệnquáđộvídụ6giảitheotíchphânkinhđiển
- Phươngtrìnhtrạngtháigiốngởvídụ 5
- Chạychươngtrìnhtrên Matlab:
Vs=Vs=100;R1=3000;C1=50*10^(-6);C2=12*10^(-6);L1=1.2;

110
L2=0.45;
t1=0.0;t2=1.5;step=(t2-t1)/20;
x0=[0;0;0;0];
A=[-R1/L1-R1/L1-1/L10;-R1/L2-R1/L2-1/L2-1/L2;1/C11/C100;0
1/C200];
B=[1/L1;1/L2;0;0];
C=[R1R100]; D=0;
%Giai mach qua do
t=t1:step:t2;
u=Vs*ones(1,length(t));
[y,x]=lsim(A,B,C,D,u,t,x0)
Bang=[t',x,y]
subplot(3,2,1),plot(t,x(:,1),'k')
xlabel('t,s')
ylabel('i_L_1,A')
gtext('i_L_1')
subplot(3,2,2),plot(t,x(:,2),'k')
xlabel('t,s')
ylabel('i_L_2,A')
gtext('i_L_2')
subplot(3,2,3),plot(t,x(:,3),'k')
xlabel('t,s')
ylabel('u_C_1,V')
gtext('u_C_1')
subplot(3,2,4),plot(t,x(:,4),'k')
xlabel('t,s')
ylabel('u_C_2,V')
gtext('u_C_2')
subplot(3,2,5),plot(t,y,'k')
xlabel('t,s')
ylabel('u_R,V')
gtext('u_R')

111
- Kếtquảchạychươngtrìnhxemởphụlục6.

Hình3.7b.Dạngsóngquáđộvídụ6giảitheotíchphânkinhđiển
c.Nộidung thựchành
a. Nộidungthựchành1
Chomạchđiệnnhưhìnhvẽ.Biết:R=10Ω;L=1/32H;C=50µF;Is=2
A.Tạit=0đóngkhóaK.TínhdòngđiệnquáđộquađiệntrởRkhiđóngkhóaK.

Hình3.8.Mạchđiệnquáđộthựchành1theotíchphânkinhđiển
b. Nộidungthựchành2
Cho mạch điện như hình vẽ, các thông số như trong mạch điện. Tại t = 0
mở khóa K. Tính dòng điện quá độ qua tụ điện khi mở khóa K.

Hình3.9.Mạchđiệnquáđộthựchành2theotíchphânkinhđiển

112
c. Nộidungthựchành3
Cho mạch điện như hình vẽ, các thông số như trong mạch điện. Tại t = 0
đóng khóa K. Tính dòng điện quá độ i(t) điện khi đóng khóa K trong 10(ms).

Hình3.10.Mạchđiệnquáđộthựchành3theotíchphânkinhđiển
d. Câuhỏi
Phântíchkếtquảthucủamạch điệntrongcácnôidungthựchành?
3.2.2. Bài2:Giảimạchđiệntuyếntínhởchếđộquáđộtheophươngpháp toán tử
Laplace
3.2.2.1. Mụctiêuthí nghiệm
- GiảimạchđiệntuyếntínhởchếđộquáđộbằngMatlabtheophươngpháp toán tử
Laplace.
3.2.2.2. Cơsởlýthuyếtcủathí nghiệm
a. Cácbướccơbảngiảimạchtuyếntínhởchếđộquáđộtheophương pháp toán
tử Laplace
- Bước1:Lậphệphươngtrìnhtrạngtháicủamạchđiện.
ẋ=Ax+Bu
Y=Cx+Du
- Bước2:LậptrìnhtrênMatlab.
Ở phương pháp này ta chủ yếu sử dụng lệnh chuyển đổi Laplace của
Matlab. Việc chuyển đổi Laplace trong Matlab hết sức đơn giản. Đầu tiên taphải
định rõ các biến t và s là ký hiệu toán học bằng lệnh syms t s.
MuốnchuyểnđổiLaplacethuậntadùnglệnh:laplace(f).
MuốnchuyểnđổiLaplacengượctadùnglệnh:ilaplace(f).
Tiếp theo ta dụng lệnh simplify() để đơn giản hóa kết quả và viết lại biểu
thức dưới dạng dễ đọc bằng lệnh pretty().
- Bước3:Hiển thịkếtquảchạy.

113
b. Lưuđồthuậttoángiảimạchđiệnquáđộtheophươngpháptoántử Laplace
bằng Matlab.

Hình3.11.Lưuđồthuậttoángiảimạchđiệnquáđộ theo
phương pháp toán tử Laplace
3.2.2.3. Nộidungvàtrìnhtựthínghiệm
a. Thiếtbịthínghiệm
-Máytính càiphầnmềmMatlab7.0trởlên.
b. Vídụthựchànhmẫu
*Vídụ1mạchquáđộtheoLaplace:
Cho mạch điện nhưhìnhvẽ.Biết:R=80Ω,L=0,2H,C1=140µF,u(t)= U = 100
V = const. Khóa K đóng tại vị trí t = 0. Tìmcác nghiệm gần đúng dưới dạng
bảng số và vẽ các đường cong uC(t), iL(t) và uRL(t).

114
Hình3.12a.Mạchđiệnquáđộvídụ1theo Laplace
-Lậphệphươngtrìnhtrạngtháicủamạchđiện(đãlậpởvídụ1bài1theo tích phân
kinh điển).
-Chạychươngtrìnhtrên Matlab:
syms R L C real syms iL(t) uC(t) s diL(t)=diff(iL(t),t);
duC(t)=diff(uC(t),t); u=100;
eq1(t)=diL(t)+R*iL(t)/L+uC(t)/L-u/L; eq2(t)=duC(t)-iL(t)/C;
L1(t)=laplace(eq1(t),t,s)
L2(t)=laplace(eq2(t),t,s) syms LiL LuC
NiL(t)=subs(L1(t),{R,L,C,iL(0),uC(0)},{80,0.2,140*10^-6,0,0})
NuC(t)=subs(L2(t),{R,L,C,iL(0),uC(0)},{80,0.2,140*10^-6,0,0})
NiL(t)=subs(NiL(t),{laplace(iL(t),t,s),laplace(uC(t),t,s)},{LiL,LuC}) NiL(t)=collect(NiL
iL(t)=ilaplace(LiL,s,t) uC(t)=ilaplace(LuC,s,t) subplot(3,1,1) fplot(iL,[0,0.05])
xlabel('time,s')
ylabel('i_L,A')

115
gtext('i_L') subplot(3,1,2) fplot(uC,[0,0.05])
xlabel('time,s')
ylabel('u_C,V')
gtext('u_C')
uRL(t)=-uC(t)+u subplot(3,1,3) fplot(uRL,[0,0.05])
xlabel('time,s') ylabel('u_R_L,V') gtext('u_R_L')

-Kếtquảchạychươngtrìnhtrên Matlab:
L1(t)=
s*laplace(iL(t),t,s)-iL(0)+laplace(uC(t),t,s)/L-100/(L*s)+
(R*laplace(iL(t), t, s))/L
L2(t)=
s*laplace(uC(t),t,s)-uC(0)-laplace(iL(t),t,s)/C NiL(t) =
s*laplace(iL(t),t,s)-500/s +400*laplace(iL(t),t,s)+5*laplace(uC(t),t, s)
NuC(t)=
s*laplace(uC(t),t,s)-(50000*laplace(iL(t),t,s))/7 NiL(t)
=
400*LiL+5*LuC+LiL*s-500/s
NiL(t) =
(s+400)*LiL+5*LuC-500/s
NuC(t) =
LuC*s-(50000*LiL)/7
NuC(t) =
s*LuC-(50000*LiL)/7
LiL =
3500/(7*s^2+2800*s+250000)
LuC =

116
25000000/(s*(7*s^2+2800*s+ 250000))
iL(t)=
(5*3^(1/2)*7^(1/2)*sinh((100*3^(1/2)*7^(1/2)*t)/7)*exp(-200*t))/3
uC(t) =
100-100*exp(-200*t)*(cosh((100*3^(1/2)*7^(1/2)*t)/7)+
(2*3^(1/2)*7^(1/2)*sinh((100*3^(1/2)*7^(1/2)*t)/7))/3)
uRL(t) =
100*exp(-200*t)*(cosh((100*3^(1/2)*7^(1/2)*t)/7) +
(2*3^(1/2)*7^(1/2)*sinh((100*3^(1/2)*7^(1/2)*t)/7))/3)

Hình3.12b.Dạngsóngquáđộmạchvídụ1theoLaplace
*Vídụ2mạchquáđộtheoLaplace:
Cho mạch điện nhưhìnhvẽ.Biết: R=80Ω,L=0,2H,C1=140µF,u(t)=
100sin(wt+pi/3)V. Khóa K đóng tại vị trí t = 0. Tìmcác nghiệm gần đúng dưới
dạng bảng số và vẽ các đường cong uC(t), iL(t) và uRL(t).

Hình3.13a.Mạchđiệnquáđộ vídụ2giảitheo Laplace


- Phươngtrìnhtrạngthái:đãlậpđượcởvídụ1chương2
- ChạychươngtrìnhtrênMatlab:
117
syms R L C real
syms iL(t) uC(t) s
diL(t)=diff(iL(t),t);
duC(t)=diff(uC(t),t);
f=50;
u=100*sin(2*pi*f*t+pi/3);
eq1(t)=diL(t)+R*iL(t)/L+uC(t)/L-u/L;
eq2(t)=duC(t)-iL(t)/C;
L1(t)=laplace(eq1(t),t,s)
L2(t)=laplace(eq2(t),t,s)
syms LiL LuC
NiL(t)=subs(L1(t),{R,L,C,iL(0),uC(0)},{80,0.2,140*10^-6,0,0})
NuC(t)=subs(L2(t),{R,L,C,iL(0),uC(0)},{80,0.2,140*10^-6,0,0})
NiL(t)=subs(NiL(t),{laplace(iL(t),t,s),laplace(uC(t),t,s)},{LiL,LuC})
NiL(t)=collect(NiL(t),LiL) NuC(t)=subs(NuC(t),
{laplace(iL(t),t,s),laplace(uC(t),t,s)},{LiL,LuC})
NuC(t)=collect(NuC(t),LuC)
[LiL,LuC]=solve(NiL(t),NuC(t),LiL,LuC)
iL(t)=ilaplace(LiL,s,t)
uC(t)=ilaplace(LuC,s,t)
subplot(3,1,1) fplot(iL,
[0,0.05])
xlabel('time,s')
ylabel('i_L,A')
gtext('i_L')
subplot(3,1,2)
fplot(uC,[0,0.05])
xlabel('time,s')
ylabel('u_C,V')
gtext('u_C')
uRL(t)=-uC(t)+u
subplot(3,1,3) fplot(uRL,
[0,0.05])
xlabel('time,s')

118
ylabel('u_R_L,V') gtext('u_R_L')

- KếtquảchạychươngtrìnhtrênMatlab:
L1(t)=
s*laplace(iL(t),t,s)-iL(0)+laplace(uC(t),t,s)/L+(R*laplace(iL(t),t,s))/L
-(100*(50*pi+(3^(1/2)*s)/2))/(L*(s^2+10000*pi^2))
L2(t) =
s*laplace(uC(t),t,s)-uC(0)-laplace(iL(t),t,s)/C
NiL(t) =
s*laplace(iL(t),t,s)-(500*(50*pi+(3^(1/2)*s)/2))/(s^2+10000*pi^2)+
400*laplace(iL(t),t,s)+5*laplace(uC(t),t,s)
NuC(t)=
s*laplace(uC(t),t,s)-(50000*laplace(iL(t),t,s))/7
NiL(t) =
400*LiL+5*LuC+LiL*s-(500*(50*pi+(3^(1/2)*s)/2))/(s^2+
10000*pi^2)
NiL(t) =
(s+400)*LiL+5*LuC-(500*(50*pi+(3^(1/2)*s)/2))/(s^2+10000*pi^2)
NuC(t) =
LuC*s-(50000*LiL)/7
NuC(t) =
s*LuC-(50000*LiL)/7 LiL
=
(1750*s*(100*pi+3^(1/2)*s))/((s^2+10000*pi^2)*(7*s^2+2800*s+
250000))
LuC=
(12500000*(100*pi+3^(1/2)*s))/((s^2+10000*pi^2)*(7*s^2+2800*s+
250000))
iL(t)=
(875*pi*cos(100*pi*t)-245*pi^3*cos(100*pi*t)+980*pi^2*sin(100*pi*t)
+ 245*3^(1/2)*pi^3*sin(100*pi*t) - 875*3^(1/2)*pi*sin(100*pi*t) +
980*3^(1/2)*pi^2*cos(100*pi*t))/(868*pi^2+98*pi^4+1250)-(exp(-
200*t)*(cosh((100*3^(1/2)*7^(1/2)*t)/7)+
(3^(1/2)*7^(1/2)*sinh((100*3^(1/2)*7^(1/2)*t)/7)*((2450000*pi -
2187500*3^(1/2)+612500*3^(1/2)*pi^2)/(6125*pi+6860*3^(1/2)*pi^2-
119
1715*pi^3)-200))/300)*(875*pi+980*3^(1/2)*pi^2-
245*pi^3))/(868*pi^2+98*pi^4+1250)
uC(t) =
(31250*sin(100*pi*t)-35000*pi*cos(100*pi*t)+
31250*3^(1/2)*cos(100*pi*t)-8750*pi^2*sin(100*pi*t)+
35000*3^(1/2)*pi*sin(100*pi*t)-
8750*3^(1/2)*pi^2*cos(100*pi*t))/(434*pi^2+49*pi^4+625)+(exp(-
200*t)*(cosh((100*3^(1/2)*7^(1/2)*t)/7)+
(3^(1/2)*7^(1/2)*sinh((100*3^(1/2)*7^(1/2)*t)/7)*((76125000*pi-
87500000*3^(1/2)+6125000*pi^3)/(245000*pi-218750*3^(1/2)+
61250*3^(1/2)*pi^2)-200))/300)*(35000*pi-31250*3^(1/2) +
8750*3^(1/2)*pi^2))/(434*pi^2+49*pi^4+625)
uRL(t) =
100*sin(pi/3+100*pi*t)-(31250*sin(100*pi*t)-35000*pi*cos(100*pi*t)
+31250*3^(1/2)*cos(100*pi*t)-8750*pi^2*sin(100*pi*t)+
35000*3^(1/2)*pi*sin(100*pi*t) -
8750*3^(1/2)*pi^2*cos(100*pi*t))/(434*pi^2+49*pi^4+625)-(exp(-
200*t)*(cosh((100*3^(1/2)*7^(1/2)*t)/7)+
(3^(1/2)*7^(1/2)*sinh((100*3^(1/2)*7^(1/2)*t)/7)*((76125000*pi-
87500000*3^(1/2)+6125000*pi^3)/(245000*pi-218750*3^(1/2)+
61250*3^(1/2)*pi^2)-200))/300)*(35000*pi-31250*3^(1/2) +
8750*3^(1/2)*pi^2))/(434*pi^2+49*pi^4+625)

Hình3.13b.Dạngsóngquáđộmạchvídụ2giảitheoLaplace
120
*Vídụ3mạchquáđộtheoLaplace:
Cho mạch điện như hình vẽ, biết: R 1 = 4Ω; R2 = 2Ω; R3 = 3Ω; L = 1,6H;C
= 1/4F; E(t) = sint. Tại thời điểm t = 0 thì khóa K đóng. Tính dòng điện và điện
áp quá độ qua cuộn dây và tụ điện.

Hình3.14a.Mạchđiệnquáquáđộvídụ3giảitheo Laplace
- Lậphệphươngtrìnhtrạngtháicủamạchđiện:
Vì mạch điện có 1 tụđiện Cvà 1 cuộn cảmL nên mạch điện nàycó 2 biến
trạng thái: iL và uC, vậy cần 2 phương trình vi phân mô tả mạch điện
Viếthệphươngtrìnviphânmôtảmạchđiệntheophươngphápdòng vòng: Với 2
dòng vòng đã chọn I1 và I3 như hình vẽ.
Tacómốiquanhệgiữadòngvòngvàdòngnhánhnhưsau: iL =
I1;l3=iC=Cu̇C
Viếtphươngtrìnhviphânmôtảmạchởchếđộxáclậpmới(Kđóng). Phương trình
1:
dl1
L +Rl +R(l−l)=0
11 2 1 3
dt
Li̇̇L+R1iL+R2(iL− Cu̇C)=0
Li̇̇L+(R1+R2)iL−R2Cu̇C=0 (1)
Phươngtrình2:
uC+ R3l3 + R2(l3− l1)=E uC +
R3Cu̇C + R2(Cu̇C − iL) = E uC+
(R3C+R2C)u̇C−R2iL=E
R2
u̇C= 1 iL − uC+ 1
E (2)
(R3+R2)C (R3+R2)C (R3+R2)C
Thay(2) vàophươngtrình (1)tacó:
Li̇̇L R2 1
1
+(R1 +R2 )iL −R2 C( (R3+R2)CL i − (R3+R2)CC u + (R E)=0
3+R2)C
121
R22 R2(R3 R2(R3
Li̇̇L+ (R+1 R− 2 )i+ uC− E=0
(R3 + R2)
R1 R2R3 +R2) +R 2)
L
R2
i =(−
R2 − )i− u + E (3)

L
L (R3+R2)L L
(R3+R2)L C (R3+R2)L
Kếthợp (2),(3)tacóhệphươngtrìnhtrạngthái:
R1 R2R3 R2 R2
i̇L ⎡− − − ⎤ ⎡ ⎤
( )=⎢ (R3+R2)L 1 2)L⎥ ( iL )+⎢(R3+R2)L⎥u
(R3+R
R 1
L
u̇C ⎢ 2 uC ⎢ ⎥
− ⎥
⎣ (R3+R2)C ⎣(R3+R2)C⎦
(R3+R2)C⎦
Vậycác matrậncủahệphươngtrìnhtrạngtháilà:
R1 R2R3 R2
⎡− L − − ⎤
A= ⎢ (R3+R2)L (R3+R2)L

⎢ R2 1 ⎥
⎣ ( )
R3+R2 C − (R 3 +R 2)C⎦

R2 ⎤

(R3+R2)L
B=⎢ 1

⎢ ⎥
⎣(R3+R2)C⎦
-Chạychươngtrìnhtrên Matlab:
symsR1R2R3LCreal syms iL(t) uC(t) s diL(t)=diff(iL(t),t);
duC(t)=diff(uC(t),t);
E(t)=sin(t);% Voltage eq1(t)=diL(t)+((R1/L)+(R2*R3)/(L*(R2+R3)))*iL(t)+R2*uC(t)/(L*(R
eq2(t)=duC(t)-R2*iL(t)/(C*(R2+R3))+uC(t)/(C*(R2+R3))- E(t)/(C*(R2+R3));
L1(t)=laplace(eq1(t),t,s)
L2(t)=laplace(eq2(t),t,s) syms LiL LuC
NiL(t)=subs(L1(t),{R1,R2,R3,L,C,iL(0),uC(0)},{4,2,3,1.6,1/4,0,0})
NuC(t)=subs(L2(t),{R1,R2,R3,L,C,iL(0),uC(0)},{4,2,3,1.6,1/4,0,0})
NiL(t)=subs(NiL(t),{laplace(iL(t),t,s),laplace(uC(t),t,s)},{LiL,LuC})
122
NiL(t)=collect(NiL(t),LiL) NuC(t)=subs(NuC(t),{laplace(iL(t),t,s),laplace(uC(t),t,s)},{
iL(t)=ilaplace(LiL,s,t) uC(t)=ilaplace(LuC,s,t) subplot(2,1,1) fplot(iL,[0,15]) title('Curr
xlabel('t')grid subplot(2,1,2)
fplot(uC,[0,15]) title('Charge') ylabel('uC(t)') xlabel('t')
grid

-Kếtquảchạychươngtrìnhtrên Matlab:
L1(t)=
s*laplace(iL(t),t,s)-iL(0)+(laplace(iL(t),t,s)*(R1*R2+R1*R3+
R2*R3))/(L*(R2 + R3)) - R2/(L*(R2 + R3)*(s^2 + 1)) +
(R2*laplace(uC(t),t,s))/(L*(R2+R3))
L2(t) =
s*laplace(uC(t),t,s)-uC(0)+laplace(uC(t),t,s)/(C*(R2+R3))-
1/(C*(R2+R3)*(s^2+1))-(R2*laplace(iL(t),t,s))/(C*(R2+R3)) NiL(t)
=
s*laplace(iL(t),t,s)-1/(4*(s^2+1))+(13*laplace(iL(t),t,s))/4+ laplace(uC(t), t,
s)/4
NuC(t)=
s*laplace(uC(t),t,s)-4/(5*(s^2+1))-(8*laplace(iL(t),t,s))/5+ (4*laplace(uC(t),
t, s))/5
NiL(t)=
(13*LiL)/4+LuC/4+LiL*s-1/(4*(s^2+1)) NiL(t)
=
123
(s+13/4)*LiL+LuC/4-1/(4*(s^2+1)) NuC(t)
=
(4*LuC)/5-(8*LiL)/5+LuC*s-4/(5*(s^2+1)) NuC(t) =
(s+4/5)*LuC-(8*LiL)/5-4/(5*(s^2+1)) LiL =
(5*s)/((s^2+1)*(20*s^2+81*s+60)) LuC
=
(4*(4*s+15))/((s^2+1)*(20*s^2+81*s+60)) iL(t) =
(200*cos(t))/8161 + (405*sin(t))/8161 - (200*exp(-
(81*t)/40)*(cosh((1761^(1/2)*t)/40) +
(54*1761^(1/2)*sinh((1761^(1/2)*t)/40))/587))/8161
uC(t) =
(3696*sin(t))/8161 - (4220*cos(t))/8161 + (4220*exp(-
(81*t)/40)*(cosh((1761^(1/2)*t)/40) +
(3233*1761^(1/2)*sinh((1761^(1/2)*t)/40))/123857))/8161

Hình3.14b.Dạng sóngquáđộvídụ3 giảitheo Laplace


*Vídụ4mạchquáđộtheoLaplace:
Cho mạch điện như hình vẽ, biết: R 1 = 4Ω; R2 = 2Ω; R3 = 3Ω; L = 1,6H;C
=1/4F; E(t) =15 V(DC).Tạithờiđiểmt =0thìkhóa Kđóng.Tính dòngđiện và điện
áp quá độ qua cuộn dây và tụ điện.

124
Hình3.15a.Mạchquáđộvídụ4 giảitheo Laplace
- Phươngtrìnhtrạngtháicủamạchgiốngvídụ3
- Chạychươngtrìnhtrên Matlab:

symsR1R2R3LCreal syms
iL(t) uC(t) s
diL(t)=diff(iL(t),t);
duC(t)=diff(uC(t),t);
E=15;% Voltage eq1(t)=diL(t)+((R1/L)+(R2*R3)/(L*(R2+R3)))*iL(t)
+R2*uC(t)/(L*(R2+ R3))-R2*E/(L*(R2+R3));
eq2(t)=duC(t)-R2*iL(t)/(C*(R2+R3))+uC(t)/(C*(R2+R3))-
E/(C*(R2+R3));
L1(t)=laplace(eq1(t),t,s)
L2(t)=laplace(eq2(t),t,s)
syms LiL LuC
NiL(t)=subs(L1(t),{R1,R2,R3,L,C,iL(0),uC(0)},{4,2,3,1.6,1/4,0,0})
NuC(t)=subs(L2(t),{R1,R2,R3,L,C,iL(0),uC(0)},{4,2,3,1.6,1/4,0,0})
NiL(t)=subs(NiL(t),{laplace(iL(t),t,s),laplace(uC(t),t,s)},{LiL,LuC})
NiL(t)=collect(NiL(t),LiL) NuC(t)=subs(NuC(t),
{laplace(iL(t),t,s),laplace(uC(t),t,s)},{LiL,LuC})
NuC(t)=collect(NuC(t),LuC)
[LiL,LuC]=solve(NiL(t),NuC(t),LiL,LuC)
iL(t)=ilaplace(LiL,s,t)
uC(t)=ilaplace(LuC,s,t)
L=1.6;
R1=4;

125
x=diff(iL(t),t) uR2(t)=R1*iL(t)+L*x subplot(3,1,1) fplot(iL,[0,15]) title('Current') ylabel('iL
grid subplot(3,1,2) fplot(uC,[0,15]) title('Charge') ylabel('uC(t)') xlabel('t')
grid subplot(3,1,3) fplot(uR2,[0,15]) title('Resister') ylabel('u_R_2(t)') xlabel('t')
grid

-Kếtquảchạychươngtrìnhtrên Matlab:
L1(t)=
s*laplace(iL(t), t, s) - iL(0) + (laplace(iL(t), t, s)*(R1*R2 + R1*R3 +
R2*R3))/(L*(R2+R3))-(15*R2)/(L*s*(R2+R3))+(R2*laplace(uC(t), t,
s))/(L*(R2 + R3))
L2(t)=
s*laplace(uC(t),t,s)-uC(0)-15/(C*s*(R2+R3))+laplace(uC(t),t,
s)/(C*(R2+R3))-(R2*laplace(iL(t),t,s))/(C*(R2+R3)) NiL(t)
=
s*laplace(iL(t),t,s)-15/(4*s)+(13*laplace(iL(t),t,s))/4+laplace(uC(t), t, s)/4
NuC(t)=
s*laplace(uC(t),t,s)-12/s-(8*laplace(iL(t),t,s))/5 +(4*laplace(uC(t),t, s))/5

126
NiL(t)=
(13*LiL)/4+LuC/4+LiL*s-15/(4*s)
NiL(t) =
(s+13/4)*LiL+LuC/4-15/(4*s) NuC(t) =
(4*LuC)/5-(8*LiL)/5+LuC*s-12/s
NuC(t) =
(s+4/5)*LuC-(8*LiL)/5-12/s LiL =
75/(20*s^2+81*s+60)
LuC =
(60*(4*s+15))/(s*(20*s^2+81*s+60))
iL(t) =
(50*1761^(1/2)*exp(-(81*t)/40)*sinh((1761^(1/2)*t)/40))/587
uC(t) =
15-15*exp(-(81*t)/40)*(cosh((1761^(1/2)*t)/40)+
(49*1761^(1/2)*sinh((1761^(1/2)*t)/40))/1761)
x=
(15*exp(-(81*t)/40)*cosh((1761^(1/2)*t)/40))/4-(405*1761^(1/2)*exp(-
(81*t)/40)*sinh((1761^(1/2)*t)/40))/2348
uR2(t) =
6*exp(-(81*t)/40)*cosh((1761^(1/2)*t)/40)+(38*1761^(1/2)*exp(-
(81*t)/40)*sinh((1761^(1/2)*t)/40))/587

Hình3.15b.Quátrìnhquávídụ4nguồnDCgiảitheo Laplace
127
c. Nộidungthựchành
*Nộidungthựchành1:
Cho mạch điện như hình vẽ. Biết: R = 10 Ω; L = 1/32 H; C = 50 µF; I s =
2 A.Tạit=0đóng khóaK.Tínhdòngđiện quá độ quađiệntrởR khiđóng khóa K theo
Laplace.

Hình3.16.Mạchđiệnquáđộthựchành1theoLaplace
* Nộidungthựchành2:
Cho mạch điện như hình vẽ, các thông số như trong mạch điện.Tại t = 0
mở khóa K. Tính dòng điện quá độ qua tụ điện khi mở khóa K theo Laplace.

Hình3.17.Mạchđiệnquáđộthựchành2theoLaplace
* Nộidungthựchành3:
Cho mạch điện như hình vẽ, các thông số như trong mạch điện. Tại t = 0
đóng khóa K. Tính dòng điện quá độ i(t) điện khi đóng khóa K trong 10(ms)theo
Laplace.

Hình3.18.Mạchđiệnquáđộthựchành3theoLaplace
d. Câuhỏi
Phântíchkếtquảthuđượccủamạchđiệntrongcácnộidungthực hành?

128
Chương4
MÔPHỎNGMẠCHĐIỆNTUYẾNTÍNHỞCHẾĐỘQUÁĐỘ
BẰNG SIMULINK
4.1. ĐạicươngvềSimulink
Simulink là chương trình mở rộng của MATLAB cho phép biểu thị các
hàm toán học, các quá trình và các hệ thống dưới dạng sơ đồ khối, nhằm mô
phỏngquátrìnhhoạtđộngcủacáchệthốngnày.Simulinkđặcbiệthiệuquả
đốivớisựkhảosátcáchệthốngđộng,tuyếntínhhoặcphituyến.Đểmô phỏng các hệ
thống, Simulink được trang bị một thư viện rất phong phú với
nhiềukhốichứcnăngđadạng.Hơnthếnữa,ngườisửdụngcòncóthểtạo
thêmcáckhốichứcnăngđặctrưngcủariêngmìnhbổsungchoSimulink trong quá trình
tính toán.
Để khởi động Simulink, sau khi đã có cửa sổ lệnh (command windows)
của MATLAB, bạn chỉ cần đánh lệnh Simulink, khi đó một cửa sổ thư viện
Simulink sẽ được mở ra dưới dạng hình 4.1:
Phần cửa sổ bên trái là danh sách các thư viện như: Simulink, Aerospace
Blockset, Communication BI, SimpowerSystem... Nếu kích chuột trái vào tên
các thư viện tương ứng, chẳng hạn “Simulink”, thì sẽ có một danh mục các thư
viện con hiển thị ở bên phải cửa sổ (hình 4.1).

Hình4.1.Cửasổthưviện Simulink

129
4.2. Cácthưviệntrong Simulink
4.2.1. ThưviệnMathOperations

Hình4.2.CửasổthưviệnMath Operations
Nếu tiếp tục kích chuột trái vào tên thư viện con (bên trái) hoặc kích đúp
vào biểu tượng thư viện “Math Operations” (bên phải), thì các khối chức năng
của thư viện này sẽ hiển thị trên màn hình (hình 4.2). Các khối chức năng được
hiển thị dưới dạng mô hình có các đầu vào và đầu ra, tên của các khối và các
hàmtruyền đạt,hoặcđặctính củakhốibiểu thịởtrung tâmkhối.Chúngta sẽxét một số
khối cơ bản:
4.2.1.1. KhốiSumhoặcAdd

Hình4.3.HộphộithoạikhaibáokhốiSum

130
Khối Sum (Add) cho phép cộng các tín hiệu đầu vào.Tín hiệu vào có thểlà
số vô hướng (scalar) hoặc vectơ.Có thể có một hoặc nhiều tín hiệu đầu vào.Nếu
ở đầu vào có nhiều tín hiệu hỗn hợp, thì khối Sum sẽ xác định tổngtừng phần
tử.Nếu ở đầu vào có một tín hiệu dạng vectơ, thì Sum sẽ cộng thành số scalar ở
đầu ra.Để khai báo các tham số của khối ta kích đúp vào giữa biểu tượng, khi đó
sẽ có hộp thoại được mở ra (xemhình 4.3).Thường mặc định Sum có hai đầu
vào, để khai báo số lượng đầu vào cần gõ vào danh sách các dấu + hoặc – tùy
vào dấu của tín hiệu đầu vào.
4.2.1.2. KhốiProductvàDotProduct
Khối Product thực hiện phép nhân/chia từng phần tử tín hiệu vào.Sốlượng
các đầu vào được khai báo ở hộp hội thoại, xuất hiện khi ta kích đúp vào biểu
tượng (hình 4.4). Nếu chọn ở ô Multiplication là Element-wise thì kết quả đầu ra
sẽ là tích/thương của từng phần tử tín hiệu vào kiểu như phép tính nhân vectơ:
y=x1*x2.Nếu chỉ có một đầu vào tín hiệu vectơ, thì kết quả đầu ra sẽ là tích
cácphần tửvectơ.Nếuởô Multiplicationchọn Matrix,giảdụvớibatínhiệu vào là các
ma trận A, B, C, thì kết quả ở đầu ra sẽ là ABC-1.
Khối DotProductcho phépxácđịnhtíchvôhướngcủacác vecto đầuvào.
Giátrịđầu ratươngđươngvớiphépy=sum(conj(x1).x2).

(b)

(a)
Hình4.4.HộphộithoạikhaibáokhốiProduct(a)vàDotProduct(b)
4.2.1.3. KhốiGainvàSlideGain
Khối Gain để khuếch đại tín hiệu đầu vào.Tham số khuếch đại có thể
làmộtsốhoặcmộtbiến(nếulàbiếnthìphảitồntạitrongMATLAB
131
workspace).Khi khai báo, tại ô Multiplication, ta lựa chọn phép tính phù hợp.
PhépnhâncủabiếnvớiGainđượcthựchiệntheophươngthứcnhântừng phần tử hay
nhân ma trận…
Khối Slide Gain cho phép thay đổi hệ số khuếch đại vô hướng trong quá
trình mô phỏng từ giá trị nhỏ nhất (ô Low) đến giá trị lớn nhất (ô High).

(a) (b)
Hình4.5.Hộphộithoạikhai báokhốiGain(a)SlideGain(b)
4.2.1.4. KhốiMathFunctionvàTrigonometricFunction
Các khối Math Function và Trigonometric Function cho phép ta chọn các
hàm toán học và lượng giác thích hợp để giải các bài toán đại số.
4.2.1.5. KhốiAlgebraicConstraint
Khối Algebraic Constraintcho ta thực hiện vòng lặp bằng cách cưỡng tín
hiệu vào khối về giá trị 0 và xuất ở đầu ra một biến z, biến này sẽ tác độngngược
trở lại đầu vào thông qua một vòng hồi tiếp thích hợp. Ở ô Initial guess của hộp
thoại ta khai báo giá trị khởi đầu. Trường hợp đầu ra có nhiều nghiệm, thì
thaythế một số dựđoán,ta phải khai một vecto với số phần tửtương ứng với số
nghiệm.
4.2.2. Thưviện Sources
Nếu ta nháy đúp vào biểu tượng Sources thì sẽ có một thư viện con với
các khối chức năng xuất hiện trên màn hình (hình 4.6). Ở đây bao gồm các
nguồn tín hiệu, các khối cho phép nhập dữ liệu từ file hoặc từ Workspace. Sau
đây ta điểm một số khối quan trọng:

132
Hình4.6.Cáckhốichứcnăngthuộcthưviện Sources.
4.2.2.1. KhốiStep,RampvàClock
Hai khối Step và Ramp cho phép tạo ra các tín hiệu dạng bậc thang (Step)
hoặc dạng dốc tuyến tính (Ramp). Đối với hàm Step ta cần khai báo thời điểm
bắt đầu (Step time) và các giá trị đầu/cuối (initial value)/(final value) của tínhiệu
nhảy. Đối với khối Ramp ta cần khai báo độdốc (slop), thời điểmxuất phát (start
time) và giá trịxuấtphát (initial output) củatínhiệu đầu ra (xemhình 4.7). Khối
Clock cung cấp chuỗi thời gian t dưới dạng vectơ.

(a) (b)
Hình4.7.HộphộithoạikhaibáokhốiStep(a)vàRamp(b)

133
4.2.2.2. KhốiConstant
Khối Constant biểu thị một hằng số, có thể là số thực hoặcsố phức, có thể
là số vô hướng (Scalar) hoặc vectơ.
NếulàsốvôhướngthìkhaibáotađiềngiátrịvàoôConstantvalue, nếu là vecto
thì khi khai báo ta chọn ô Interpret vecto parameters as 1-D (hình 4.8).
Hình4.8.Hộphộithoạikhai báoConstant

4.2.2.3. KhốiFromWorkSpacevàkhốiFrom File


Khối From Workspace cho phép lấy cửa sổ Workspace để sử dụng mô
hình mô phỏng Simulink. Số liệu đưa vào cần phải khai báo theo đúng mẫu yêu
cầu của Simulink.
Khối From File cho phép sử dụng số liệu từ một MAT.file có sẵn. Số liệu
trong MAT.file phải có định dạng theo quy định. Các số liệu ở MAT.file có thể
được lưu giữ từ kết quả mô phỏng trước đó.
4.2.3. Thưviện Sinks
Thư viện Sinks bao gồm các khối có vai trò xuất kết quả tính toán (hình
4.9).Các kết quả có thể được thể hiện bằng chữ số hoặc đồ thị trên các hệ tọa độ
đề các. Các kết quả cũng có thể được xuất vào cửa sổ MATLAB Workspace
hoặc lưu giữ ở dạng file tương ứng.

134
Hình4.9.CáckhốichứcnăngcủathưviệnSink
4.2.3.1. KhốiScope
Khối Scope cho phép xuất kết quả tính toán của quá trình mô phỏng.Nếu
ta kích đúp vào biểu tượng khối, thì cửa sổ Scope mở ra (hình 4.10a).Các chức
năng của của sổ này được thể hiện ở hình 4.10c.Nếu kích chuột trái vào nút
parameter, thì sẽ có một hộp hội thoại Scope được mở ra (hình 4.10b).Tại trang
General ta có thể đặt các chế độ cho các trục.Nếu đặt Number of Axes lớn hơn1,
thì sẽ có nhiều đồ thị con được vẽ. Tại ô Time Range nếu ta điền một số cụ thể,
thì đồ thị sẽ được biểu thị đến thời điểm tương ứng do giá trị đặt trước xác định.
Tại ô Sampling, nếu chọn chế độ Decimation, tức là ta đã chọn chế độ loại
bỏ,chẳnghạn nếughisố10,thìcứđọc10giátrị,Scopemớihiển thị1 giá trị,có nghĩa là
loại bỏ 9 giá trị. Nếu ta đánh dấu vào ô floating scope, có nghĩa là tayêu cầu hiển
thị đồng thời nhiều tín hiệu.

(a) (b)
Hình4.10.CửasổScope(a)vàhộphộithoạikhaibáokhốiScope(b)

135
Hình4.10c.Cácchứcnăngcủacửasổ Scope
- Print: In nội dung cửa sổ;
-Parameter:Đặtcácthamsố;
- Zoom: Thay đổi tỷ lệ của các trục đồ thị;
-ZoomX-axis:Thayđổitỷlệcủatrụcx; -
Zoom Y-axis: Thay đổi tỷ lệ của trục y;
- Autoscan: Tự độngđặt tỷlệ tối ưu cho các trục;
-Save currentaxes setting: Ghi tỷlệhiệntại của các trục;
-Restoresavedaxes:Khôiphụclạitỷlệtrướcđó củacáctrục; -
Floating scope: Chế độ loại bỏ giá trị;
-Lockaxesselecting:Khóasựlựachọntrục; -
Signal selection: Chọn tín hiệu.
Một khi đã lựa chọn chế độ floating scope, thì các đường tín hiệu đến
scopesẽtựđộng ẩn đi.Cáctín hiệuđánhdấu sẽđượchiển thịở kếtquả. Để đánh dấu
các kết quả ta làm như sau: Nhấn nút Shift, đồng thời nháy chuột trái vàocác
đường tín hiệu cần đánh dấu. Sau khi khai báo xong cần nhấn OK để Simulinks
chấp nhận và đóng hộp hội thoại hoặc nhấn Apply sẽ được chấp nhận mà không
đóng hộp hội thoại.
4.2.3.2. KhốiXYGraph
Khối XY Graphcho phép hiển thị hai tín hiệu vô hướng đầu vào trên hệtọa
độ xy dưới dạng đồ thị.Các giới hạn của các trục x và y được khai báo trong hộp
hội thoại hình 4.11.
4.2.3.3. KhốiTo Workspace
Khối To Workspace cho phép gửi số liệu ở đầu vào của khối tới mỗi
trường Workspace của MATLAB. Kích đúp vào biểu tượng của khối, ta sẽnhận
được hộphội thoại để khai báo (hình 4.11b).Tại ô Save format, ta chọn Arrayđể
xét đén toàn bộ khoảng giá trị mô phỏng và ta sẽ phải nhập toàn bộ cho tham số
Limit data poit to last. Cấu trúc Structure with time do khối To Workspace ghi
gồm hai mảng time và signal.
Nếu ta chọn Structure, thì mảng time sẽ là mảng trống. Tham số
Diminationquyếtđịnhbaonhiêugiátrịbịbỏquakhivẽđồthị.ÔSampling

136
Time để khai báo một chu kỳ (tính bằng s) cho quá trình gửi số liệu đến
Workspace. Nếu ở đây vẫn giữ giá trị mặc định -1, thì bước số liệu sẽ do Solver
tự quyết định.

(a) (b)
Hình4.11.HộphộithoạikhaibáoXYGraph(a)vàToWorkspace(b)
4.2.3.4. KhốiDislay
Khối Display cho phép hiển thị kết quả tính toán dưới dạng số liệu.Đểkhai
báodạng thức xuất, ta kích đúp chuộttrái vàobiểu tượng.Hộp hội thoại của
Display được mở ra. Tại ô format ta có thể các dạng thức xuất thích hợp: Nếu
muốn có hai số thập phân sau dấu phẩy, ta khai format bank. Nếu muốn có bốn
chữ số thập phân sau dấu phẩy, ta khai format short…

Hình4.12.HộphộithoạikhaibáokhốiDisplay
4.2.3.5. KhốiToFile
Khối To File cho phép lưu trữ số liệu (mảng hoặc ma trận) ở đầu vào của
khối cùng với vecto thời gian dưới dạng MAT.file. Dữ liệu do To File gửi sẽ
được From File đọc mà không cần xử lý. Để khối From File đọc được mảngbình
thường, ta cần chuyển vị cho mảng. Trong hộp hội thoại Block Parameters của
khối To File ta có thể cài đặt tên MAT.file và Array.

137
4.2.4. ThưviệnSignalsvà Subsystems
Để dễ dàng bao quát, trong quá trình xây dựng sơ đồ mô phỏng Simulink
ta có thể tạo ra các hệ thống con, có hai cách làm như sau:
Cách thứ nhất là sử dụng khối Subsystem: Sau khi gắp khối Subsystems
từ thư viện Commonly Used Block sang cửa sổ làm việc, ta kích đúp chuột trái
vào biểu tượng khối, khi đó một cửa sổ Subsystem trống được mở ra đã có sẵn
haikhốiIn1vàOut1.Tiếp đó tagắp cáckhốicần thiếtđểtạo thành hệthốngcon thả
vào cửa sổ này. Sau khi kết nối các hệ thống ta sẽ được một hệ thống con.Hệ
thống này chính là nội dung của khối Subsystem. Việc cuối cùng là gắp các khối
Import và Outport và kết nối với khối Subsystem để có được một sơ đồ mô
phỏng hoàn hảo.
Cách thứhai là dùng chuột đánh dấu tất cảcác khối, kể cả các đường nối
mà ta muốn gom thành một hệ thống (ấn chuột trái và di bao toàn bộ các khối
cần đánh dấu). Sau đó chọn Create Subsystem trong menu Edit. Khi đó tất cảcác
khối đã được đánh dấu sẽ được Simulink thay thế bởi một Subsystem. Hệ thống
sẽ tự động kết nối hệ thống con với các khối Import và Outport. Cách làm này
đơn giản và thuận tiện hơn cách thứ nhất.
4.2.4.1. KhốiSubsystem,Inportvà Outport
Khối Subsystem có chức năng tạo ra hệ thống con trong một mô hình của
Simulink (như đã nói ở mục a trên đây). Hệ thống còn được thiết lập với sự trợ
giúp của các khối Inport và Outport (thường là gán theo số thứ tự của khối bắt
đầu từ 1).
Các khối inport/outport là các khối vào/ra của hệ thống. Số thứ tự củakhối
có thể được gán bằng cách điền vào ô Inport number ở hộp thoại Block
Parameter. Tại ô Port with ta có thể khai báo độ rộng của tín hiệu vào.
4.2.4.2. KhốiEnablevàTriger
Các khối Enable và Triger cho phép tạo ra các hệ thống con có khả năng
khởi động có điều kiện. Khi được gán một trong hai khối trên, thì Subsystem sẽ
tự động xuất hiện thêm một đầu vào điều khiển đặc biệt, nơi tín hiệu Enable(cho
phép kích hoạt) hoặc Triger (kích hoạt xung) được đưa tới. Lưu ý: chỉ một trong
hai khối trên được sử dụng trong một Subsystem.
4.2.4.3. KhốiMux,Demux,BusSelector, Selector
Khối Mux có vai trò tập hợp (chập) các tín hiệu đưa tới. Tại ô Number of
inputstacóthểkhaibáosốlượngvàkíchcỡ củacáctín hiệuvào,chẳnghạnnếu ta[322-
1],thìcónghĩalàcó4đầuvào:Đầuthứnhấtcóbềrộnglà3,đầuthứ
138
hai và ba có bề rộng là 2, còn đầu thứ tư chưa được xác định vì có giá trị khai
báo là -1 (hình 4.13a).
Ngược với khối Mux,khối Demux có vai trò tách các tín hiệu mà đã được
chập lại trước đó.Số lượng tín hiệu tách được khai báo trong hộp hội thoại. Ví
dụ:Ta khai số 3, thì một cách tự động, sẽ có 3 đầu ra của khối (hình 4.13b). Nếu
chọn Bus selection, thì Demux chỉ chấp nhận tín hiệu Bus ở đầu vào khối.

(a) (b)
Hình4.13.HộphộithoạikhaibáokhốiMux(a)vàDemux(b)
Khối Bus selection cho phép tái tạo lại các tín hiệu từ một Bus tín hiệu,
đồngthờigomchúngthànhcáctínhiệu riêngbanđầu. Tronghộp hộithoạisẽ có danh
sách của các tín hiệu nằm trong Bus (hình 4.14), khi nhấn nút Select ta sẽ chọn
các tín hiệu cần tách ra khỏi Bus và gom lại như ban đầu. Vai trò của khối
Selector cũng giống khối Bus Selector, nhưng khối Selector cho phép lựa chọn
linh hoạt hơn so với khối đầu.

Hình4.14.HộphộithoạikhaibáokhốiBus Selector

139
4.2.5. Thưviện Continuous
Trong thư viện Continuous có chưa các khối đặc trưng cho các quá trình
động học.
4.2.5.1. KhốiIntegratorvàDerivative
Khối Integrator cho phép lấy tích phân tín hiệu vào. Các giá trị ban đầu
được khai báo trực tiếp qua hộp hội thoại hoặc gián tiếp qua giá trị Internal ở ô
Initinal condition source (hình 4.15). Nếu chọn External, thì một cách tự động,sẽ
xuất hiện thêmmột đầuvào của khối. Tại ô External resettacó thểchọndạng tín
hiệu reset là dạng tín hiệu tại đầu ra của khối được tín hiệu bên ngoài lập về.
Nếu ta chọn một tín hiệu resing – sườn lên, falling – sườn xuống... thì một cách
tự động sẽ có thêm một đầu vào dành cho tín hiệu reset.

Hình4.15.HộphộithoạikhaibáokhốiIntegrator
Nếu muốn giới hạn biên độ tín hiệu ra, thì ta cần đánh dấu vào ô Limit
output và khai báo giá trị tối đa tại dòng Lower hoặc Upper saturation limit. Để
lấy tín hiệu bão hòa ta kích hoạt ô Show saturation port: 1 là bão hòa dương, -1
làbãohòaâmvà0làgiátrịgiữacácngưỡngbãohòa.KíchhoạtôShow
statechophéptríchtínhiệutrạngtháicủakhối,khiđósẽcóthêmmộtđầu ra xuất hiện.
KhốiDeravativechophéplấyđạo hàmtínhiệu đầuvào.Tínhiệuđầu racó dạng
du/dt. Giá trị ban đầu của biến ra là 0.

140
4.2.5.2. KhốiState-Space
Khối State-space biểu thị mô hình trạng thái một hệ tuyến tính, mô tả bởi
hệ phương trình:
x = Ax + Bu
y= Cx+ Du
Trong đó:
A,B,C,Dlàcác matrận trạngthái.
CácgiátrịcủaA,B,C,Dđượckhaibáo tronghộphộithoại(hình4.16).

Hình4.16.HộphộithoạikhaibáokhốiState-Space
4.2.5.3. KhốiTranferFunctionvàZero-Pole

(a) (b)
Hình4.17.Hộphộithoạikhaibáokhối
Transfer Fn (a) và Zero – Pole (b)
Khối Tranfer Function cho phép mô hình hóa hàm truyền đạt của một hệ
tuyếntính.Khikhaibáotakhaibáocáchệsốcủađathứctửsố(numerator)và

141
mẫusố(denominator)(hình4.17a)theothứtựgiảmdầncủađạilượngs.
Ngược với khối Tranfer Function, khối Zero-Pole tạo nên từ các tham số
Zero, Pole và Gain một hàm truyền đạt dưới dạng số hóa theo điểm không (trên
tử số), điểm cực (dưới mẫu số). Việc khai báo được thực hiện qua hộp hội thoại
hình 4.17b.
4.2.6. Thưviện SimPowerSysstems
Thư viện Specialized Technology sẽ xuất hiện trên màn hình khi ta kích
chuột vào tên SimPowersystems trong Simscape → SimPowwerSystems →
Specialized Technology (hình 4.18).

Hình4.18.CácthưviệnconcủathưviệnSpecialized Technology
ThưviệnSimPowerSystemscótấtcả7thưviệnconlà:
1. ApplicationLibraries:Thưviệnứngdụng;
2. ElectricalSource:Nguồn điện;
3. Elements:Cácphầntử;
4. ExtraLibrary:Thưviệnngoại(gồmcácthiếtbịkỹthuậtđiệnphụ trợ);
5. Machines:Máyđiện;
6. Measurements:Đolường;

142
7. PowersElectronics:Điệntửcông suất;
8. Powerguidùngđểphântíchsơđồđiện.
Các khối chức năng của các thư viện con cũng có các cấu trúc tương tự
như các khối chức năng khác. Dưới đây giới thiệu sơ lược các thư viện con của
SinPowerSystems:
Thưviện Application-Thưviệnứngdụng:
Thư viện Electrical Source: Thư viện nguồn điện bao gồm các nguồndòng
và áp có và không có điều khiển.
ThưviệnExtraLibrary:Thưviệnngoạicóchứacácthiếtbịphụtrợ
khácđadạngvàphongphúnhưthiếtbịđiềukhiển,thiếtbịkiểmtra,thiếtbị đo lường…
Thư viện Elements: Thư viện các phần tử bao gồm rất nhiều các phần tử
thụ động RLC của các mạch mắc nối tiếp và song song, các mạch từ, máy biến
áp, đường dây, thiết bị đóng cắt…
Thư viện Machines: Thư viện máy điện có chứa các mô hình máy dị bộ,
máy điện đồng bộ, máy điện một chiều, các cơ cấu truyền động của máy phát
(tuabin hơi và tuabin nước với các hệ thống điều khiển)…
Thư viện Measurements: Trong thư viện đo lường gồm có các khối đo
nhiều chức năng, đo dòng, đo áp trong mạng điện ba pha, đo điện trở và thiết bị
đo đa năng cho phép đo trực tiếp không cần đến các tham số điện. Các kết quả
đo được truyền đến các cơ cấu hiển thị (Scope, Display) hoặc đưa đến đầu vào
của các khối Simulink khác.
Thư viện Power Electronics: Trong thư viện điện tử công suất có các mô
hìnhthiếtbịbándẫn(diod,triod,thyristor,transistor),cáccầumôphỏngvạnnăng
chophépmôphỏngchỉnhlưumột,haihoặcbahoặcsơđồnghịchlưu…
4.3. SoạnthảosơđồmôphỏngSimulink
Để soạn thảo sơ đồ mô phỏng Simulink, trước hết cần mở cửa sổ mô
phỏng bằng cách kích vào biểu tượng mở một file mới, hoặc vào
File/New/Model. Khi đó một của sổ làm việc Untiled được mở ra, các sơ đồ mô
phỏng sẽ được xây dựng trong cửa sổ này. Sau khi soạn thảo, file mới này sẽ
được lưu giữ bằng lệnh Save As bằng một cái tên phù hợp với nội dung trongfile
và có đuôi là .mdl.
Việc soạn thảo sơ đồ mô phỏng bằng được thực hiện với các thao tác cơ
bản sau:

143
4.3.1. Tạocáckhốichứcnăng
Các khối chức năng được gắp, thả từ các thư viện con sang cửa sổ làm
việc bằng cách nhấp chuột trái vào khối cần gắp, giữ nguyên trạng thái ấn như
vậy để di sang cửa sổ làm việc rồi thả ra vị trí thích hợp. Các khối chức năng
tương tự có thể đực tạo ra bằng lệnh copy thông thường.
4.3.2. Nốiliênkếtcáckhốichứcnăng
Để nối các khối lại với nhau theo sơ đồ thuật toán xác định, ta ấn chuột
trái vào đầu ra của khối, vẫn giữ nguyên trạng thái ấn, đi đến đầu cần nối và thả
ra, khi đó đường nối sẽ tự động xuất hiện.
4.3.3. Điềnvănbảntrênsơđồ
Để ghi chú thích trên sơ đồ ta kích đúp chuột trái tại vị trí cần ghi, khi đó
sẽ có một ô vuông xuất hiện, nơi ta có thể ghi các dòng chữ theo ý muốn. Ta
cũng có thể thay đổi tên các khối bằng cách kích chuột trái vào ô chữ cần thay
đổi và sửa lại cho phù hợp.
4.3.4. Địnhdạngkhối
Muốn định dạng khối ta kích chuột phải vào đối tượng cần định dạng, khi
đó sẽ có một cửa sổ định dạng khối xuất hiện (hình 4.19), ta có thay đổi kích cỡ,
kiểu chữ, vị trí tên khối, có thể xoay khối theo chiều thích hợp. Chẳng hạn để
thay chiều của khối đi 180°, ta chọn Format/ Rotate Block, sau khi nhấn chuột
trái vào nút Rotate Block khối được chọn sẽ quay đi một góc 90°, nếu muốn
quay 180° ta cần lặp lại phép quay hai lần.

Hình4.19.Địnhdạngkhối Simulink

144
4.3.5. Địnhdạngđườngnối
Muốn định dạng đường nối ta kích chuột phải vào đường được chọn, cửa
sổ định dạng sẽ được mở ra và có thể thực hiện các thao tác cần thiết như copy,
xóa bỏ…
4.3.6. Điềncácthamsốcho khối
Để điền các dữ liệu cho khối ta kích đúp vào biểu tượng khối, khi đó sẽ
có hộp thoại xuất hiện.Ví dụ:Đối với khối Step Input, sau khi ta kích đúp chuột
tráivào khốinàythìhộp hộithoạiđượcmởra,tađiền cácthôngtin cầnthiếtvào các vị
trí tương ứng và ấn Ok để được chấp nhận và đóng cửa sổ, hoặc ấn Apply để
được chấp nhận và vẫn giữ nguyên cửa sổ.
4.3.7. Hiệuchỉnhsơđồ
Sơ đồ mô phỏng sau khi được xây dựng, có thể điều chỉnh cho phù
hợp.Muốn thay đổi vị trí của các khối và đường nối ta chỉ cần ấn chuột trái vào
đối tượng, giữ nguyên trạng thái ấn và di dời đến vị trí cần thiết.Để xóa đối
tượng hoặc đường nối, sau khi kích chuột trái vào đối tượng ta dùng lệnh xóa
thông thường để loại bỏ.
4.4. Chuẩnbịvàchạychươngtrìnhmôphỏng Simulink
4.4.1. Đặtcácthamsốmôphỏngvàthuậtgiải
Trước khi cho chạy chương trình mô phỏng Simulink, cần phải đặt các
tham số mô phỏng và thuật giải. Để đặt các tham số mô phỏng và thuật giải, ta
vào menu Simulation, chọn Configuration Parameters, khi đó một hộp hội thoại
với các << trang >> được mở ra là Solver, Data Import/Export, Optimization,
Diagnostics…(hình4.20).HầuhếtcácthamsốmôphỏngSimulinkđượcđặtởchế
độmặcđịnh.Tuynhiên,bạncóthểthayđổithamsốphùhợpvớibàitoáncụthể.

Hình4.20.Hộphộithoạikhai báothamsốmôphỏngSolver

145
Trang Solver xuất hiện đầu tiên khi ta chọn Parameters từ thực đơn
Simulation hoặc khi ta chọn phím Solver. Trang này cho phép ta thực hiện các
thao tác sau:
- Khaibáothờigianbắtđầuvàkếtthúc tạicác ôStarttimevà Stoptime.
Cácgiá trịmặcđịnhởđâytương ứnglà0 và 10s.
- Chọn thuậtgiảivàcácthamsốđặctrưngcủaphép giải,bạn cóthểchọn các
bước giải linh hoạt (variable-step) hay bước giải cố định (fixed-step). Bước giải
linh hoạt có thể thay đổi bước tính trong qua trình mô phỏng.Simulink áp dụng
các thuật giải ode45, ode23, ode113, ode15s, ode23s, và discrete.Thuậtgiải mặc
định là ode5, ode4, ode3, ode2, ode1 và discrete.
4.4.2. Đặtkíchthướcbước giải
Đối với bước giải linh hoạt cần phải đặt kích thước bước Max step size
và Initial step size. Việc giải các phương trình vi phân được bắt đầu với cácbước
tính tích phân, khai báo tại Initial step size. Nếu khi bắt đầu đạo hàm các biến
trạng thái lớn, thì Solver sẽ chọn giá trị bé hơn giá trị khai báo tại Initial step
size. Trong quá trình mô phỏng Simulink sẽ giải các phương trình vi phân bằng
bước cho phép lớn nhất khai báo tại Max step size. Nếu không đặt, thì một cách
mặc định, các tham số này được xác định tự động với giá trị auto.
4.4.3. Đặtsaisố,giámsátcácđiểmkhôngvàđặtcácchếđộnhập,xuấtdữliệu
Đặt sai số tương đối và tuyệt đối: Sai số mặc định được biểu thị là 1e-3,
tức là sai số một phần nghìn 10-3. Nếu muốn đặt giá trị khác thì điền các giá trị
và các ô tương ứng.Nếu ta khai báo tại ô Absolute tolerance giá trị auto, thì
Solver sẽ bắt đầu bằng 10-6.
Giám sát điểm không (Zero crossing control): Thường cứ sau mỗi bước
tính tích phân, Simulink lại kiểm tra lại các biến zero-crossing để điều chỉnh.
Solver có thể nhận biết các giá trị không liên tục của hàm.Simulink chỉ tính đến
cận trái của điểm không liên tục, để rồi sau đó bắt đầu tính tiếp từ cận phải.
Ở trang Data Import/Export bạn có thể khai báo để gửi và nhận số liệutừ
môi trường Workspace, đồng thời khai báo các giá trị ban đầu của các biến trạng
thái.
Nếu chọn ô Input,tacó thểkhaibáo phần dànhđể điền chữbênphải: tên
củacáctậpsốliệucầnđọctừWorkspace.CáctậpdữliệucóđịnhdạngArray,

146
Structure, hay Structure with time. Để đặt giá trị ban đầu cho biến trạng thái, ta
chọn ô Initial State vàghi vào phần dành để điền chữ bên phải: Tên của biến giữ
giá trị ban đầu.
Các kết quả ra của mô phỏng Simulink có thể được giữ bằng cách gõ tên
biến vào phần dành cho điền chữ bên cạnh ô Output, sau khi đã được kích
hoạt.Simulink chỉ chấp nhận các biến ra được nối với khối Outport.
4.4.4. Tốiưuhóaquátrìnhgiảivàbáolỗi
Tại trang Optimization ta có thể khai báo để tác động đến tốc độ của quá
trình mô phỏng như: Block Reduction và Impliment logic signal as booling
data… Nếu tại ô Complier optimization off, thì cho phép thiết lập nhanh mô
hình, còn nếu Optimization on, thì cho phép chạy nhanh chương trình.
Trang Diagnostics cho phép ta khai báo phương thức xử lý của Simulink
đối với các lỗi xảy ra trong quá trình mô phỏng.Bạn có thể chọn phương thức
báo lỗi là warning hoặc error.Trong quá trình mô phỏng, nếu phát hiện lỗi, thì
Simulink sẽ ngừng và mở hộp hội thoại thông báo lỗi.
4.4.5. Khởiđộngvàdừngchươngtrìnhmôphỏng
Sau khi tất cả các thao tác xây dựng và khai báo được hoàn tất, bướccuối
cùng là cho chạychương trình.Việc khởi động chương trình được thực hiện bằng
cách vào menu simulation và chọn Start.
Trong quá trình mô phỏng nếu muốn tạm ngừng, thì vào simulation và
chọn Pause, còn nếu muốn dừng hẳn thì chọn Stop.
4.4.6. Đọckếtquả
Để xem kết quả của quá trình mô phỏng ta có thể kích đúp vào biểu
tượng khối Scope, nếu Output được nối với khối Scope, hoặc xem tạiWorkspace
của MATLAB, nếu Output được nối với khối To Workspace, hoặc tại file, nếu
Output được nối với khối To file.
4.5. Cácbàithựchành
4.5.1. Bài1.Môphỏngmạchđiệntheophươngtrìnhtrạngthái
4.5.1.1. Mụctiêuthí nghiệm
- Biếtcáchnhậpthôngsốvàocáckhối Simulink.
- Biết mô phỏng một mạch điện ở dạng phương trình trạng thái và xử lý
được kết quả mô phỏng trên Scope.
- Thuđượcdạngsóng quáđộtheoyêu cầucủamạch điện.

147
4.5.1.2. Cơsởlýthuyếtcủathí nghiệm
a. CáchnhậpthôngsốởdạngmatrậnvàokhốiGain
Saukhiđã gắpđượckhốiGainởSimulinksangcửasổUntitled,tadùng chuột kích
đúp vào khối Gain khi đó sẽ xuất hiện cửa sổ:

Hình4.21.CáchnhậpmatrậnvàocửasổGain
Trong trường hợp này ta cần nhập ma trận B vào khối Gain, vào Main →
Gain → nhập B → Multiplication → Matrix(K*u) → OK.
Nếu chỉdừngởthao tácnàythìMatlab sẽkhônghiểu matrận Blà cáigì.Vì vậy,
ta phải khai báo dữ liệu cho ma trận B bằng cách: Vào cửa sổ Comand Window
của Matlab nhập thông số cho B, hoặc mở một Editor mới, nhập thông số của
ma trận B, sau đó chọn lệnh Run để chạy Editor, quay lại Simulink tiếp tục chạy
bài có chứa khối Gain của ma trận B, lúc này Matlab sẽ cho ta kết quả. Ta lưu
Editor đó lại để lần sau chạy bài Simulink tương ứng của ma trận B ta sẽ ko phải
nhập lại nữa.
b. Cáchtạokhốinguồntrongsơđồmô phỏng
Trong sơ đồ mô phỏng của mạch điện theo phương trình trạng thái, cáckhối
nguồn là tín hiệu đầu vào. Với nguồn một chiều ta dùng khối Step, nó nằm trong
thư viện Sources.

148
Hình4.22.Cáchnhậpthôngsốvào khối Step
- Steptime:Thờigianbắtđầumôphỏng(thườngchọnbằng0).
- Initialvalue:Giátrịbanđầucủatínhiệu.
- Finalvalue:Giátrịbướcnhảycủatínhiệu (thườnglàđộlớncủanguồn).
Với nguồn xoay chiều là hàm của thời gian ta dùng khối hàm tín hiệu hình
sin được lấy từ thư viện Math Operations, vì là hàm của thời gian nên ta phải có
đầu vào của khối hàm tín hiệu hình sin là khối Clock:

Hình4.23.Cáchnhậpthôngsốvào khốinguồntínhiệuhàmsin
- Amplitude:Làbiênđộcủatínhiệuhìnhsin.
- Bias:Làđộxiêncủatínhiệuhình sin.
- Frequency(rad/sec):Làtầnsốgóccủatínhiệuhìnhsin.
- Phase(rad):Nhậpgiátrịgócphabanđầucủatínhiệuhìnhsin.
2.3. CáchxuấtkếtquảmôphỏngtừScopevềfileword
Sau khi xây dựng được sơ đồ mô phỏng mạch điện theo Simulink, ta kích
vào biểu tượng Run để chạychương trình, sau đó kích đúp chuột trái vào Scope,
kếtquảmôphỏngsẽhiệnthịtrênScope,cónhiềucáchkhácnhauđểxuấtđược

149
đồthịmôphỏngsangfileword.Tuynhiên,đểkếtquảxuấtsangfileworddễ nhìn và đảm bảo
tính thẩm mỹ thì ta sẽ thực hiện như sau:
-
Kích vào biểu tượng Parameters trên Scope, sẽ xuất hiện hộp hội
thoại sau đây:

Hình4.24.HộphộithoạiScope
-
Sau đó vào History → kích vào Save data to workspace → kích vào ô
Variable name và đặt tên cho kết quả mô phỏng của mạch điện trên Scope đó
(Lưu ý: Trong tên đặt phải có chữ DataScope). Ở ô Format ta chọn Structure
with time, cuối cùng chọn OK.

Hình4.25.HộphộithoạiScope
- Vào Matlab để tạo ra một Editor mới thực hiện các lệnh vẽ dữ liệu từ
Scope như sau:
plot(S.time,S.signals().values)
Với S: Là tên đã đặt cho dữ liệu trong Scope;
signals(): Trong ngoặc sẽ là số thứ tự để biểu thị thứ tự các đầu ra đã hiển
thị trong Scope, Matlab sẽ hiểu và vẽ ra tín hiệu đầu ra tương ứng với vị trí 1, 2
hoặc 3.
Ví dụ:
plot(ScopeData.time,ScopeData.signals(1).values)
xlabel('time')

150
ylabel('i_L')
-DùnglệnhPublishđểchuyểnsangfilewordnhưđãhướngdẫnởcácphần trên.
4.5.1.3. Nộidungthínghiệm
a. Thiếtbịthínghiệm
MáytínhcàiphầnmềmMatlab7.0trởlên.
b. Cácbướcmôphỏngmạchđiệntheophươngtrìnhtrạngthái
- Bước1:Lậphệphươngtrìnhtrạngtháimôtảmạchđiện.
- Bước2:Tạo Editorvànhậpdữliệuđầubàivào Editor.
- Bước 3: Vào Simulink gắp các khối cần thiết và nối các khối với nhauđể
tạo thành sơ đồ mô phỏng.
- Bước4:Nhậpcácthông sốcủabàitoánvàocáckhốitươngứng.
- Bước5:ChạychươngtrìnhbằngcáchnhấnvàobiểutượngRuntrên Simulink.
- Bước6:ThựchiệncácthaotácchuyểndữliệutừScopesangfile word.
c. Vídụthựchành mẫu
*Vídụ1mạchquáđộmôphỏngtheophươngtrìnhtrạng thái:
Cho mạch điện như hình vẽ.Biết: R = 80Ω, L = 0,2 H, C 1 = 140 µF, u(t)=
U = 100 V = const. Khóa K đóng tại vị trí t = 0. Tìm các nghiệm gần đúng dưới
dạng bảng số và vẽ các đường cong uC(t), iL(t) và uRL(t).

Hình4.26a.Mạchđiệnquáđộvídụ1môphỏng theo
phương trình trạng thái
- Lậpphươngtrìnhtrạngthái
i̇L
( )=
u̇C −R⁄L −1⁄L iL +[1⁄L]u 0
1⁄C1 0 ( u)C

uRL iL
=[0−1]( )+[1]u
uC
Vậycác matrậncủahệphươngtrìnhtrạngtháilà:
−R⁄L −1⁄L 1⁄L
A= ; B=[ ];C=[0 −1]; D=[1]
1⁄C1 0 0
-TạoEditorđểnhập thông sốvàocho sơđồmôphỏngSimulink:

151
R=80;L=0.2;C1=140*10^(-6);U=100;
A=[-R/L -1/L; 1/C1 0]
B=[1/L;0]
C=[0-1];
D=1;

A=
1.0e+03*
-0.4000 -0.0050
7.1429 0
B=
5
0
-Mô phỏngvà chạytrênSimulink

Hình4.24b.Sơđồkhốimôphỏngmạchvídụ1 theo
phương trình trạng thái
-ChuyểnkếtquảmôphỏngtrênScopesangfileword:
figure; subplot(3,1,1)
plot(ScopeData.time,ScopeData.signals(1).values) xlabel('time')
ylabel('i_L') subplot(3,1,2)
plot(ScopeData.time,ScopeData.signals(2).values) xlabel('time')
ylabel('u_C') subplot(3,1,3)

152
plot(ScopeData.time,ScopeData.signals(3).values) xlabel('time')
ylabel('u_R_L')

Hình4.26c.Dạngsóngquáđộmạchvídụ1môphỏng
*Vídụ2mạchquáđộmôphỏngtheophươngtrìnhtrạng thái:
Cho mạch điện như hình vẽ. Biết: R = 80Ω, L = 0,2H, C 1 = 140µF, u(t) =
100sin(ωt + π/3) V. Khóa K đóng tại vị trí t = 0. Mô phỏng các đường cong
uC(t), iL(t) và uRL(t) bằng Simulink.

Hình4.27a.Mạchđiệnquáđộvídụ2môphỏng theo
phương trình trạng thái
- Phươngtrìnhtrạngtháivàtạo Editorgiốngởvídụ1.
- Môphỏngvà chạytrênSimulink.

Hình4.27b.Sơđồkhốimôphỏngmạchvídụ2môphỏng theo
phương trình trạng thái
153
-ChuyểnkếtquảtừScopesangfile word

figure;
subplot(3,1,1)
plot(ScopeData3xc.time,ScopeData3xc.signals(1).values)
xlabel('time')
ylabel('i_L')
grid;
subplot(3,1,2)
plot(ScopeData3xc.time,ScopeData3xc.signals(2).values)
xlabel('time')
ylabel('u_C')
grid;
subplot(3,1,3)
plot(ScopeData3xc.time,ScopeData3xc.signals(3).values)
xlabel('time')
ylabel('u_R_L')
grid;

Hình4.27c.Dạngsóngquáđộmạchvídụ2môphỏng theo
phương trình trạng thái

154
*Vídụ3mạchquáđộmôphỏngtheophươngtrìnhtrạng thái:
Cho mạch điện như hình vẽ, biết: R 1 = 4Ω; R2 = 2Ω; R3 = 3Ω; L = 1,6H;C
= 1/4F; E(t) = sint. Tại thời điểm t = 0 thì khóa K đóng. Tính dòng điện và điện
áp quá độ qua cuộn dây và tụ điện.

Hình4.28a.Mạchđiệnquáđộvídụ3môphỏng theo
phương trình trạng thái
- Phươngtrìnhtrạngtháimôtảmạch
R1 R2R3 R2 R2
i̇L ⎡− − − ⎤ ⎡ ⎤
( )=⎢ (R3+R2)L 1 2)L⎥ ( iL )+⎢(R3+R2)L⎥u
(R3+R
R 1
L
u̇C ⎢ ⎢ ⎥
2
− ⎥uC
⎣ (R3+R2)C ( )
⎣ R3+R2 C⎦
(R3+R2)C⎦
Vậycác matrậncủahệphươngtrìnhtrạngtháilà:
R1 R2R3 R2
⎡− L − − ⎤
A= ⎢ (R3+R2)L (R3+R2)L

⎢ R 1
− (R3+R2)C⎦ ⎥
2
⎣ (R3+R2)C

R2 ⎤

(R3+R2)L
B=⎢ 1 ⎥
⎢ ⎥
⎣(R3+R2)C⎦
-TạoEditor (m.file):
R1=4;R2=2;R3=3;L=1.6;C=1/4;
syms t; E(t)=sin(t);
A=[(-R1/L)-R2*R3/(L*(R2+R3))-R2/(L*(R2+R3));R2/(C*(R2+R3))-
155
1/(C*(R2+R3))]B=[R2/(L*(R2+R3));1/(C*(R2+R3))]

A=
-3.2500 -0.2500
1.6000 -0.8000
B=
0.2500
0.8000
-Mô phỏngvà chạytrênSimulink:

Hình4.28b.Sơđồkhốimôphỏngmạchvídụ3 theo
phương trình trạng thái
-ChuyểndữliệutừScopesangfile word:

figure;
subplot(2,1,1)
plot(ScopeData6xc.time,ScopeData6xc.signals(1).values)
xlabel('time')
ylabel('i_L')
grid;
subplot(2,1,2)
plot(ScopeData6xc.time,ScopeData6xc.signals(2).values)
xlabel('time')
ylabel('u_C')
grid;

156
Hình4.28c.Dạngsóngquáđộmạchvídụ3môphỏng theo
phương trình trạng thái
*Vídụ4mạchquáđộmôphỏngtheophươngtrìnhtrạngthái
Cho mạch điện như hình vẽ, biết: R1 =3000Ω; C1=50*10^(-6)F;
C2=12*10^(-6)F;L1=1,2H;L2=0,45H;u(t)=100sin10t(V).Tạithờiđiểmt=0
khóa K đóng. Tính và vẽ đồ thị điện áp và dòng điện quá độ trên các cuộn
dâyvà tụ điện và điện áp quá độ trên điện trở

Hình4.29a.Mạchđiệnquáđộvídụ4môphỏng theo
phương trình trạng thái
-Phươngtrìnhtrạngtháimạchđiện:
R1 R1 1
⎡− − − 0⎤
⎢ L1 L1 L1 1
̇iL̇ 1 ⎥
iL1 ⎡ ⎤
⎢−R1 −R1 −1 −
1⎥
L1
i ⎢ L2 L2 L2 L2⎥ iL2 ⎢ ⎥
1 ⎥
⎛L2⎞= ⎥ u +⎢ u
⎢1 1
u̇C1 ⎢ C1 ⎢L2⎥
C 0 0 ⎥ u
⎝ u̇ C 2 1 ⎥ C2 ⎢0⎥

C1

⎣0⎦
⎢0 1 0 0⎥
⎣ C2 ⎦
iL1
iL2
uR=[R R 0 0] +[0]u
u
C1
uC2

157
Vậycác matrận củahệphươngtrìnhtrạngtháilà:
R1 R1 1
⎡− − − 0 ⎤
⎢ L1 L1 L1 1
1 ⎥ ⎥
⎢− R 1 R1 1 − 0 ⎡ ⎤
⎢ L2 − − L1
L2 L2 L2 ⎢ ⎥
⎥ 1
A=⎢
1 1 ⎢ ⎥
⎥;B=
⎢ ⎢L2⎥
C1 C1 0 0 ⎥
⎥ ⎢0⎥

⎣0⎦
⎢0 1 0 0 ⎥
⎣ C2 ⎦
C=[R R 0 0];D=0
-Nhậpsốliệutừ Editor:

Vs=100;R1=3000;C1=50*10^(-6);C2=12*10^(-6);L1=1.2;L2=0.45;
x0=[0;0;0;0];
A=[-R1/L1-R1/L1-1/L10;-R1/L2-R1/L2-1/L2-1/L2;1/C11/C100;0
1/C200]
B=[1/L1;1/L2;0;0]
C=[R1R100]
D=0
syms t;
u=Vs*sin(10*t);

A=
1.0e+04*
-0.2500 -0.2500 -0.0001 0
-0.6667 -0.6667 -0.0002 -0.0002
2.0000 2.0000 0 0
0 8.3333 0 0
B=
0.8333
2.2222
0
0
C=
3000 3000 0 0
D=
158
0
- Môphỏngvàchạychương trìnhtrên Simulink:

Hình4.29b.Sơđồkhốimôphỏngmạchvídụ4 theo
phương trình trạng thái
- ChuyểnkếtquảtừScopesangfile word:
figure; subplot(3,2,1)
plot(ScopeData7ac.time,ScopeData7ac.signals(1).values) xlabel('time')
ylabel('i_L_1') grid; subplot(3,2,2)
plot(ScopeData7ac.time,ScopeData7ac.signals(2).values) xlabel('time')
ylabel('i_L_2') grid; subplot(3,2,3)
plot(ScopeData7ac.time,ScopeData7ac.signals(3).values) xlabel('time')
ylabel('u_C_1') grid; subplot(3,2,4)
plot(ScopeData7ac.time,ScopeData7ac.signals(4).values) xlabel('time')
ylabel('u_C_2') grid; subplot(3,2,5)

159
plot(ScopeData7ac.time,ScopeData7ac.signals(5).values) xlabel('time')
ylabel('u_R') grid;

Hình4.29c.Dạngsóngmôphỏngvídụ4theophươngtrìnhtrạngthái
* Vídụ5mạchmôphỏngtheophươngtrìnhtrạngthái:
Cho mạch điện như hình vẽ, biết: R1 =3000Ω; C1=50*10^(-6)F;
C2=12*10^(-6)F;L1=1,2H;L2=0,45H;Vs=100V(DC).Tạithờiđiểm t=0khóa
K đóng. Tính và vẽ đồ thị điện áp và dòng điện quá độ trên các cuộn dây và
tụđiện và điện áp quá độ trên điện trở.

Hình4.30a.Mạchđiệnquáđộvídụ5môphỏng theo
phương trình trạng thái
- PhươngtrìnhtrạngtháivànhậpthôngsốvàoEditorgiốngvídụ4.
- Môphỏngvàchạychương trìnhtrên Simulink:

160
Hình4.30b.Sơđồkhốimôphỏngmạchvídụ5 theo
phương trình trạng thái
-ChuyểnkếtquảtừScopesangfile word:
figure; subplot(3,2,1)
plot(ScopeData71c.time,ScopeData71c.signals(1).values) xlabel('time')
ylabel('i_L_1') grid; subplot(3,2,2)
plot(ScopeData71c.time,ScopeData71c.signals(2).values) xlabel('time')
ylabel('i_L_2') grid; subplot(3,2,3)
plot(ScopeData71c.time,ScopeData71c.signals(3).values) xlabel('time')
ylabel('u_C_1') grid; subplot(3,2,4)
plot(ScopeData71c.time,ScopeData71c.signals(4).values) xlabel('time')
ylabel('u_C_2')

161
grid; subplot(3,2,5)
plot(ScopeData71c.time,ScopeData71c.signals(5).values) xlabel('time')
ylabel('u_R') grid;

Hình4.30c.Dạngsóngmôphỏngvídụ5theophươngtrìnhtrạngthái
* Vídụ6mạchquáđộmôphỏngtheophươngtrìnhtrạng thái:
Chomạchđiệnnhư hìnhvẽ. Biết:R1= R2=R3= 10Ω;C1=C2=5µF;L
= 10 H; Vs = 10 V. Khóa K đóng tại vị trí t = 0. Mô phỏng mạch điện theo
Simulink theo phương trình trạng thái và vẽ các đường cong u C1(t), uC2(t), iL(t) và
uR2(t)

Hình4.31a.Mạchđiệnquáđộvídụ6môphỏng theo
phương trình trạng thái
162
-Phươngtrìnhtrạngtháicủamạchđiện:
−1 1 1
⎡R1C1 − R C 0⎤ ⎥ 1
v1 ⎢ ⎢ 12 1 R C
2 −1 −1⎥ 1v
v2 .u+R1C1vs
1
v=
2 ⎢ ⎥ 0
l R 2C2 R2C2 C ⎥ l1
̇ ⎢ R
2 0
1 ⎢ 1 − 3⎥
0
⎣ L L⎦
v1
uR2=[1 −1 0]v2 .+[0]vs
l1
Vậycác matrậncủahệphươngtrìnhtrạngtháilà:
−1 1
⎡ 1
⎢ ⎢R1C1 − 1 R2C1 R2C1−1 0⎤ ⎥
−1 ⎥;B=R1C1;C=[1 1
A= −1 0]

⎢ R2C2 2⎥ 0
R2C2 1 CR 0

⎢ − 3⎥
0
⎣ L L⎦
-Nhậpthôngsốtrong Editor:

Vs=10;R1=10;R3=R1;R2=R1;C1=5*10^-6;C2=C1;L=0.1;
A=[(-1/(R1*C1))-(1/(R2*C1))1/(R2*C1)0;1/(R2*C2)-1/(R2*C2)- 1/C2; 0 1/L -R3/L
B=[1/(R1*C1);0; 0]
C=[1-10] D=0
A=
1.0e+05*
-0.40000.20000
0.2000-0.2000-2.0000
00.0001-0.0010
B=
20000
0
0

C=
1 -1 0
D=

163
0
-Mô phỏngvà chạychươngtrình

Hình4.31b.Sơđồkhốimôphỏngmạchvídụ6 theo
phương trình trạng thái
-ChuyểnkếtquảtừScopesangfile word:
figure; subplot(4,1,1)
plot(ScopeData5mc.time,ScopeData5mc.signals(1).values) xlabel('time')
ylabel('V_1') grid; subplot(4,1,2)
plot(ScopeData5mc.time,ScopeData5mc.signals(2).values) xlabel('time')
ylabel('V_2') grid; subplot(4,1,3)
plot(ScopeData5mc.time,ScopeData5mc.signals(3).values) xlabel('time')
ylabel('I_1') grid; subplot(4,1,4)
plot(ScopeData5mc.time,ScopeData5mc.signals(4).values) xlabel('time')

164
ylabel('u_R_2') grid;

Hình4.31c.Dạngsóngmạchvídụ6môphỏng theo
phương trình trạng thái
d. Nộidungthựchành
*Nộidungthựchành1:
Cho mạch điện như hình vẽ. Mô phỏng và vẽ dạng sóng trên R2 của mạch
điện bằng simlink theo phương trình trạng thái

Hình4.32.Mạchđiệnthựchành1môphỏng theo
phương trình trạng thái

165
*Nộidungthựchành2:
Chomạchđiệnnhưhìnhvẽ.MôphỏngvàvẽdạngsóngVCcủamạch điện bằng
simlink theo phương trình trạng thái.

Hình4.33.Mạchđiệnthựchành2môphỏng theo
phương trình trạng thái
e. Câuhỏi
Phântíchkếtquảmôphỏngthuđượccủacácmạchđiệnởnộidung thực hành?
4.5.2. Bài2.Môphỏngmạchđiệnởchếđộquáđộtheosơđồcấutrúcmạch điện
4.5.2.1. Mụctiêuthí nghiệm
- BiếtcáchnhậpthôngsốchocácphầntửcủamạchđiệntrongSimulink;
- Xâydựngđượcmạchđiệnmôphỏng;
- Hiểnthịđượcdạngsóngcủacácđạilượngtheoyêucầu.
4.5.2.2. Cơsởlýthuyếtcủathí nghiệm
Cáchnhậpthôngsốcho cácphầntửtrongmạch điện:
Từ cửa sổ Simulink ta vào File, chọn New hoặc dùng lệnh ctrl+N, lúc này
trên màn hình sẽ xuất hiện một cửa sổ mới như hình 4.34, trên cửa sổ này ta sẽ
xây dựng mạch điện mô phỏng.

166
Hình4.34.Cửasổthựcthicủa Simulink
Tiếp theo ta lần lượt vào các thư viện con của Simulink để gắp các khối
phần tử của mạch điện ra cửa sổ thực thi và tiến hành mô phỏng. Khối các phần
tử của mạch điện nằm trong thư viện Element. Để vào được thư viện nàyta phải
thaotácnhư sau: Simscape →SimPowerSystems→ Specialized→Technology
→ Elements.

Hình4.35.ThưviệnElements
Ngoàicácphầntửthụđộngmạchđiệncòncócácphầntửchủđộngđólà

167
các nguồn điện. Phần tử nguồn nằm trong thư viện Electrical Sources. Để vào
được thư viện này ta phải thao tác như sau: Simscape → SimPowerSystems →
Specialized → Technology → Electrical Sources.
Lưu ý: Với mỗi cửa sổ Untitled mô phỏng mạch điện cần có 1 khối
Powergui,nhiệmvụcủakhốinàylàtựđộngphântíchmạchđiệncầnđược mô phỏng.
4.2.2.3.Nộidungvàtrìnhtựthínghiệm
a. Thiếtbịthínghiệm
MáytínhcàiphầnmềmMatlab7.0trởlên.
b. Cácbướcmôphỏngmạchđiệntheocấu trúc
- Bước 1: Vào Simulink gắp các khối có trong mạch điện cần mô
phỏngsang Untitle;
- Bước2:Kếtnốicáckhốivớinhauđểhìnhthànhmạchđiệncầnmôphỏng;
- Bước3:Nhậpcácthôngsốchocáckhốidữliệucủamạchđiện;
- Bước4:KíchvàobiểutượngRuntrênUntitleđểchạymạchđiện;
- Bước5:KíchvàoScopeđểhiểnthịkếtquảmô phỏng;
- Bước6:ChuyểnkếtquảmôphỏngtừScopesangfileword.
c. Vídụthựchành mẫu
* Vídụ1mạchquáđộmôphỏngtheocấutrúc:
Cho mạch điện nhưhìnhvẽ.Biết:R=80Ω,L= 0,2 H,C1=140µF,u(t)=
100sin(wt+pi/3)V. Khóa K đóng tại vị trí t = 0. Tìmcác nghiệm gần đúng dưới
dạng bảng số và vẽ các đường cong uC(t), iL(t) và uRL(t).

Hình4.36a.Mạchđiệnmôphỏngvídụ1theo cấutrúc

168
- Xâydựngvàchạymạchđiệnmôphỏng:

Hình4.36b.Xâydựngmạchđiệnmôphỏngvídụ1theocấutrúc
- Chuyểnkếtquảmô phỏngtrênScopesangfileword:

figure;
subplot(3,1,1)
plot(ScopeDataRLC3xc.time,ScopeDataRLC3xc.signals(1).values)
xlabel('time')
ylabel('i_L')
grid;
subplot(3,1,2)
plot(ScopeDataRLC3xc.time,ScopeDataRLC3xc.signals(2).values)
xlabel('time')
ylabel('u_C')
grid;
subplot(3,1,3)
plot(ScopeDataRLC3xc.time,ScopeDataRLC3xc.signals(3).values)
xlabel('time')
ylabel('u_R_L')
grid;

- Kếtquảchạymôphỏng:

169
Hình4.36c.Dạngsóng mạchđiệnvídụ1theo cấutrúc
* Vídụ2mạchquáđộmôphỏngtheocấutrúc:
Cho mạch điện như hình vẽ.Biết: R = 80Ω, L = 0,2 H, C 1 = 140 µF, u(t)=
U = 100 V = const. Khóa K đóng tại vị trí t = 0. Tìm các nghiệm gần đúng dưới
dạng bảng số và vẽ các đường cong uC(t), iL(t) và uRL(t).

Hình4.37a.Mạchđiệnmôphỏngvídụ1theo cấutrúc

170
-Xâydựngvàchạymạchđiệnmô phỏng:

Hình4.37b.Xâydựngmạchmôphỏngvídụ2theocấutrúc
-ChuyểnkếtquảmôphỏngtừScopesangfileword:

figure;
subplot(3,1,1)
plot(ScopeDataRLC3mc.time,ScopeDataRLC3mc.signals(1).values)
xlabel('time')
ylabel('i_L')
grid;
subplot(3,1,2)
plot(ScopeDataRLC3mc.time,ScopeDataRLC3mc.signals(2).values)
xlabel('time')
ylabel('u_C')
grid;
subplot(3,1,3)
plot(ScopeDataRLC3mc.time,ScopeDataRLC3mc.signals(3).values)
xlabel('time')
ylabel('u_R_L')
grid;

171
-Kếtquảchạymô phỏng:

Hình4.37c.Dạngsóngmôphỏngvídụ2theocấutrúc
* Vídụ3mạchquáđộmôphỏngtheocấutrúc:
Chomạchđiệnnhưhìnhvẽ.Biết:R1= R2=R3= 10Ω;C1=C2=5µF;L
= 10 H; Vs = 10 V. Khóa K đóng tại vị trí t = 0. Tìm các nghiệm gần đúng dưới
dạng bảng số và vẽ các đường cong u C1(t), uC2(t), iL(t) và uR2(t) trong khoảngthời
gian t = 0 ÷ 10s.

Hình4.38a.Mạchđiệnmôphỏngvídụ3theo cấutrúc

172
- Xâydựngvàchạymạchđiệnmôphỏng:

Hình4.38b.Xâydựngmạchmôphỏngvídụ3theocấutrúc
- Chuyểnkếtquảmô phỏngtrênScopesangfileword:

figure;
subplot(4,1,1)
plot(ScopeDataRLC5mc.time,ScopeDataRLC5mc.signals(1).values)
xlabel('time')
ylabel('I_1')
grid;
subplot(4,1,2)
plot(ScopeDataRLC5mc.time,ScopeDataRLC5mc.signals(2).values)
xlabel('time')
ylabel('V_1')
grid;
subplot(4,1,3)
plot(ScopeDataRLC5mc.time,ScopeDataRLC5mc.signals(3).values)
xlabel('time')
ylabel('V_2')
grid;
subplot(4,1,4)
plot(ScopeDataRLC5mc.time,ScopeDataRLC5mc.signals(4).values)
xlabel('time')
ylabel('u_R_2')
grid;

173
-Kếtquảchạymô phỏng:

Hình4.38c.Dạngsóngmôphỏngvídụ3theocấutrúc
* Vídụ4mạchquáđộmôphỏngtheocấu trúc:
Cho mạch điện như hình vẽ, biết: R1 =3000Ω; C1=50*10^(-6)F;
C2=12*10^(-6)F;L1=1,2H;L2=0,45H;Vs=100V(DC).Tạithờiđiểm t=0khóa
K đóng. Tính và vẽ đồ thị điện áp và dòng điện quá độ trên các cuộn dây và
tụđiện và điện áp quá độ trên điện trở.

Hình4.39a.Mạchđiệnquáđộvídụ4môphỏngtheocấutrúc

174
Hình4.39b.Xâydựngmạchmôphỏngvídụ4theocấutrúc
-ChuyểnkếtquảmôphỏngtrênScopesangfileword:
figure; subplot(3,2,1)
plot(ScopeDataRLC7mc.time,ScopeDataRLC7mc.signals(1).values) xlabel('time')
ylabel('u_C_1') grid; subplot(3,2,2)
plot(ScopeDataRLC7mc.time,ScopeDataRLC7mc.signals(2).values) xlabel('time')
ylabel('u_C_2') grid; subplot(3,2,3)
plot(ScopeDataRLC7mc.time,ScopeDataRLC7mc.signals(3).values) xlabel('time')
ylabel('i_L_1') grid; subplot(3,2,4)
plot(ScopeDataRLC7mc.time,ScopeDataRLC7mc.signals(4).values) xlabel('time')
ylabel('i_L_2') grid; subplot(3,2,5)

175
plot(ScopeDataRLC7mc.time,ScopeDataRLC7mc.signals(5).values) xlabel('time')
ylabel('u_R') grid;

-Kếtquảchạymô phỏng:

Hình4.39c.Dạngsóngmôphỏngvídụ4theocấutrúc
* Vídụ5mạchquáđộmôphỏngtheocấutrúc:
Cho mạch điện như hình vẽ, biết: R1 = 4Ω; R2 = 2Ω; R3 = 3Ω; L = 1,6H;C
= 1/4F; E(t) = 15V(DC). Tại thời điểm t = 0 thì khóa K đóng. Tính dòng điện và
điện áp quá độ qua cuộn dây và tụ điện.

Hình4.40a.Mạchđiệnquáđộvídụ5môphỏngtheocấutrúc

176
Hình4.40b.Mạchmôphỏngvídụ5 theocấutrúc
-ChuyểnkếtquảmôphỏngtrênScopesangfileword:

figure;
subplot(3,1,1)
plot(ScopeDataRLC6mc.time,ScopeDataRLC6mc.signals(1).values)
xlabel('time')
ylabel('i_L')
grid;
subplot(3,1,2)
plot(ScopeDataRLC6mc.time,ScopeDataRLC6mc.signals(2).values)
xlabel('time')
ylabel('u_C')
grid;
subplot(3,1,3)
plot(ScopeDataRLC6mc.time,ScopeDataRLC6mc.signals(3).values)
xlabel('time')
ylabel('u_R_2')
grid;

-Kếtquảchạymô phỏng:

177
Hình4.40c.Dạngsóngmôphỏngvídụ5theocấutrúc
d.Nộidungthựchành
* Nộidungthựchành1:
Chomạchđiệnnhưhìnhvẽ.MôphỏngvàvẽdạngsóngtrênR2củamạch điện
bằng simlink theo cấu trúc mạch điện

Hình4.41.Mạchđiệnquáđộthựchành1môphỏngtheocấutrúc
* Nộidungthựchành2:
Cho mạchđiệnnhưhìnhvẽ.MôphỏngvàvẽdạngsóngVCcủamạchđiện bằng
simlink theo cấu trúc mạch điện:

178
Hình4.42.Mạchđiệnquáđộthựchành2môphỏngtheocấutrúc
*Nộidungthựchành3:
Cho mạch điện như hình vẽ, các thông số như trong mạch điện. Tại t = 0
đóng khóa K. Tính dòng điện quá độ i(t) điện khi đóng khóa K trong 10(ms)theo
Laplace.

Hình3.25.Mạchđiệnquáđộthựchành3môphỏngtheocấutrúc
e.Câuhỏi
Phântíchkếtquảthuđượctrongcácnộidungthựchành?

179
Phụlục1
A=
1.0e+03*
-0.4000 -0.0050
7.1429 0
B=
5
0
y=
100.0000
98.9718
96.2929
92.4676
87.8846
82.8408
77.5609
72.2127
66.9192
61.7688
56.8229
52.1221
47.6910
43.5422
39.6795
36.0999
32.7958
29.7562
26.9681
24.4170
22.0878
19.9652
18.0341
16.2797
14.6880
13.2454
180
11.9392
10.7576
9.6896
8.7249
7.8540
7.0683
6.3598
5.7211
5.1456
4.6273
4.1605
3.7404
3.3623
3.0221
2.7160
2.4408
2.1932
1.9707
1.7706
1.5907
1.4290
1.2838
1.1532
1.0359
0.9304
x=
0 0
0.3410 1.0282
0.5820 3.7071
0.7456 7.5324
0.8499 12.1154
0.9090 17.1592
0.9341 22.4391
0.9342 27.7873
0.9160 33.0808
181
0.8849 38.2312
0.8450 43.1771
0.7996 47.8779
0.7510 52.3090
0.7010 56.4578
0.6510 60.3205
0.6020 63.9001
0.5547 67.2042
0.5095 70.2438
0.4668 73.0319
0.4266 75.5830
0.3891 77.9122
0.3543 80.0348
0.3221 81.9659
0.2924 83.7203
0.2651 85.3120
0.2402 86.7546
0.2173 88.0608
0.1965 89.2424
0.1776 90.3104
0.1603 91.2751
0.1447 92.1460
0.1305 92.9317
0.1177 93.6402
0.1061 94.2789
0.0955 94.8544
0.0860 95.3727
0.0775 95.8395
0.0697 96.2596
0.0627 96.6377
0.0564 96.9779
0.0508 97.2840
0.0457 97.5592
0.0411 97.8068
0.0369 98.0293
182
0.0332 98.2294
0.0298 98.4093
0.0268 98.5710
0.0241 98.7162
0.0216 98.8468
0.0195 98.9641
0.0175 99.0696
Bang =
t(s) iL(A) uC(V) uRL(V)
0 0 0 100.0000
0.0008 0.3410 1.0282 98.9718
0.0016 0.5820 3.7071 96.2929
0.0024 0.7456 7.5324 92.4676
0.0032 0.8499 12.1154 87.8846
0.0040 0.9090 17.1592 82.8408
0.0048 0.9341 22.4391 77.5609
0.0056 0.9342 27.7873 72.2127
0.0064 0.9160 33.0808 66.9192
0.0072 0.8849 38.2312 61.7688
0.0080 0.8450 43.1771 56.8229
0.0088 0.7996 47.8779 52.1221
0.0096 0.7510 52.3090 47.6910
0.0104 0.7010 56.4578 43.5422
0.0112 0.6510 60.3205 39.6795
0.0120 0.6020 63.9001 36.0999
0.0128 0.5547 67.2042 32.7958
0.0136 0.5095 70.2438 29.7562
0.0144 0.4668 73.0319 26.9681
0.0152 0.4266 75.5830 24.4170
0.0160 0.3891 77.9122 22.0878
0.0168 0.3543 80.0348 19.9652
0.0176 0.3221 81.9659 18.0341
0.0184 0.2924 83.7203 16.2797
0.0192 0.2651 85.3120 14.6880
0.0200 0.2402 86.7546 13.2454
183
0.0208 0.2173 88.0608 11.9392
0.0216 0.1965 89.2424 10.7576
0.0224 0.1776 90.3104 9.6896
0.0232 0.1603 91.2751 8.7249
0.0240 0.1447 92.1460 7.8540
0.0248 0.1305 92.9317 7.0683
0.0256 0.1177 93.6402 6.3598
0.0264 0.1061 94.2789 5.7211
0.0272 0.0955 94.8544 5.1456
0.0280 0.0860 95.3727 4.6273
0.0288 0.0775 95.8395 4.1605
0.0296 0.0697 96.2596 3.7404
0.0304 0.0627 96.6377 3.3623
0.0312 0.0564 96.9779 3.0221
0.0320 0.0508 97.2840 2.7160
0.0328 0.0457 97.5592 2.4408
0.0336 0.0411 97.8068 2.1932
0.0344 0.0369 98.0293 1.9707
0.0352 0.0332 98.2294 1.7706
0.0360 0.0298 98.4093 1.5907
0.0368 0.0268 98.5710 1.4290
0.0376 0.0241 98.7162 1.2838
0.0384 0.0216 98.8468 1.1532
0.0392 0.0195 98.9641 1.0359
0.0400 0.0175 99.0696 0.9304

184
Phụlục2
y=
86.6025
96.3580
74.4936
28.5734
-27.9287
-79.0622
-110.5580
-113.5739
-87.0129
-37.7823
21.0808
73.9183
106.6583
110.5930
84.7179
36.0042
-22.4657
-75.0019
-107.5094
-111.2637
-85.2477
-36.4237
22.1330
74.7377
107.2993
111.0965
85.1145
36.3175
-22.2177
-74.8053
-107.3532
x=
0 0
0.5630 3.6420

185
0.8027 12.1089
0.7096 21.4266
0.3451 27.9287
-0.1684 29.0622
-0.6767 23.9554
-1.0322 13.5739
-1.1316 0.4104
-0.9428 -12.2177
-0.5125 -21.0808
0.0469 -23.9183
0.5874 -20.0557
0.9659 -10.5930
1.0818 1.8846
0.9051 13.9958
0.4837 22.4657
-0.0690 25.0019
-0.6046 20.9069
-0.9792 11.2637
-1.0923 -1.3548
-0.9133 -13.5763
-0.4902 -22.1330
0.0639 -24.7377
0.6005 -20.6968
0.9760 -11.0965
1.0897 1.4880
0.9113 13.6825
0.4886 22.2177
-0.0652 24.8053
-0.6016 20.7507
B ang =
t(s) iL(A) uC(V) uRL(V)
0 0 0 86.6025
0.0017 0.5630 3.6420 96.3580
0.0033 0.8027 12.1089 74.4936
0.0050 0.7096 21.4266 28.5734
0.0067 0.3451 27.9287 -27.9287

186
0.0083 -0.1684 29.0622 -79.0622
0.0100 -0.6767 23.9554 -110.5580
0.0117 -1.0322 13.5739 -113.5739
0.0133 -1.1316 0.4104 -87.0129
0.0150 -0.9428 -12.2177 -37.7823
0.0167 -0.5125 -21.0808 21.0808
0.0183 0.0469 -23.9183 73.9183
0.0200 0.5874 -20.0557 106.6583
0.0217 0.9659 -10.5930 110.5930
0.0233 1.0818 1.8846 84.7179
0.0250 0.9051 13.9958 36.0042
0.0267 0.4837 22.4657 -22.4657
0.0283 -0.0690 25.0019 -75.0019
0.0300 -0.6046 20.9069 -107.5094
0.0317 -0.9792 11.2637 -111.2637
0.0333 -1.0923 -1.3548 -85.2477
0.0350 -0.9133 -13.5763 -36.4237
0.0367 -0.4902 -22.1330 22.1330
0.0383 0.0639 -24.7377 74.7377
0.0400 0.6005 -20.6968 107.2993
0.0417 0.9760 -11.0965 111.0965
0.0433 1.0897 1.4880 85.1145
0.0450 0.9113 13.6825 36.3175
0.0467 0.4886 22.2177 -22.2177
0.0483 -0.0652 24.8053 -74.8053
0.0500 -0.6016 20.7507 -107.3532

187
Phụlục3
y=
-0.0000
1.0592
1.9006
2.4307
2.7647
2.9751
3.1076
3.1911
3.2437
3.2769
3.2978
3.3109
3.3192
3.3244
3.3277
3.3298
3.3311
3.3319
3.3325
3.3328
3.3330
x=
0 0 0
8.9764 7.9172 0.1130
8.1219 6.2213 0.1945
7.5834 5.1528 0.2459
7.2442 4.4796 0.2782
7.0305 4.0555 0.2986
6.8959 3.7883 0.3115
6.8111 3.6199 0.3196
6.7577 3.5139 0.3247
6.7240 3.4471 0.3279
6.7028 3.4050 0.3299
188
6.6894 3.3785 0.3312
6.6810 3.3618 0.3320
6.6757 3.3513 0.3325
6.6724 3.3446 0.3328
6.6703 3.3404 0.3330
6.6689 3.3378 0.3331
6.6681 3.3362 0.3332
6.6676 3.3351 0.3332
6.6672 3.3345 0.3333
6.6670 3.3340 0.3333
Bang =
0 0 0 0 -0.0000
0.0015 8.9764 7.9172 0.1130 1.0592
0.0030 8.1219 6.2213 0.1945 1.9006
0.0045 7.5834 5.1528 0.2459 2.4307
0.0060 7.2442 4.4796 0.2782 2.7647
0.0075 7.0305 4.0555 0.2986 2.9751
0.0090 6.8959 3.7883 0.3115 3.1076
0.0105 6.8111 3.6199 0.3196 3.1911
0.0120 6.7577 3.5139 0.3247 3.2437
0.0135 6.7240 3.4471 0.3279 3.2769
0.0150 6.7028 3.4050 0.3299 3.2978
0.0165 6.6894 3.3785 0.3312 3.3109
0.0180 6.6810 3.3618 0.3320 3.3192
0.0195 6.6757 3.3513 0.3325 3.3244
0.0210 6.6724 3.3446 0.3328 3.3277
0.0225 6.6703 3.3404 0.3330 3.3298
0.0240 6.6689 3.3378 0.3331 3.3311
0.0255 6.6681 3.3362 0.3332 3.3319
0.0270 6.6676 3.3351 0.3332 3.3325
0.0285 6.6672 3.3345 0.3333 3.3328
0.0300 6.6670 3.3340 0.3333 3.3330

189
Phụlục4
y=
-0.0000
1.3202
1.4038
0.1841
-1.2118
-1.4973
-0.4083
1.0550
1.5477
0.6171
-0.8810
-1.5693
-0.8148
0.6887
1.5590
0.9960
-0.4828
-1.5177
-1.1572
0.2672
1.4459
x=
0 0 0
7.5665 6.2462 0.1321
-0.4594 -1.8632 0.1405
-8.0503 -8.2344 0.0185
-8.2328 -7.0210 -0.1212
-0.8424 0.6550 -0.1499
7.3247 7.7330 -0.0410
8.7586 7.7036 0.1055
2.1405 0.5928 0.1549
-6.4452 -7.0623 0.0619
-9.1050 -8.2240 -0.0881
-3.3936 -1.8244 -0.1571
5.4379 6.2527 -0.0816

190
9.2699 8.5811 0.0688
4.5792 3.0202 0.1560
-4.3216 -5.3175 0.0998
-9.2491 -8.7663 -0.0482
-5.6731 -4.1554 -0.1519
3.1188 4.2760 -0.1159
9.0432 8.7760 0.0266
6.6534 5.2074 0.1447
Bang =
0 0 0 0 -0.0000
0.2000 7.5665 6.2462 0.1321 1.3202
0.4000 -0.4594 -1.8632 0.1405 1.4038
0.6000 -8.0503 -8.2344 0.0185 0.1841
0.8000 -8.2328 -7.0210 -0.1212 -1.2118
1.0000 -0.8424 0.6550 -0.1499 -1.4973
1.2000 7.3247 7.7330 -0.0410 -0.4083
1.4000 8.7586 7.7036 0.1055 1.0550
1.6000 2.1405 0.5928 0.1549 1.5477
1.8000 -6.4452 -7.0623 0.0619 0.6171
2.0000 -9.1050 -8.2240 -0.0881 -0.8810
2.2000 -3.3936 -1.8244 -0.1571 -1.5693
2.4000 5.4379 6.2527 -0.0816 -0.8148
2.6000 9.2699 8.5811 0.0688 0.6887
2.8000 4.5792 3.0202 0.1560 1.5590
3.0000 -4.3216 -5.3175 0.0998 0.9960
3.2000 -9.2491 -8.7663 -0.0482 -0.4828
3.4000 -5.6731 -4.1554 -0.1519 -1.5177
3.6000 3.1188 4.2760 -0.1159 -1.1572
3.8000 9.0432 8.7760 0.0266 0.2672
4.0000 6.6534 5.2074 0.1447 1.4459

191
Phụlục5
y=
0
40.6270
59.8498
56.3110
33.0542
-2.6630
-40.8333
-71.1639
-85.6052
-80.2136
-56.0032
-18.6594
22.8484
58.4713
79.5653
81.0254
62.5398
28.6662
-12.2811
-50.2616
-75.9651
-83.0899
-69.8857
-39.5814
0.4061
40.2889
70.3038
83.1031
75.5539
49.5051
11.3347

192
x=
0 0 0 0
0.0143 -0.0007 7.0746 0.2214
0.0200 -0.0001 24.0358 0.3103
0.0182 0.0006 43.4230 0.0365
0.0104 0.0006 58.1241 -0.2769
-0.0011 0.0002 62.8525 -0.3779
-0.0136 0.0000 55.2435 -0.3133
-0.0237 -0.0000 36.2931 -0.2092
-0.0284 -0.0001 10.0192 -0.0946
-0.0264 -0.0003 -17.5897 0.0525
-0.0183 -0.0004 -40.0911 0.2124
-0.0059 -0.0003 -52.2031 0.3263
0.0078 -0.0002 -51.1233 0.3516
0.0195 -0.0000 -37.2331 0.2863
0.0264 0.0001 -14.0166 0.1545
0.0267 0.0003 12.7822 -0.0112
0.0205 0.0004 36.5594 -0.1743
0.0092 0.0003 51.4628 -0.2962
-0.0043 0.0002 53.8215 -0.3459
-0.0168 0.0001 43.0423 -0.3100
-0.0252 -0.0001 21.7533 -0.1978
-0.0274 -0.0003 -4.8415 -0.0373
-0.0229 -0.0004 -30.2363 0.1321
-0.0128 -0.0004 -48.2179 0.2692
0.0004 -0.0003 -54.3866 0.3406
0.0136 -0.0001 -47.2343 0.3286
0.0234 0.0000 -28.5135 0.2361
0.0275 0.0002 -2.8089 0.0858
0.0249 0.0003 23.5854 -0.0855
0.0161 0.0004 44.2065 -0.2358
0.0035 0.0003 54.0054 -0.3284
Bang =
0 0 0 0 0 0
0.0500 0.0143 -0.0007 7.0746 0.2214 40.6270
193
0.1000 0.0200 -0.0001 24.0358 0.3103 59.8498
0.1500 0.0182 0.0006 43.4230 0.0365 56.3110
0.2000 0.0104 0.0006 58.1241 -0.2769 33.0542
0.2500 -0.0011 0.0002 62.8525 -0.3779 -2.6630
0.3000 -0.0136 0.0000 55.2435 -0.3133 -40.8333
0.3500 -0.0237 -0.0000 36.2931 -0.2092 -71.1639
0.4000 -0.0284 -0.0001 10.0192 -0.0946 -85.6052
0.4500 -0.0264 -0.0003 -17.5897 0.0525 -80.2136
0.5000 -0.0183 -0.0004 -40.0911 0.2124 -56.0032
0.5500 -0.0059 -0.0003 -52.2031 0.3263 -18.6594
0.6000 0.0078 -0.0002 -51.1233 0.3516 22.8484
0.6500 0.0195 -0.0000 -37.2331 0.2863 58.4713
0.7000 0.0264 0.0001 -14.0166 0.1545 79.5653
0.7500 0.0267 0.0003 12.7822 -0.0112 81.0254
0.8000 0.0205 0.0004 36.5594 -0.1743 62.5398
0.8500 0.0092 0.0003 51.4628 -0.2962 28.6662
0.9000 -0.0043 0.0002 53.8215 -0.3459 -12.2811
0.9500 -0.0168 0.0001 43.0423 -0.3100 -50.2616
1.0000 -0.0252 -0.0001 21.7533 -0.1978 -75.9651
1.0500 -0.0274 -0.0003 -4.8415 -0.0373 -83.0899
1.1000 -0.0229 -0.0004 -30.2363 0.1321 -69.8857
1.1500 -0.0128 -0.0004 -48.2179 0.2692 -39.5814
1.2000 0.0004 -0.0003 -54.3866 0.3406 0.4061
1.2500 0.0136 -0.0001 -47.2343 0.3286 40.2889
1.3000 0.0234 0.0000 -28.5135 0.2361 70.3038
1.3500 0.0275 0.0002 -2.8089 0.0858 83.1031
1.4000 0.0249 0.0003 23.5854 -0.0855 75.5539
1.4500 0.0161 0.0004 44.2065 -0.2358 49.5051
1.5000 0.0035 0.0003 54.0054 -0.3284 11.3347

194
Phụlục6
y=
0
64.3468
35.2323
22.0028
14.2474
7.9633
4.8424
3.1450
1.7957
1.0706
0.6930
0.4038
0.2376
0.1526
0.0905
0.0529
0.0336
0.0202
0.0118
0.0074
0.0045
x=
0 0 0 0
0.0269 -0.0054 39.2159 -4.8865
0.0172 -0.0054 63.1715 2.1820
0.0029 0.0044 77.7530 0.3985
0.0051 -0.0004 86.4985 -1.0152
0.0040 -0.0013 91.8144 0.3020
0.0009 0.0008 95.0541 0.1540
0.0010 0.0001 97.0007 -0.1968
0.0009 -0.0003 98.1809 0.0314
0.0002 0.0001 98.9004 0.0420
0.0002 0.0000 99.3336 -0.0357
195
0.0002 -0.0001 99.5958 0.0005
0.0001 0.0000 99.7556 0.0098
0.0000 0.0000 99.8519 -0.0060
0.0000 -0.0000 99.9102 -0.0010
0.0000 0.0000 99.9457 0.0021
0.0000 0.0000 99.9671 -0.0009
0.0000 -0.0000 99.9800 -0.0004
0.0000 -0.0000 99.9879 0.0004
0.0000 0.0000 99.9927 -0.0001
0.0000 -0.0000 99.9956 -0.0001
Bang =
0 0 0 0 0 0
0.0750 0.0269 -0.0054 39.2159 -4.8865 64.3468
0.1500 0.0172 -0.0054 63.1715 2.1820 35.2323
0.2250 0.0029 0.0044 77.7530 0.3985 22.0028
0.3000 0.0051 -0.0004 86.4985 -1.0152 14.2474
0.3750 0.0040 -0.0013 91.8144 0.3020 7.9633
0.4500 0.0009 0.0008 95.0541 0.1540 4.8424
0.5250 0.0010 0.0001 97.0007 -0.1968 3.1450
0.6000 0.0009 -0.0003 98.1809 0.0314 1.7957
0.6750 0.0002 0.0001 98.9004 0.0420 1.0706
0.7500 0.0002 0.0000 99.3336 -0.0357 0.6930
0.8250 0.0002 -0.0001 99.5958 0.0005 0.4038
0.9000 0.0001 0.0000 99.7556 0.0098 0.2376
0.9750 0.0000 0.0000 99.8519 -0.0060 0.1526
1.0500 0.0000 -0.0000 99.9102 -0.0010 0.0905
1.1250 0.0000 0.0000 99.9457 0.0021 0.0529
1.2000 0.0000 0.0000 99.9671 -0.0009 0.0336
1.2750 0.0000 -0.0000 99.9800 -0.0004 0.0202
1.3500 0.0000 -0.0000 99.9879 0.0004 0.0118
1.4250 0.0000 0.0000 99.9927 -0.0001 0.0074
1.5000 0.0000 -0.0000 99.9956 -0.0001 0.0045

196
TÀILIỆUTHAM KHẢO
1. Trần Quang Khánh (2013).Matlab ứng dụng, tập 1, 2.Nxb. Khoa họcvà
Kỹ thuật.
2. Nguyễn Bình Thành, Nguyễn Trần Quân, Phạm Khắc Chương
(1971).Cơ sở lý thuyết mạch (quyển 1,2).Nxb. Đại học và Trung học chuyên
nghiệp.
3. https://www.youtube.com/watch?v=d34nosv-_uc, Lecture Series on
Networks and Systems by Prof.V.G.K.Murti, Department of Electrical
Engineering, IIT Madras.
4. https://www.youtube.com/watch?v=kE1y_8gTGKg, 20 sept. 2013 -
Ajouté par H. K. F.
5. https://www.youtube.com/watch?v=d34nosv-_uc,Lecture - 45 State-
Variable Methods (1), Prof.V.G.K.Murti, Department of Electrical Engineering,
IIT Madras.
6. https://en.wikibooks.org/wiki/Control.../State-Space_Equations
7. www.linguee.fr/anglais-francais/traduction/transient+response.html
8. ww.calvin.edu/~svleest/circuitExamples/TransientAnalysis/Examples
(with links to solutions) of Transient Circuit Analysis.
9. www.ece.utah.edu/eceCTools/StateSpace/StateSpaceCircTutor.ht
10.www.ee.hacettepe.edu.tr/.../Matlab/MatLab/Matlab-Electronicstronics
andcircuitanalysisusingMATLAB/JohnOkyereAttiap.cm.Includes bibliographical
references and index. ISBN 0-8493-1176-4 (alk. paper).
11.http://mientayvn.com/Dien...bai_giang_matlab_8596.pdf

197
198
MỤCLỤC
LỜINÓIĐẦU….....................................................................................................3
Chương1.MATLABCƠBẢNỨNGDỤNGTRONGMẠCHTUYẾN TÍNH..........5
1.1. CàiđặtvàkhởiđộngMatlab…...........................................................................5
1.1.1. CàiđặtMatlab…...........................................................................................5
1.1.2. KhởiđộngMatlab.........................................................................................7
1.2. BắtđầulàmquenvớiMatlab..............................................................................8
1.2.1. Cửasổlệnh...................................................................................................8
1.2.2. Hiệuchỉnh,sửađổidònglệnh.........................................................................8
1.2.3. Xoácửasổlệnh..............................................................................................8
1.2.4. Dừngmộtchươngtrìnhđangchạy..................................................................9
1.2.5. Dònglệnhdài................................................................................................9
1.3. CácphéptoáncơbảncủaMatlab........................................................................9
1.3.1. Sốvàcácphéptínhsơcấp................................................................................9
1.3.2. Cácphéptínhvềsốphức...............................................................................10
1.4. MatrậnvàmảngtrongMatlab..........................................................................11
1.4.1. NhậpmatrậntrongMatlab..........................................................................11
1.4.3. Truynhậpcácphầntửcủamatrận.................................................................14
1.4.4. Phéptínhmatrậnvàmảng............................................................................15
1.4.5. Lệnhlsim....................................................................................................18
1.5. Mộtsốlệnhđặcbiệtứngdụnggiảimạch điện....................................................19
1.5.1. VănbảntrongMatlab.................................................................................19
1.5.2. M.filetrongMatlab......................................................................................20
1.5.3. Cáchtạomộthàm........................................................................................21
1.5.4. Sửdụnghàmcósẵn......................................................................................22
1.5.5. Lệnhxóa.....................................................................................................22
1.6. Symbolictoolbox..........................................................................................23
1.6.1. Giớithiệuvềsymbolic.................................................................................23
1.6.2. LệnhvàhàmtrongSymbolicMatlab.............................................................23
1.7. ĐồhọatrongMatlab.......................................................................................31
1.7.1. Cửasổđồhọavàthanhcôngcụđồhọa...........................................................31
1.7.2. Kiểuđườngnétvẽ,điểmđánhdấuvàmàusắccủađồthị...................................32
1.7.3. Trụctọađộvàlướichođồthị.........................................................................33
1.7.4. Điềnkýtựvàođồthị......................................................................................34
199
1.7.5. Đồthịhaichiều(2D)....................................................................................36
1.7.6. Trìnhbàyđồthị...........................................................................................39
1.7.7. Thayđổicácthuộctínhcủađồthị...................................................................41
Chương2.GIẢIMẠCHTUYẾNTÍNHỞCHẾĐỘXÁCLẬP.................................44
2.1. Kháiniệmchungvềmạchđiệntuyếntínhởchếđộxáclập...................................44
2.1.1. Mạchđiệntuyếntính...................................................................................44
2.1.2. Địnhnghĩamạchđiệntuyếntínhởchếđộxáclậpđiềuhòa................................45
2.1.3. Cấutrúcmạchđiện......................................................................................45
2.2. Matrậnmôtảcấutrúcmạchđiện.......................................................................46
2.1.1. Matrậnnút–nhánh.....................................................................................46
2.1.2. Matrậnvòng–nhánh...................................................................................47
2.3. Cácbàithựchànhmạchtuyếntínhởchếđộxáclập….......................................47
2.3.1. Bài1:Giảimạchđiệntuyếntínhởchếđộxáclậpbằngphươngpháp dòng nhánh
47
2.3.2. Bài2:Giảimạchđiệntuyếntínhởchếđộxáclậpbằngphươngphápdòngvòng55
2.3.3. Bài3: Giải mạch điện tuyến tính ởchế độ xáclậpbằng phương phápđiện
thế nút…..............................................................................................................63
2.3.5. Bài4:Giảimạchđiệntuyếntínhcóhỗcảmởchếđộxáclậpbằngphương pháp
dòng vòng và điện thế nút….............................................................................70
2.3.6. Bài5:ỨngdụngMatlabgiảimạchđiện3 pha….............................................79
Chương3.ỨNGDỤNGMATLABGIẢIMẠCHĐIỆNTUYẾNTÍNHỞ
CHẾĐỘQUÁĐỘ.................................................................................................93
3.1. Xâydựnghệphươngtrìnhtrạngtháicủamạchđiện............................................93
3.2. Giảimạchđiệnquáđộtheohaiphươngpháp...................................................94
3.2.1. Bài1:Giảimạchtuyếntínhởchếđộquáđộtheophươngpháptích phân kinh
điển 94
3.2.2. Bài2:Giảimạchđiệntuyếntínhởchếđộquáđộtheophươngpháp toán tử
Laplace..............................................................................................................113
Chương 4. MÔ PHỎNG MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ ĐỘ QUÁ
ĐỘBẰNGSIMULINK......................................................................................129
4.1. ĐạicươngvềSimulink.................................................................................129
4.2. CácthưviệntrongSimulink..........................................................................130
4.2.1. ThưviệnMathOperations.........................................................................130
4.2.2. Thưviện Sources......................................................................................132
200
4.2.3. Thưviện Sinks…......................................................................................134
4.2.4. ThưviệnSignalsvàSubsystems..................................................................138
4.2.5. ThưviệnContinuous.................................................................................140
4.2.6. ThưviệnSimPowerSysstems.....................................................................142
4.3. SoạnthảosơđồmôphỏngSimulink...............................................................143
4.3.1. Tạocáckhốichứcnăng..............................................................................144
4.3.2. Nốiliênkếtcáckhốichứcnăng....................................................................144
4.3.3. Điềnvănbảntrênsơđồ..............................................................................144
4.3.4. Địnhdạngkhối.........................................................................................144
4.3.5. Địnhdạngđườngnối.................................................................................145
4.3.6. Điềncácthamsốchokhối...........................................................................145
4.3.7. Hiệuchỉnhsơđồ........................................................................................145
4.4. ChuẩnbịvàchạychươngtrìnhmôphỏngSimulink.........................................145
4.4.1. Đặtcácthamsốmôphỏngvàthuậtgiải........................................................145
4.4.2. Đặtkíchthướcbướcgiải............................................................................146
4.4.3. Đặtsaisố,giámsátcácđiểmkhôngvàđặtcácchếđộnhập,xuấtdữliệu
..........................................................................................................................146
4.4.4. Tốiưuhóaquátrìnhgiảivàbáolỗi...............................................................147
4.4.5. Khởiđộngvàdừngchươngtrìnhmôphỏng..................................................147
4.4.6. Đọckếtquả...............................................................................................147
4.5. Cácbàithựchành…......................................................................................147
4.5.1. Bài1.Môphỏngmạchđiệntheophươngtrìnhtrạngthái...............................147
4.5.2. Bài 2. Mô phỏng mạch điện ở chế độ quá độ theo sơ đồ cấu trúc
mạchđiện...........................................................................................................166
TÀILIỆUTHAMKHẢO....................................................................................197

201

You might also like