📄 setx0.m
字号:
function a = setx0(a)global Syn DAEif ~a.n, return, endPorder = Syn.pm(a.syn);M = Syn.con(:,18);if a.ty1 Porder1 = Porder(a.ty1); gain = 1./a.con(a.ty1,4); tmax = a.con(a.ty1,5); tmin = a.con(a.ty1,6); Ts = a.con(a.ty1,7); Tc = a.con(a.ty1,8); T3 = a.con(a.ty1,9); T4 = a.con(a.ty1,10); T5 = a.con(a.ty1,11); as = 1./Ts; ac = 1./Tc; a5 = 1./T5; K1 = T3.*ac; K2 = 1 - K1; K3 = T4.*a5; K4 = 1 - K3; a.dat1 = [a.tg1(a.ty1), ... % 1 a.tg2(a.ty1), ... % 2 a.tg3(a.ty1), ... % 3 gain, ... % 4 tmax, ... % 5 Porder1, ... % 6 as, ... % 7 ac, ... % 8 a5, ... % 9 K1, ... % 10 K2, ... % 11 K3, ... % 12 K4, ... % 13 Syn.omega(a.syn(a.ty1)), ... % 14 1./M(a.syn(a.ty1))]; % 15 DAE.x(a.dat1(:,1)) = a.dat1(:,6); DAE.x(a.dat1(:,2)) = a.dat1(:,11).*a.dat1(:,6); DAE.x(a.dat1(:,3)) = a.dat1(:,13).*a.dat1(:,6); DAE.f(a.dat1(:,1)) = 0; DAE.f(a.dat1(:,2)) = 0; DAE.f(a.dat1(:,3)) = 0; endif a.ty2 Porder2 = Porder(a.ty2); gain = 1./a.con(a.ty2,4); tmax = a.con(a.ty2,5); tmin = a.con(a.ty2,6); T1 = a.con(a.ty2,8); T2 = a.con(a.ty2,7); a2 = 1./T2; K1 = gain.*T1.*a2; K2 = gain - K1; a.dat2 = [a.tg(a.ty2), ... % 1 gain, ... % 2 tmax, ... % 3 tmin, ... % 4 Porder2, ... % 5 a2, ... % 6 K1, ... % 7 K2, ... % 8 Syn.omega(a.syn(a.ty2)), ... % 9 1./M(a.syn(a.ty2))]; % 10 DAE.x(a.dat2(:,1)) = 0; DAE.f(a.dat2(:,1)) = 0;endmaxlmt = find(Porder > a.con(:,5));minlmt = find(Porder < a.con(:,6));for i = 1:length(maxlmt) fm_disp(['Pmech greater than maximum limit for TG #', ... num2str(maxlmt(i))],1)endfor i = 1:length(minlmt) fm_disp(['Pmech less than minimum limit for TG #', ... num2str(minlmt(i))],1)endif isempty(maxlmt) & isempty(minlmt) fm_disp('Initialization of Turbine Gorvernors completed.',1)else fm_disp('Initialization of Turbine Gorvernors failed.',2) returnend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -