@@ -1,7 +1,34 @@
function [ output_args ] = MaxBranchDeviation ( ~ , Linei , Linej , Liner , Linex , Lineb , Transfori , Transforj , Transforr , Transforx , Branchi , Branchg , Branchb , Transfork0 , Volt0 , UAngel0 , Volt , UAngel )
function [ output_args ] = MaxBranchDeviation ( ~ , Linei , Linej , Liner , Linex , Lineb , Transfori , Transforj , Transforr , Transforx , Branchi , Branchg , Branchb , Transfork0 , Volt0 , UAngel0 , Volt , UAngel , FileName , PD0 , QD0 )
% % 最 大 支 路 功 率 偏 差
% 支 路 功 率 包 括 线 路 和 变 压 器
% %
% % 先 用 加 了 误 差 的 负 荷 功 率 计 算 潮 流 值
[ Busnum , Balance , PQstandard , Precision , ~ , ~ , ~ , ~ , ~ , kmax , ~ , . . .
~ , ~ , ~ , ~ , ~ , ~ , ~ , Pointpoweri , PG , QG , ~ , ~ , PVi , PVu , ~ , ~ , ~ , ~ , ~ , ~ , ~ ] = openfile2 ( FileName ) ;
PD = PD0 ;
QD = QD0 ;
% % 形 成 节 点 导 纳 矩 阵
[ ~ , Y , r , c , Angle ] = admmatrix ( Busnum , Linei , Linej , Liner , Linex , Lineb , Transfori , Transforj , Transforr , . . .
Transforx , Transfork0 , Branchi , Branchg , Branchb ) ;
[ P0 , Q0 , U , Uangle ] = Initial ( PG , PD , PQstandard , Pointpoweri , QG , QD , Busnum ) ; % 求 功 率 不 平 衡 量
% disp ( ' 迭 代 次 数 i 最 大 不 平 衡 量 ' ) ;
% % 循 环 体 计 算
for i = 0 : kmax
[ Jacob , PQ , U , Uangle ] = jacobian ( Busnum , Balance , PVi , PVu , U , Uangle , Y , Angle , P0 , Q0 , r , c ) ; % 形 成 雅 克 比 矩 阵
% disp ( ' 第 一 次 雅 克 比 ' ) ;
m = max ( abs ( PQ ) ) ;
m = full ( m ) ;
% fprintf ( ' % u % .8 f \ n ' , i , m ) ;
if m > Precision % 判 断 不 平 衡 量 是 否 满 足 精 度 要 求
[ Uangle , U ] = solvefun ( Busnum , Jacob , PQ , Uangle , U ) ; % 求 解 修 正 方 程 , 更 新 电 压 变 量
else
disp ( [ ' 收 敛 , 迭 代 次 数 为 ' , num2str ( i ) , ' 次 ' ] ) ;
break % 若 满 足 精 度 要 求 , 则 计 算 收 敛
end
end
Volt0 = U ;
UAngel0 = Uangle ;
[ dispLineloss0 dispTransloss0 ] = Lineloss ( Linei , Linej , Liner , Linex , Lineb , Transfori , Transforj , Transforr , Transforx , Branchi , Branchg , Branchb , Transfork0 , Volt0 , UAngel0 ) ;
[ dispLineloss dispTransloss ] = Lineloss ( Linei , Linej , Liner , Linex , Lineb , Transfori , Transforj , Transforr , Transforx , Branchi , Branchg , Branchb , Transfork0 , Volt , UAngel ) ;
t1 = ( dispLineloss0 ( : , 3 ) - dispLineloss ( : , 3 ) ) . / dispLineloss0 ( : , 3 ) ;