📄 fcall.m
字号:
function fcall(a)global DAEif ~a.n, return, endIdc = DAE.x(a.Idc);xr = DAE.x(a.xr);xi = DAE.x(a.xi);Vrdc = DAE.y(a.Vrdc);Vidc = DAE.y(a.Vidc);yr = DAE.y(a.yr);yi = DAE.y(a.yi);V1 = DAE.y(a.v1);V2 = DAE.y(a.v2);Ki = a.u.*a.con(:,13);Rdc = a.dat(:,1);Tdc = a.dat(:,2);uI = a.u.*(a.dat(:,9)+a.dat(:,10));uV = a.u.*a.dat(:,11);DAE.f(a.Idc) = a.u.*((Vrdc-Vidc)./Rdc-Idc)./Tdc;DAE.f(a.xr) = Ki.*(yr-uI.*Idc-uV.*Vrdc);DAE.f(a.xi) = Ki.*(uI.*Idc+uV.*Vidc-yi);idx = find(xr <= a.dat(:,4) & DAE.f(a.xr) < 0);if ~isempty(idx), DAE.f(a.xr(idx)) = 0; endidx = find(xr >= a.dat(:,3) & DAE.f(a.xr) > 0);if ~isempty(idx), DAE.f(a.xr(idx)) = 0; end% freeze the inverter controller at the minimum gamma%idx = find(xi <= a.dat(:,6) & DAE.f(a.xi) < 0);%if ~isempty(idx), DAE.f(a.xi(idx)) = 0; end%idx = find(xi >= a.dat(:,5) & DAE.f(a.xi) > 0);%if ~isempty(idx), DAE.f(a.xi(idx)) = 0; endDAE.f(a.xi) = 0;DAE.x(a.xi) = a.u.*a.dat(:,6);DAE.x(a.xr) = max(xr,a.dat(:,4));DAE.x(a.xr) = a.u.*min(DAE.x(a.xr),a.dat(:,3));%DAE.x(a.xi) = max(xi,a.dat(:,6));%DAE.x(a.xi) = min(DAE.x(a.xi),a.dat(:,5));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -