如果输入参数少于7项Р mpopt = mpoption; % 则设置mpopt的缺省值为mpoptionР endР %% 求解选项Р tol = mpopt.pf.tol; % 终止误差限Р max_it = mpopt.pf.nr.max_it; % 最大迭代次数Р %% 初始化Р converged = 0; % 收敛标志位清零,不收敛Р i = 0;Р V = V0; % 迭代次数清零% 初始电压值Р Va = angle(V); % 电压相位初始值Р Vm = abs(V); % 电压幅值初始值Р %% 为了更新电压,建立电压的指针Р npv = length(pv); % PV节点数目Р npq = length(pq); % PQ节点数目Р j1 = 1; j2 = npv; %% PV节点的电压相角Р j3 = j2 + 1; j4 = j2 + npq; %% PQ节点的电压相角Р –10–Р j5 = j4 + 1; j6 = j4 + npq; %% PQ节点的电压幅值Р %% 计算修正方程式的常数项Р mis = V .* conj(Ybus * V) - Sbus; % 计算误差Р F = [ real(mis([pv; pq])); % delta(P) 有功误差Р imag(mis(pq)) ]; % delta(Q) 无功误差Р %% 判断误差Р normF = norm(F, inf); % F的无穷范数(等效于取最大值)Р if mpopt.verbose > 1 % 如果该标志位大于1,则保存进度信息到文档 fprintf('\n it max P & Q mismatch (p.u.)');Р fprintf('\n---- ---------------------------');