📄 smphasor.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% smphasor.m - Draws phasor diagram for a round rotor
% synchronous machine. Per unit values used.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
mode=input('Operating mode ( gen or mot ) ','s');
PF=input('Power Factor ( numerical value ) ');
if PF < 0 | PF > 1; disp('WARNING - Improper PF value'); pause;
else; end
if PF ~= 1.0
PFS=input('PF Sense ( leading or lagging ) ','s');
else; PFS='unityPF'; end
VL=1.0; Ia=1.0; Vt=VL;
Ra=0.05; Xs=0.9; Xl=0.15*Xs; thet=acos(PF);
if PFS == 'lagging'
Ia=Ia*exp(-j*thet);
elseif PFS == 'leading'
Ia=Ia*exp(j*thet);
elseif PFS == 'unityPF'
Ia=Ia+j*0;
else; end
if mode == 'mot'
p1=0; p2=Vt; p3=Vt-Ra*Ia;
p4=Vt-(Ra+j*Xs)*Ia; p5=Vt-(Ra+j*Xl)*Ia;
elseif mode == 'gen'
p1=0; p2=Vt; p3=Vt+Ia*Ra;
p4=Vt+(Ra+j*Xs)*Ia; p5=Vt+(Ra+j*Xl)*Ia;
else; end
P=[p1 p2 p3 p4 p1 p5];
R=abs(P);Rm=1.1*max(R);
A=angle(P); figure(1);
polar(0,Rm); hold; % Size plot scale
polar(A,R); polar(A(2),0.98*R(2),'>'); % Van arrow head
polar(A(4),R(4),'.'); % Dot at tip of Ef
polar(A(6),R(6),'.'); hold off; % Dot at tip of Er
if mode == 'gen'; text(0.8*R(2),-0.1*R(2),'Van');
else; text(0.8*R(2),0.1*R(2),'Van'); end
text(1.05*real(p4),1.1*imag(p4),'Ef');
text(1.05*real(p5),1.1*imag(p5),'Er');
text(-0.9*Rm,0.4*Rm,'Synchronous');
text(-0.9*Rm,0.3*Rm,'machine (RR)');
text(-0.9*Rm,0.2*Rm,'phasor');
text(-0.9*Rm,0.1*Rm,'diagram');
if mode == 'mot'
text(-0.9*Rm,-0.1*Rm,'Motor mode');
else
text(-0.9*Rm,-0.1*Rm,'Generator mode');
end
text(-0.9*Rm,-0.2*Rm,['PF = ',num2str(PF),' ',PFS]);
text(-0.9*Rm,-0.3*Rm,date);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -