📄 fm_vs.m
字号:
function fm_vs(k,idx0)
% FM_VS computes determinants and eigenvalues during
% time domain integrations
%
% FM_VS(K)
% K integration step number
% IDX0 starting index of the output array
%
%Author: Federico Milano
%Date: 11-Nov-2002
%Version: 1.0.0
%
%E-mail: fmilano@thunderbox.uwaterloo.ca
%Web-site: http://thunderbox.uwaterloo.ca/~fmilano
%
% Copyright (C) 2002-2006 Federico Milano
global Settings Bus DAE Varout
% As
As = DAE.Fx - DAE.Fy*(DAE.Jlfv\DAE.Gx);
AutoState = round(eig(full(As))*1e5)/1e5]';
% Jlf
detJlf = det(DAE.Jlf);
Jlfr = (DAE.Jlf(Bus.n+1:2*Bus.n,Bus.n+1:2*Bus.n) - ...
DAE.Jlf(Bus.n+1:2*Bus.n, 1:Bus.n)*...
(DAE.Jlf(1:Bus.n,1:Bus.n)\DAE.Jlf(1:Bus.n,Bus.n+1:2*Bus.n)));
AutoJlfr = eig(full(Jlfr))';
% Jlfv
detJlfv = det(DAE.Jlfv);
Jlfvr = (DAE.Jlfv(Bus.n+1:2*Bus.n,Bus.n+1:2*Bus.n) - ...
DAE.Jlfv(Bus.n+1:2*Bus.n, 1:Bus.n)*...
(DAE.Jlfv(1:Bus.n,1:Bus.n)\DAE.Jlfv(1:Bus.n,Bus.n+1:2*Bus.n)));
AutoJlfr = eig(full(Jlfr))';
% Jlfd
DAE.Jlfd = (DAE.Jlfv - DAE.Gx*(DAE.Fx\DAE.Fy));
detJlfd = det(DAE.Jlfd);
Jlfdr = (DAE.Jlfd(Bus.n+1:2*Bus.n,Bus.n+1:2*Bus.n) - ...
DAE.Jlfd(Bus.n+1:2*Bus.n, 1:Bus.n)*...
(DAE.Jlfd(1:Bus.n,1:Bus.n)\DAE.Jlfd(1:Bus.n,Bus.n+1:2*Bus.n)));
AutoJlfd = eig(full(Jlfdr))';
vars = [detJlf,detJlfv,detJlfd,AutoState,AutoJlfr,AutoJlfv,AutoJlfd];
idxs = Varout.idx(find(Varout.idx>idx0))-idx0;
Varout.vars(k,[idx0+1:end]) = vars(idxs);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -