Tài liệu Báo cáo Khoa học Ứng dụng matlab giải mạch điện tuyến tính ở chế độ xác lập: ứng dụng matlab giải mạch điện tuyến tính ở chế độ xác lập
Application of Matlab in solving linear electric circuit in the defining mode
Nguyễn Thị Hiên1, Ngô Thị Tuyến1
SUMMARY
The application of Matlab (Matrix - Laboratory) helps students as well as electric
technical staff solve electric problems quickly, accurately; especially for electric circuit
which has a large number of nodes and branches. The use of matrix to illustrate basic
system of equations: Branch currents, round currents, potential nots... are important
basis for analysing Matlab - used electric circuit by computers.
Based on research into theory of algebraic matrix, circuit structure and application of
Matlab software, we have established algorithm and programming software to solve electric
circuit problems, using basic methods: branch current, round current, potential node. The
program try run successfully and produced results similar to those of manual calculation,
while saved a lot of time...
9 trang |
Chia sẻ: haohao | Lượt xem: 1357 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Báo cáo Khoa học Ứng dụng matlab giải mạch điện tuyến tính ở chế độ xác lập, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ứng dụng matlab giải mạch điện tuyến tính ở chế độ xác lập
Application of Matlab in solving linear electric circuit in the defining mode
Nguyễn Thị Hiên1, Ngô Thị Tuyến1
SUMMARY
The application of Matlab (Matrix - Laboratory) helps students as well as electric
technical staff solve electric problems quickly, accurately; especially for electric circuit
which has a large number of nodes and branches. The use of matrix to illustrate basic
system of equations: Branch currents, round currents, potential nots... are important
basis for analysing Matlab - used electric circuit by computers.
Based on research into theory of algebraic matrix, circuit structure and application of
Matlab software, we have established algorithm and programming software to solve electric
circuit problems, using basic methods: branch current, round current, potential node. The
program try run successfully and produced results similar to those of manual calculation,
while saved a lot of time.
We hope this article will help many people, especially Electric Engineering students
to solve electric problems quickly and effectively.
Key words: Branch circuits, round circuits, potential nodes, matrix.
1. ĐặT VấN Đề1
Lý thuyết mạch điện là một môn học rất
quan trọng, là cơ sở để nghiên cứu các môn cơ
sở khác và các môn chuyên môn của ngành
Kỹ thuật điện. Với số l−ợng bài tập lớn, khối
l−ợng tính toán nhiều, và nhất là phân tích
mạch điện phức tạp có nhiều nút, nhánh, nên
khi giải các bài toán thực tế và kiểm tra kết
quả tính, sinh viên sẽ phải tốn nhiều công sức
và dễ nhầm lẫn. Tr−ớc kia, sinh viên ngành Kỹ
thuật điện th−ờng dùng các công cụ hỗ trợ thủ
công: th−ớc tính Logarit, sau nữa là máy tính
bỏ túi. Ngày nay, tin học và máy tính điện tử
đã trở thành công cụ đắc lực giúp sinh viên
giải quyết nhanh và thuận lợi các bài toán kỹ
thuật. Tuy nhiên, với các ngôn ngữ lập trình:
1 Khoa Cơ Điện, Đại học Nông nghiệp I.
Pascal, C, ..., việc phân tích mạch th−ờng chỉ
dừng lại ở các bài toán mạch điện tuyến tính
có thông số thực, điều này làm mất đi tính
tổng quát của bài toán. Hơn nữa, đòi hỏi ng−ời
sử dụng bắt buộc phải có kiến thức về lập
trình. Sự ra đời của phần mềm ứng dụng
Matlab đã mở ra nhiều triển vọng trong việc
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ới t− duy toán học và đặc biệt
xử lý dễ dàng đối với số phức, phần mềm này
là công cụ mạnh để giải quyết nhanh và chính
xác các bài toán phân tích mạch điện.
2. PHƯƠNG PHáP NGHIÊN CứU
Từ những nghiên cứu lý thuyết về đại số
ma trận, cấu trúc graph ứng dụng trong lý
thuyết mạch điện kết hợp với khai thác các
tiện ích của phần mềm Matlab, chúng tôi xây
Tạp chí KHKT Nông nghiệp 2007: Tập V, Số 2: 80-86 Đại học Nông nghiệp I
dựng thuật toán và lập trình giải các bài toán
mạch điện bằng các ph−ơng pháp cơ bản:
Ph−ơng pháp dòng nhánh, Ph−ơng pháp dòng
vòng và điện thế điểm nút.
3. KếT QUả NGHIÊN CứU
Bài toán đặt ra: biết sơ đồ cấu trúc của
mạch (gồm m nhánh, n nút), biết thông số các
phần tử, yêu cầu xác định dòng điện (điện áp)
sinh ra trong các nhánh, từ đó có thể kiểm tra
cân bằng công suất.
3.1. Thiết lập các ma trận mô tả cấu trúc
mạch điện
a) Ma trận nhánh - nút
Ma trận nhánh - nút A có số hàng là số
nhánh, số cột là số nút độc lập của mạch điện
Aij = 1 khi j là nút đầu của nhánh i;
Aij = -1 khi j là nút cuối của nhánh i;
Aij = 0 trong các tr−ờng hợp khác.
b) Ma trận nhánh -vòng]
Ma trận nhánh - vòng C có số hàng là số
nhánh, số cột là số vòng độc lập của mạch
điện.
Cij = 1 khi nhánh i cùng chiều vòng j
Cij = -1 khi nhánh i ng−ợc chiều vòng j
Cij = 0 trong tr−ờng hợp nhánh i không
thuộc vòng j
Ví dụ: Cho graph gồm 6 nhánh, 4 nút nh−
hình 1:
1 2
3
4 5
6
I II
III
3
2
1
0
Hình 1. Ví dụ về một graph
Ta có thể xây dựng đ−ợc các ma trận cấu
trúc của mạch điện trên nh− sau:
Nút Vòng
A=
−
−
−
−
−
−
101
110
011
100
010
001
Nhánh; C =
−−
−
−−
100
110
101
010
011
001
Nhánh
Ma trận A, C cho biết cấu trúc của graph:
Các phần tử trên một hàng của A cho
biết nhánh đó nối giữa các điểm nào với
nhau, ví dụ, hàng 2: nhánh 2 nối nút cơ sở
với nút 2, trong mạch điện nó chỉ rõ chiều
d−ơng của dòng điện trên nhánh ấy đồng
thời cũng cho biết điện áp trên nhánh bằng
hiệu số thế của cặp nút nào (ví dụ u2 = -ϕ2).
Các phần tử trên một cột của một nút chỉ rõ
tại nút đó có những nhánh nào đi ra khỏi
ứng dụng Matlab giải mạch điện tuyến tính ở chế độ xác lập
nút (giá trị 1) và nhánh nào đi vào nút (giá
trị -1).
Đối với ma trận C, các phần tử trên mỗi
hàng chỉ rõ nhánh đó có tham gia vào vòng
không, thuận chiều hay ng−ợc chiều vòng.
Còn các phần tử trên một cột chỉ rõ vòng đó
gồm những nhánh nào, cùng chiều hay ng−ợc
chiều vòng.
3.2. Biểu diễn các ph−ơng pháp tính cơ bản
bằng ma trận
3.2.1. Ph−ơng pháp dòng nhánh
Hệ ph−ơng trình dòng nhánh là hệ ph−ơng
trình viết theo định luật Kiêchôp I và II (
Nguyễn Bình Thành & cs, 1972):
=
=
∑ ∑
∑
kkk
k
EIZ
0I
&&
&
(3-1a)
kI& , Zk, kE& - Dòng điện, tổng trở, sức
điện động trên các nhánh.
Nếu gọi nhI& - ma trận cột, biểu diễn
dòng điện trên các nhánh;
nhU& - ma trận cột, biểu diễn điện áp trên
các nhánh;
Znh - ma trận vuông kích th−ớc m x m,
các phần tử trên đ−ờng chéo chính là tổng trở
riêng các nhánh, Zij là tổng trở t−ơng hỗ giữa
nhánh i và nhánh j;
nutJ& - ma trận cột, biểu diễn nguồn dòng
(phụ tải) ở các nút (độc lập), lấy dấu (+) khi đi
vào nút, nguợc lại lấy dấu (-);
nhE& - ma trận cột các sức điện động trên
các nhánh, lấy dấu (+) khi cùng chiều các
dòng nhánh, nguợc lại lấy dấu (-)
Thì có thể viết hệ (3-1a) d−ới dạng ma
trận:
=
=
nhE.TCnhI.nh.ZTC
nutJnhITA
&&
&&
(3-1b)
Trong đó: AT, CT - Các ma trận chuyển vị
của ma trận A, C.
Đặt: D =
nh.ZTC
TA
(3-1c)
G =
nhE.TC
nutJ
&
&
(3-1d)
Khi đó:
D. nhI& = G (3-1e)
Hay: nhI& = D-1.G (3-2)
D-1 - Ma trận nghịch đảo của ma trận D.
3.2.2. Ph−ơng pháp dòng vòng
Hệ ph−ơng trình dòng vòng tổng quát, [2]:
=+++
=+++
=+++
∑
∑
∑
p
kVppp2V2p1V1p
2
kVpp22V221V21
1
kVpp12V121V11
EI.Z....I.ZI.Z
.........
EI.Z....I.ZI.Z
EI.Z....I.ZI.Z
&&&&
&&&&
&&&&
(3-3a)
Dạng ma trận:
=
Vp
2V
1V
Vp
2V
1V
pp2p1p
p22221
p11211
E
...
E
E
I
...
I
I
.
Z...ZZ
......
Z...ZZ
Z...ZZ
&
&
&
&
&
&
(3-3b)
Hay viết gọn lại:
ZV. VI& = VE& (3-3c)
Trong đó:
Nguyễn Thị Hiên, Ngô Thị Tuyến
ZV =
pp2p1p
p22221
p11211
Z...ZZ
......
Z...ZZ
Z...ZZ
-
ma trận tổng trở vòng, [2], có thể tính
theo ma trận tổng trở nhánh: Zv = CT.Znh.C
VI& - ma trận cột dòng điện vòng
VE& - ma trận sức điện động vòng, VE& =
CT nhE&
Tr−ờng hợp có nguồn dòng nhJ& trong các
nhánh:
VE& = CT. ( nhE& - Znh. nhJ& ) (3-3d)
Khi đó:
VI& = ZV-1. VE& (3-4)
Dòng điện nhánh:
nhI& = C. VI& + nhJ& (3-5)
Điện áp nhánh:
nhU& = Znh. nhI& - nhE& (3-6)
3.2.3. Ph−ơng pháp thế nút
Hệ ph−ơng trình thế nút tổng quát, [2]:
+=+−−−
+=−−+−
+=−−−
∑∑
∑∑
∑∑
−
−−−−−
−−
−−
p
kk
1n
k1n1n,1n222n111n
2
kk
2
k1n1n2222121
1
kk
1
k1n1n1212111
YEJ.Y.....Y.Y
.........
YEJ.Y.....Y.Y
YEJ.Y....Y.Y
&&&&&
&&&&&
&&&&&
ϕϕϕ
ϕϕϕ
ϕϕϕ
(3-7a)
Dùng ma trận:
=
−−
−−
−−
−
−−−−
−
−
1n
2n
1n
3
2
1
1n,1n12n11n
1n22221
1n11211
J
...
J
J
...
.
Y...YY
......
Y...ZY
Y...YY
ϕ
ϕ
ϕ
&
&
&
(3-7b)
Hay:
Ynut. ϕ& = dnutJ& (3-7c)
Trong đó: Ynót - ma trận tổng dẫn nút, có thể xác định theo ma trận tổng trở nhánh
Ynót= AT.Znh
-1.A= AT.Ynh.A
dnutJ& - Ma trận nguồn dòng tại các nút
dnutJ& = nutJ& - AT.Ynh. nhE& (3-7d)
Từ (3-7c), suy ra: ϕ& = Ynut-1. dnutJ& (3-8)
Ma trận dòng điện nhánh: nhI& = Ynh. ( nhU& + nhE& ) (3-9)
Ma trận điện áp nhánh: nhU& = A. ϕ& (3-10)
ứng dụng Matlab giải mạch điện tuyến tính ở chế độ xác lập
Từ điện áp và dòng điện nhánh, tính đ−ợc công suất nhánh (từ đó có thể kiểm tra điều kiện
cân bằng công suất):
Snh = Unh.conj (Inh) (3-11)
Với: conj (Inh) là ma trận liên hợp phức của ma trận dòng nhánh.
3.3. Lập trình giải mạch điện bằng Matlab
Matlab - chữ viết tắt của Matrix
Laboratory - th− viện ma trận, là một phần
mềm ứng dụng, dùng cho các tính toán dựa
trên cơ sở dữ liệu về ma trận (Nguyễn Hoài
Sơn & cs, 2000). Với hàng loạt các hàm
toán học đã đ−ợc xác định tr−ớc, Matlab cho
phép lập ch−ơng trình bằng các lệnh đơn
giản, ngắn gọn, cấu trúc gần với t− duy toán
học. Ch−ơng trình có thể lập trình trên cửa
sổ Command Window hoặc l−u d−ới dạng
các file trong cửa sổ soạn thảo (m-file) cho
các lần sử dụng sau.
a) Sơ đồ thuật toán
Sơ đồ khối mô tả thuật toán đ−ợc cho ở
Hình 2.
Ph−ơng pháp thế nút
Ph−ơng pháp dòng vòng Ph−ơng pháp dòng nhánh
BEGIN
Nhập số liệu bài toán
Nhập các ma trận cấu trúc
D=[A’;C’*Znh]
G=[Jnut;C’*Enh]
Inh=D\G
Unh=Znh*Inh-Enh
Snh=Unh.*conj (Inh)
END
Jdnut=Jnut-A'*Ynh*Enh
Ynh=inv (Znh)
Vnut=Ynut\Jdnut
Unh=A*Vnut
Inh=Ynh* (Unh+Enh)
Ynut=A’*Ynh*A;
Zv=C’*Znh*C;
Ev=C’* (Enh-Znh*Jnh)
Iv = Zv\Ev
Inh=C*Iv + Jnh
Nguyễn Thị Hiên, Ngô Thị Tuyến
Hình 2. Sơ đồ khối mô tả thuật toán của bài toán phân tích mạch điện
b) áp dụng
Cho sơ đồ nh− hình 3, biết: R1 = 10 Ω; X1
= 10 Ω; R2 = 5 Ω ; X2 = 5 Ω; R3 = 30 Ω ; X3 =
40 Ω; hỗ cảm giữa các nhánh X13 = 20Ω; X23
= 10Ω, sức điện động 1E&= 100 V; 2E& =
100∠pi/6 V; J&= 2∠pi/3 A. Hãy tính dòng điện
trong các nhánh bằng các ph−ơng pháp dòng
nhánh, dòng vòng, thế nút.
Số liệu đầu vào của bài toán là tổng trở,
nguồn sức điện động các nhánh, nguồn dòng
bơm vào các nút (nếu có), trên cơ sở đó có
thể lập các ma trận tổng trở nhánh, sức điện
động nhánh, các ma trận cấu trúc... Bài toán
có thể giải bằng ph−ơng pháp dòng nhánh,
ph−ơng pháp dòng vòng hoặc ph−ơng pháp
điện thế nút.
Để giải bài toán, ta viết các lệnh sau trên
MATLAB command window hoặc trong cửa
sổ soạn thảo (m-file):
1
0
R
2 R3
R1
J
E2
jX1 jX 2
jX3
*
*
*
jX13
jX23
E
1
Hình 3. Sơ đồ mạch điện
Clc
%Nhap so liêu bai toan
Z1=10 + j*10;
Z2=5 + j*5;
Z3=30 + j*40;
E1= 100;
E2= 100*exp (j*pi/6);
J= 2*exp (j*pi/3);
%Lap cac ma tran
Enh=[E1;E2;0];
Jnut=[J];
Znh (1,1)=Z1; Znh (2,2)=Z2; Znh (3,3)=Z3;
Znh (1,2)=0; Znh (2,1)=Znh (1,2);
Znh (1,3)=-j*20; Znh (3,1)=Znh (1,3);
Znh (2,3)=-j*10; Znh (3,2)=Znh (2,3);
A = [-1;-1;1];
C=[1 0;0 1;1 1];
+%Giai bai toan bang phuong phap dong
nhanh
disp ('1.Phuong phap dong nhanh');
D=[A';C'*Znh];
G=[Jnut;C'*Enh];
Inh=D\G
Unh=Znh*Inh-Enh
Snh=Unh.*conj (Inh)
%Giai bai toan bang phuong phap dong vong
disp ('2.Phuong phap dong vong');
Jnh=[0;0;J];
Zv=C'*Znh*C;
Ev=C'* (Enh-Znh*Jnh);
Iv = Zv\Ev
Inh=C*Iv + Jnh
Unh=Znh*Inh-Enh
Snh=Unh.*conj (Inh)
% Giai bai toan bang phuong phap the nut
disp ('3.Phuong phap the nut');
Ynh=inv (Znh);
Ynut=A'*Ynh*A;
Jdnut=Jnut-A'*Ynh*Enh;
ứng dụng Matlab giải mạch điện tuyến tính ở chế độ xác lập
Vnut=Ynut\Jdnut
Unh=A*Vnut
Inh=Ynh* (Unh+Enh)
Snh=Unh.*conj (Inh)
Trên màn hình MATLAB command window
sẽ xuất hiện lần luợt:
1. Phuong phap dong nhanh
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
Snh =
1.0e+002 *
0.8392 - 2.4979i
-0.8838 - 1.4602i
2.2537 + 3.2697i
2.Phuong phap dong vong
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
Snh =
1.0e+002 *
0.8392 - 2.4979i
-0.8838 - 1.4602i
2.2537 + 3.2697i
3.Phuong phap the nut
Vnut =
85.0321 +78.4440i
Unh =
-85.0321 -78.4440i
-85.0321 -78.4440i
85.0321 +78.4440i
Inh =
0.9309 - 2.0788i
1.4173 - 0.4097i
3.3482 - 0.7565i
Snh =
1.0e+002 *
0.8392 - 2.4979i
-0.8838 - 1.4602i
2.2537 + 3.2697i
4. KếT LUậN
Cấu trúc của mạch điện bất kỳ có m
nhánh, n nút đều có thể đ−ợc mô tả bởi ma
trận nút - nhánh A và ma trận nhánh - vòng C,
nh− vậy ta có thể giải bài toán Lý thuyết mạch
một cách đơn giản và dễ dàng bằng cách giải
hệ ph−ơng trình các ma trận.
Lập trình bằng Matlab có cấu trúc đơn
giản, ngắn gọn, thuận tiện cho ng−ời sử dụng.
Bài toán cho kết quả nhanh, chính xác, có thể
tính với số phức một cách dễ dàng, đây là −u
điểm nổi bật của Matlab so với các ngôn ngữ
lập trình khác.
Ch−ơng trình viết không thiên về lập trình
tin học, gần gũi với lý thuyết của môn học,
giúp sinh viên củng cố kiến thức môn học
đồng thời có điều kiện kiểm tra kỹ năng tính
toán của bản thân.
Tài liệu tham khảo
Nguyễn Hoài Sơn và cộng sự (2000), ứng
dụng Matlab trong tính toán kỹ thuật.
NXB Đại học quốc gia TP Hồ Chí
Minh.
Nguyễn Bình Thành và cộng sự (1972), Cơ sở
lý thuyết mạch, quyển 1. NXB Đại học
Nguyễn Thị Hiên, Ngô Thị Tuyến
và Trung học chuyên nghiệp, Hà Nội, tr 25- 30, 99-108.
ứng dụng Matlab giải mạch điện tuyến tính ở chế độ xác lập
Các file đính kèm theo tài liệu này:
- Báo cáo khoa học- ứng dụng matlab giải mạch điện tuyến tính ở chế độ xác lập.pdf