📄 tphckt.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Tphckt.m - solves for currents & voltages of a 3-phase load
% supplied by a 3-phase source. Source & load can be
% unbalanced with or without neutral connection. Both
% source & load are wye connected. a.b.c phase
% sequence is assumed. Line impedance is modeled.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear; disp(' ');
disp(' THREE-PHASE CIRCUIT ANALYSIS'); disp(' ');
BalV=input(' Source balanced? ( 1=Yes, 2=No ) ');
if BalV==1
magVan=input(' magVan = ');
angVan=input(' angVan = ')*pi/180;
magVbn=magVan; angVbn=angVan+2*pi/3;
magVcn=magVan; angVcn=angVan-2*pi/3;
elseif BalV==2
magVan=input(' magVan = ');
angVan=input(' angVan = ')*pi/180;
magVbn=input(' magVbn = ');
angVbn=input(' angVbn = ')*pi/180;
magVcn=input(' magVcn = ');
angVcn=input(' angVcn = ')*pi/180;
else; disp(' INPUT ERROR on VOLTAGE BALANCE');
end
Van=magVan*exp(j*angVan); Vbn=magVbn*exp(j*angVbn);
Vcn=magVcn*exp(j*angVcn); ;disp(' ');
BalL=input(' Load balanced? ( 1=Yes, 2=No ) ');
if BalL==1
magZa=input(' magZa = ');
angZa=input(' angZa = ')*pi/180;
magZb=magZa; angZb=angZa;
magZc=magZa; angZc=angZa;
elseif BalL==2
magZa=input(' magZa = ');
angZa=input(' angZa = ')*pi/180;
magZb=input(' magZb = ');
angZb=input(' angZb = ')*pi/180;
magZc=input(' magZc = ');
angZc=input(' angZc = ')*pi/180;
else; disp(' INPUT ERROR on LOAD BALANCE');
end;
disp(' '); LZ=input(' Line impedance? ( 1=Yes, 2=No ) ');
if LZ==2; magZl=0; angZl=0;
else
magZl=input(' magZl = ');
angZl=input(' angZl = ')*pi/180;
end
Za=magZa*exp(j*angZa); Zb=magZb*exp(j*angZb);
Zc=magZc*exp(j*angZc); Zl=magZl*exp(j*angZl); disp(' ');
N=input(' Neutral connection? ( 1=Yes, 2=No ) '); disp(' ');
if N~=1 & N~=2; disp(' INPUT ERROR on NEUTRAL'); end
if N==1
A=[Za+Zl 0 0; 0 Zb+Zl 0; 0 0 Zc+Zl];
I=inv(A)*[Van Vbn Vcn].';
else
A=[Za+Zl -Zb-Zl 0; 0 Zb+Zl -Zc-Zl; 1 1 1];
I=inv(A)*[Van-Vbn Vbn-Vcn 0].';
end
VN=[Za 0 0; 0 Zb 0; 0 0 Zc]*I;
disp(' '); disp(' LOAD CURRENT in POLAR FORM');
disp([abs(I) angle(I)*180/pi]);
if N==1
disp(' '); In=I(1)+I(2)+I(3); angIn=angle(In)*180/pi;
disp([' In = ', num2str(abs(In)), '|_', ...
num2str(angIn), ' Load->Source']);
end
disp(' '); disp(' LOAD VOLTAGE in POLAR FORM');
disp([abs(VN) angle(VN)*180/pi]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -