A MATLAB Power System Simulation Package
by Ray D. Zimmerman, Carlos E. Murillo-Sánchez & Deqiang (David) Gan
MATPOWER is a package of MATLAB® M-files for solving power flow and optimal power flow problems. It is intended as a simulation tool for researchers and educators that is easy to use and modify. MATPOWER is designed to give the best performance possible while keeping the code simple to understand and modify. It was initially developed as part of the PowerWeb project.
To use MATPOWER you will need:
Note: Though some MATPOWER functionality may work in earlier versions of MATLAB 6, it is not supported. MATPOWER 3.2 required MATLAB 6, MATPOWER 3.0 required MATLAB 5 and MATPOWER 2.0 and earlier only required MATLAB 4. MATPOWER 4.0 and later may work on earlier versions of Octave, but has not been tested on versions prior to 3.2.3.
To run a simple Newton power flow on the 9-bus system specified in the file case9.m, with the default algorithm options, at the MATLAB prompt, type:
To load the 30-bus system data from case30.m, increase its real power demand at bus 2 to 30 MW, then run an AC optimal power flow with default options, type:
define_constants; mpc = loadcase('case30'); mpc.bus(2, PD) = 30; runopf(mpc);
By default, the results of the simulation are pretty-printed to the screen, but the solution can also be optionally returned in a results struct. The following example shows how simple it is, after running a DC OPF on the 118-bus system in case118.m, to access the final objective function value, the real power output of generator 6 and the power flow in branch 51.
results = rundcopf('case118'); final_objective = results.f; gen6_output = results.gen(6, PG); branch51_flow = results.branch(51, PF);
For additional info, see the User's Manual and the on-line help documentation for the various MATPOWER functions. For example:
help runpf help runopf help mpoption help caseformat
Below is a summary of the changes since version 4.0 of MATPOWER. See the CHANGES file in the docs directory for all the gory details.
There are two primary sources of documentation for MATPOWER.
The User's Manual is included in the distribution (docs/manual.pdf) or it can be downloaded separately from the link above.
Each M-file has its own documentation which can be accessed by typing at the MATLAB prompt:
help <name of M-file>
Documentation for the case data file format can be found by typing:
If something is still unclear after checking the manual and the help, the source code is the documentation. ;-)
There are also two MATPOWER Technical Notes that may be of interest:
An e-mail list MATPOWER-L@cornell.edu has been set up to facilitate discussion of MATPOWER. Only list subscribers are permitted to post to the list.
Feel free to use this list to discuss anything related to MATPOWER, to ask questions about MATPOWER, or to provide feedback to the developers of MATPOWER, such as bug reports, patches or ideas for improvements (though we make no guarantees about if/when they might be included).
Also, if you have any of your own MATLAB power systems code that you would like to contribute, feel free to contact us via this list about making it available on the MATPOWER web site.
Joining the list
To join the MATPOWER mailing list, send a plain-text e-mail to MATPOWER-Lemail@example.com with the following line in the body of the message.
You must send the request from the e-mail address where you want to receive the list's messages. And be sure it is a plain text e-mail, that is, with no formatting, font styles or HTML code.
Sending mail to the list
To send an e-mail to all of the subscribers of the MATPOWER mailing list, simply address your e-mail to MATPOWER-L@cornell.edu. Only subscribers are permitted to send e-mail to the list.
Leaving the list
You can unsubscribe from the list at any time by sending an e-mail to MATPOWER-Lfirstname.lastname@example.org with the following line in the body of the message.
There is an archive of the MATPOWER e-mail list hosted by The Mail Archive.
Note: There have been two URLs published for these archives, so you may find broken links out there pointing to (1), but (2) is the only one that works currently, so just edit the links accordingly. (1) http://email@example.com/ (2) http://firstname.lastname@example.org/
To be notified when new versions of MATPOWER become available,
for the MATPOWER-ANNOUNCE-L mailing list by sending an e-mail, from the address where you would like receive the announcements, to:
You can unsubscribe from the announcement list at any time by sending an e-mail to MATPOWER-ANNOUNCE-Lemail@example.com with the following line in the body of the message.
There is also an archive of the announcement list hosted by The Mail Archive.
Copyright © 1997-2013 PSERC
Mon, Jul 1, 2013