16 lines
412 B
Mathematica
16 lines
412 B
Mathematica
|
|
function [dV, dVangle]=Solv(busNum,jaco,dP,dQ)
|
|||
|
|
|
|||
|
|
%y=klu (jaco, '\', full(-[dP;dQ]));
|
|||
|
|
y=jaco\(-[dP;dQ]);
|
|||
|
|
% [L,U] = luinc(jaco,1e-3); %luinc(A,'0')Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>£<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>ILU
|
|||
|
|
% tol=1e-5; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>
|
|||
|
|
% restart=30; % 30-50֮<EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>С
|
|||
|
|
% maxit=100; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
% [x,flag]=gmres(jaco,-[dP;dQ],restart,tol,maxit);
|
|||
|
|
% y=sparse(x);
|
|||
|
|
|
|||
|
|
y=sparse(y);
|
|||
|
|
dV=y(1:busNum);
|
|||
|
|
dVangle=y(busNum+1:end);
|
|||
|
|
|
|||
|
|
end
|