📄 in.m
字号:
fid=fopen('data.txt','rt');
generatordata=fscanf(fid,'%g');
status=fclose(fid);
XD=generatordata(1);
XAD=generatordata(2);
RXF=generatordata(3);
RXD=generatordata(4);
RF=generatordata(5);
RD=generatordata(6);
RXFD=generatordata(7);
XQ=generatordata(8);
XAQ=generatordata(9);
RXH=generatordata(10);
RXQ=generatordata(11);
RH=generatordata(12);
RQ=generatordata(13);
RR=generatordata(14);
DLTTY=generatordata(15);
TMAX=generatordata(16);
U0=generatordata(17);
SITA0=generatordata(18); %INPUT GENERATORDATA
DLTT=DLTTY*314.15927;
DLTT2=DLTT/2;
OMG=1.0;PAI=3.1415927;T=0;TY=0;
X=zeros(6,1); %save id,iq,iF,iD,iH,iQ
E=zeros(6,1);
C=[-(XD+DLTT2*RR),DLTT2*OMG*XQ,XAD,XAD,-DLTT2*OMG*XAQ,-DLTT2*OMG*XAQ;
-DLTT2*OMG*XD,-(XQ+DLTT2*RR),DLTT2*OMG*XAD,DLTT2*OMG*XAD,XAQ,XAQ;
-XAD,0,RXF++DLTT2*RF,RXFD,0,0;
-XAD,0,RXFD,RXD+DLTT2*RD,0,0;
0,-XAQ,0,0,RXH+DLTT2*RH,XAQ;
0,-XAQ,0,0,XAQ,RXQ+DLTT2*RQ]; %creat the matric C
X(3)=U0/XAD;
UF=RF*X(3); %creat the senior value
fid=fopen('outputdata.txt','wt');
while TY<(TMAX-DLTTY)
T=T+DLTT;
TY=TY+DLTTY;
E(1)=-(XD-DLTT2*RR)*X(1)-DLTT2*OMG*XQ*X(2)+XAD*(X(3)+X(4))+DLTT2*OMG*XAQ*(X(5)+X(6));
E(2)=DLTT2*OMG*XD*X(1)-(XQ-DLTT2*RR)*X(2)-DLTT2*OMG*XAD*(X(3)+X(4))+XAQ*(X(5)+X(6));
E(3)=-XAD*X(1)+(RXF-DLTT2*RF)*X(3)+RXFD*X(4)+DLTT2*2.0*UF;
E(4)=-XAD*X(1)+RXFD*X(3)+(RXD-DLTT2*RD)*X(4);
E(5)=-XAD*X(2)+(RXH-DLTT2*RH)*X(5)+XAQ*X(6);
E(6)=-XAD*X(2)+XAQ*X(5)+(RXQ-DLTT2*RQ)*X(6);
X=C\E; %compute the value of current
AIA=X(1)*cos(SITA0+T)-X(2)*sin(SITA0+T);
AIB=X(1)*cos(SITA0+T-2.0*PAI/3.0)-X(2)*sin(SITA0+T-2.0*PAI/3.0);
AIC=X(1)*cos(SITA0+T+2.0*PAI/3.0)-X(2)*sin(SITA0+T+2.0*PAI/3.0);% park transformation
Y=[TY;AIA;AIB;AIC;X(3)];
fprintf(fid,'%5.4f %8.6f %8.6f %8.6f %8.6f\n',Y); %output data
end
status=fclose(fid);
TIME=zeros(TMAX/DLTTY+1,1);
AIAA=zeros(TMAX/DLTTY+1,1);
AIBB=zeros(TMAX/DLTTY+1,1);
AICC=zeros(TMAX/DLTTY+1,1);
AIF=zeros(TMAX/DLTTY+1,1);
AIF(1)=U0/XAD;
fid=fopen('outputdata.txt','rt');
for n=2:(TMAX/DLTTY+1)
TIME(n)=fscanf(fid,'%g',1);
AIAA(n)=fscanf(fid,'%g',1);
AIBB(n)=fscanf(fid,'%g',1);
AICC(n)=fscanf(fid,'%g',1);
AIF(n)=fscanf(fid,'%g',1);
end %draw curve
figure(1);
plot(TIME,AIAA);
title('定子A相电流');
xlabel('time');
ylabel('Ia');
figure(2);
plot(TIME,AIBB);
title('定子B相电流');
xlabel('time');
ylabel('Ib');
figure(3);
plot(TIME,AICC);
title('定子C相电流');
xlabel('time');
ylabel('Ic');
figure(4);
plot(TIME,AIF);
title('励磁电流');
xlabel('time');
ylabel('Ic');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -