⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printpf.asv

📁 可进行电力系统多节点系统的优化潮流计算
💻 ASV
📖 第 1 页 / 共 3 页
字号:
        fprintf(fd, '\n|     Generation Constraints                                                   |');        fprintf(fd, '\n================================================================================');    end    if OUT_PG_LIM == 2 | (OUT_PG_LIM == 1 & ...                             (any(gen(ong, PG) < gen(ong, PMIN) + ctol) | ...                              any(gen(ong, PG) > gen(ong, PMAX) - ctol)))        fprintf(fd, '\n Gen   Bus                Active Power Limits');        fprintf(fd, '\n  #     #    Pmin mu    Pmin       Pg       Pmax    Pmax mu');        fprintf(fd, '\n----  -----  -------  --------  --------  --------  -------');        for k = 1:length(ong)            i = ong(k);            if OUT_PG_LIM == 2 | (OUT_PG_LIM == 1 & ...                        (gen(i, PG) < gen(i, PMIN) + ctol | ...                         gen(i, PG) > gen(i, PMAX) - ctol))                fprintf(fd, '\n%4d%6d ', i, gen(i, GEN_BUS));                if gen(i, PG) < gen(i, PMIN) + ctol                    fprintf(fd, '%8.3f', gen(i, MU_PMIN));                else                    fprintf(fd, '     -  ');                end                if gen(i, PG)                    fprintf(fd, '%10.2f%10.2f%10.2f', gen(i, [PMIN, PG, PMAX]));                else                    fprintf(fd, '%10.2f       -  %10.2f', gen(i, [PMIN, PMAX]));                end                if gen(i, PG) > gen(i, PMAX) - ctol                    fprintf(fd, '%9.3f', gen(i, MU_PMAX));                else                    fprintf(fd, '      -  ');                end            end        end        fprintf(fd, '\n');    end            %% generator Q constraints    if OUT_QG_LIM == 2 | (OUT_QG_LIM == 1 & ...                             (any(gen(ong, QG) < gen(ong, QMIN) + ctol) | ...                              any(gen(ong, QG) > gen(ong, QMAX) - ctol)))        fprintf(fd, '\nGen  Bus              Reactive Power Limits');        fprintf(fd, '\n #    #   Qmin mu    Qmin       Qg       Qmax    Qmax mu');        fprintf(fd, '\n---  ---  -------  --------  --------  --------  -------');        for k = 1:length(ong)            i = ong(k);            if OUT_QG_LIM == 2 | (OUT_QG_LIM == 1 & ...                        (gen(i, QG) < gen(i, QMIN) + ctol | ...                         gen(i, QG) > gen(i, QMAX) - ctol))                fprintf(fd, '\n%3d%5d', i, gen(i, GEN_BUS));                if gen(i, QG) < gen(i, QMIN) + ctol                    fprintf(fd, '%8.3f', gen(i, MU_QMIN));                else                    fprintf(fd, '     -  ');                end                if gen(i, QG)                    fprintf(fd, '%10.2f%10.2f%10.2f', gen(i, [QMIN, QG, QMAX]));                else                    fprintf(fd, '%10.2f       -  %10.2f', gen(i, [QMIN, QMAX]));                end                if gen(i, QG) > gen(i, QMAX) - ctol                    fprintf(fd, '%9.3f', gen(i, MU_QMAX));                else                    fprintf(fd, '      -  ');                end            end        end        fprintf(fd, '\n');    end            %% dispatchable load P constraints    if OUT_PG_LIM == 2 | OUT_QG_LIM == 2 | ...            (OUT_PG_LIM == 1 & (any(gen(onld, PG) < gen(onld, PMIN) + ctol) | ...                                any(gen(onld, PG) > gen(onld, PMAX) - ctol))) | ...            (OUT_QG_LIM == 1 & (any(gen(onld, QG) < gen(onld, QMIN) + ctol) | ...                                any(gen(onld, QG) > gen(onld, QMAX) - ctol)))        fprintf(fd, '\n================================================================================');        fprintf(fd, '\n|     Dispatchable Load Constraints                                            |');        fprintf(fd, '\n================================================================================');    end    if OUT_PG_LIM == 2 | (OUT_PG_LIM == 1 & ...                             (any(gen(onld, PG) < gen(onld, PMIN) + ctol) | ...                              any(gen(onld, PG) > gen(onld, PMAX) - ctol)))        fprintf(fd, '\nGen  Bus               Active Power Limits');        fprintf(fd, '\n #    #   Pmin mu    Pmin       Pg       Pmax    Pmax mu');        fprintf(fd, '\n---  ---  -------  --------  --------  --------  -------');        for k = 1:length(onld)            i = onld(k);            if OUT_PG_LIM == 2 | (OUT_PG_LIM == 1 & ...                        (gen(i, PG) < gen(i, PMIN) + ctol | ...                         gen(i, PG) > gen(i, PMAX) - ctol))                fprintf(fd, '\n%3d%5d', i, gen(i, GEN_BUS));                if gen(i, PG) < gen(i, PMIN) + ctol                    fprintf(fd, '%8.3f', gen(i, MU_PMIN));                else                    fprintf(fd, '     -  ');                end                if gen(i, PG)                    fprintf(fd, '%10.2f%10.2f%10.2f', gen(i, [PMIN, PG, PMAX]));                else                    fprintf(fd, '%10.2f       -  %10.2f', gen(i, [PMIN, PMAX]));                end                if gen(i, PG) > gen(i, PMAX) - ctol                    fprintf(fd, '%9.3f', gen(i, MU_PMAX));                else                    fprintf(fd, '      -  ');                end            end        end        fprintf(fd, '\n');    end            %% dispatchable load Q constraints    if OUT_QG_LIM == 2 | (OUT_QG_LIM == 1 & ...                             (any(gen(onld, QG) < gen(onld, QMIN) + ctol) | ...                              any(gen(onld, QG) > gen(onld, QMAX) - ctol)))        fprintf(fd, '\nGen  Bus              Reactive Power Limits');        fprintf(fd, '\n #    #   Qmin mu    Qmin       Qg       Qmax    Qmax mu');        fprintf(fd, '\n---  ---  -------  --------  --------  --------  -------');        for k = 1:length(onld)            i = onld(k);            if OUT_QG_LIM == 2 | (OUT_QG_LIM == 1 & ...                        (gen(i, QG) < gen(i, QMIN) + ctol | ...                         gen(i, QG) > gen(i, QMAX) - ctol))                fprintf(fd, '\n%3d%5d', i, gen(i, GEN_BUS));                if gen(i, QG) < gen(i, QMIN) + ctol                    fprintf(fd, '%8.3f', gen(i, MU_QMIN));                else                    fprintf(fd, '     -  ');                end                if gen(i, QG)                    fprintf(fd, '%10.2f%10.2f%10.2f', gen(i, [QMIN, QG, QMAX]));                else                    fprintf(fd, '%10.2f       -  %10.2f', gen(i, [QMIN, QMAX]));                end                if gen(i, QG) > gen(i, QMAX) - ctol                    fprintf(fd, '%9.3f', gen(i, MU_QMAX));                else                    fprintf(fd, '      -  ');                end            end        end        fprintf(fd, '\n');    end            %% line flow constraints    if mpopt(24) == 1   %% P limit        Sf = branch(:, PF);        St = branch(:, PT);        str = '\n  #     Bus    Pf  mu     Pf      |Pmax|      Pt      Pt  mu   Bus';    else                %% |S| limit        Sf = abs(branch(:, PF) + j * branch(:, QF));        St = abs(branch(:, PT) + j * branch(:, QT));        str = '\n  #     Bus   |Sf| mu    |Sf|     |Smax|     |St|    |St| mu   Bus';    end    if OUT_LINE_LIM == 2 | (OUT_LINE_LIM == 1 & ...                        (any(abs(Sf) > branch(:, RATE_A) - ctol) | ...                         any(abs(St) > branch(:, RATE_A) - ctol)))        fprintf(fd, '\n================================================================================');        fprintf(fd, '\n|     Branch Flow Constraints                                                  |');        fprintf(fd, '\n================================================================================');        fprintf(fd, '\nBrnch   From     "From" End        Limit       "To" End        To');        fprintf(fd, str);        fprintf(fd, '\n-----  -----  -------  --------  --------  --------  -------  -----');        for i = 1:nl            if OUT_LINE_LIM == 2 | (OUT_LINE_LIM == 1 & ...                         (Sf(i) > branch(i, RATE_A) - ctol | ...                          St(i) > branch(i, RATE_A) - ctol))                fprintf(fd, '\n%4d%7d', i, branch(i, F_BUS));                if Sf(i) > branch(i, RATE_A) - ctol                    fprintf(fd, '%10.3f', branch(i, MU_SF));                else                    fprintf(fd, '      -   ');                end                fprintf(fd, '%9.2f%10.2f%10.2f', ...                    [Sf(i), branch(i, RATE_A), St(i)]);                if St(i) > branch(i, RATE_A) - ctol                    fprintf(fd, '%10.3f', branch(i, MU_ST));                else                    fprintf(fd, '      -   ');                end                fprintf(fd, '%6d', branch(i, T_BUS));            end        end        fprintf(fd, '\n');    endend%% print raw data for Perl database interfaceif OUT_RAW    fprintf(fd, '----------  raw PB::Soln data below  ----------\n');    fprintf(fd, 'bus\n');    if isOPF        fprintf(fd, '%d\t%d\t%g\t%g\t%g\t%g\t%g\t%g\n', ...                    bus(:, [BUS_I, BUS_TYPE, VM, VA, LAM_P, LAM_Q, MU_VMAX, MU_VMIN])');            fprintf(fd, 'branch\n');        fprintf(fd, '%d\t%g\t%g\t%g\t%g\t%g\t%g\n', ...                    [[1:nl]' branch(:, [PF, QF, PT, QT, MU_SF, MU_ST])]');            fprintf(fd, 'gen\n');        fprintf(fd, '%d\t%g\t%g\t%g\t%d\t%g\t%g\t%g\t%g\n', ...                    [[1:ng]' gen(:, [PG, QG, VG, GEN_STATUS, MU_PMAX, MU_PMIN, MU_QMAX, MU_QMIN])]');    else        fprintf(fd, '%d\t%d\t%f\t%f\t%d\t%d\t%d\t%d\n', ...                    [bus(:, [BUS_I, BUS_TYPE, VM, VA]) zeros(nb, 4)]');            fprintf(fd, 'branch\n');        fprintf(fd, '%d\t%f\t%f\t%f\t%f\t%d\t%d\n', ...                    [[1:nl]' branch(:, [PF, QF, PT, QT]) zeros(nl, 2)]');            fprintf(fd, 'gen\n');        fprintf(fd, '%d\t%f\t%f\t%f\t%d\t%d\t%d\t%d\t%d\n', ...                    [[1:ng]' gen(:, [PG, QG, VG, GEN_STATUS]) zeros(ng, 4)]');    end    fprintf(fd, 'end\n');    fprintf(fd, '----------  raw PB::Soln data above  ----------\n');endreturn;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -