Y(i,j)=Y(i,j)-1/sqrt(-1)/byqy(qq,4); Y(j,i)=Y(i,j); end
%考虑三绕组变压器参数影响 for qq3=1:q3 i=byqy3(qq3,1); j=byqy3(qq3,2); p=byqy3(qq3,3); q=byqy3(qq3,4);
Y(i,i)=Y(i,i)+1/sqrt(-1)/byqy3(qq3,8); Y(j,j)=Y(j,j)+1/sqrt(-1)/byqy3(qq3,9); Y(p,p)=Y(p,p)+1/sqrt(-1)/byqy3(qq3,10);
Y(q,q)=Y(q,q)+(1/byqy3(qq3,8)+1/byqy3(qq3,9)+1/byqy3(qq3,10))/1i; Y(i,q)=Y(i,q)-1/sqrt(-1)/byqy3(qq3,8); Y(j,q)=Y(j,q)-1/sqrt(-1)/byqy3(qq3,9); Y(p,q)=Y(p,q)-1/sqrt(-1)/byqy3(qq3,10); Y(q,i)=Y(i,q); Y(q,j)=Y(j,q); Y(q,p)=Y(p,q); end
Z=inv(Y);
%计算短路点电流 If=1/Z(f,f);
%计算各节点电压 for i=1:n
V(i)=1-If*Z(i,f); end
for i=1:n %计算各支路电流 for j=1:n
I(i,j)=(V(i)-V(j))/z(i,j); end end
%全部求模,便于显示 Y=imag(Y);
16
Z=imag(Z); If=imag(If); I=imag(I);
%显示电流、电压等结果
set(handles.If,'String',num2str(If)); set(handles.dianliu,'Data',I); set(handles.dianya,'Data',V); set(handles.y,'Data',Y); set(handles.z,'Data',Z);
n=str2num(get(handles.jiedian,'String')); f=str2num(get(handles.duanludian,'String')); p=str2num(get(handles.fdj,'String')); q=str2num(get(handles.byq2,'String')); s=str2num(get(handles.xt,'String')); q3=str2num(get(handles.byq3,'String')); global imagz; global z; global gz; global gs; global gv; global byqy; global byqy3; global sz;
ge=[gz gs gv];
If=str2num(get(handles.If,'String')); I=get(handles.dianliu,'Data'); V=get(handles.dianya,'Data'); Y=get(handles.y,'Data'); Z=get(handles.z,'Data');
[filename, pathname] = uiputfile({'*.txt','txt-files(*.txt)'},'保存txt','Result.txt'); if filename==0
msgbox('您未选择保存!','对话框','warn'); return
else msgbox('保存成功!','对话框','help'); end
filename=[pathname,filename];
fid=fopen(filename,'wt'); %获得打开文件的返回值,功能类似于指针 fprintf(fid,'\\n%s\\n','短路计算结果为:'); fprintf(fid,'\\n%s\\n','①Y矩阵如下');
17
for i=1:n
for j=1:n
fprintf(fid,'%f ',Y(i,j)); end
fprintf(fid,'\\n'); end
fprintf(fid,'\\n%s\\n','②Zif如下'); for i=1:n
fprintf(fid,'%f ',Z(i,1)); fprintf(fid,'\\n'); end
fprintf(fid,'\\n%s %f\\n','③短路电流大小:If=',If); fprintf(fid,'\\n%s\\n','④各节点电压为:'); for i=1:n
fprintf(fid,'%s %d %s %f\\t','U',i,'=',V(i)); end
fprintf(fid,'\\n');
fprintf(fid,'\\n%s\\n','⑤各支路电流I为') for i=1:n
for j=1:n
fprintf(fid,'%f ',I(i,j)); end
fprintf(fid,'\\n'); end
fclose(fid);
18
评分一览表:
答辩成绩 45% 输入输出数据 10% 人机界面 15% 课设报告 25% 按时完成 5% 总分
指导老师签字: 年 月 日
19