MatPower in Java

MatPower is a very valuable tool implemented in Matlab to simulate electricity power distribution networks. The fact that it is implemented in Matlab simply means that it is easy to use and play with. Matlab is a great tool for researchers and academics to simulate myriads of real-world situations. However, using a Matlab tool has its peculiar downsides as well. The greatest among them is efficiency. As a matter of fact, I cannot conceive any other drawback of Matlab apart from efficiency. Lack of efficiency can ensue from the fact that Matlab is basically a scripting tool and not a programming language. The fact that your code is not compiled into machine language and run is a great impediment for efficiency. So what you are going to do in this project is to implement all the code of Matpower in java and then make it usable from Matlab. You might like to read this tutorial about bringing java methods and objects in Matlab workspace. Here is what you are going to do.

  1. Download Matpower.
  2. Use it in Matlab for a good while to completely understand its functionality.
  3. Think of ways how you can separate it into different modules and implement it as object-oriented code.
  4. Employ appropriate software engineering and design principles here.
  5. Implement Matpower in Java.
  6. Now write a front-end for it in Matlab that enables a user to invoke all the functions from within Matlab.
  7. Your implementation should be able to leverage from the parallel computing capabilities of Matlab for the cloud. This means that you should write your software according to the software development guidelines for parallel computing in Matlab.
  8. Develop a graphical user interface for the user to give him (or her) easy access to the power of Matpower.


  1. You shall make all the source code and binaries of the software available online, possibly on Git, as open-source software upon successful completion of the project.
  2. You should develop appropriate documentation and help guides for the user for the functionality of Matpower.
  3. You shall also write a user’s manual for Matpower.
  4. You will write a small installer (or install script) by which a user could fetch all the contents of Matpower from the web and install them in Matlab. The installer should work from within Matlab.
  5. You shall appropriately benchmark your implementation with the original version of Matpower and make the results available online with the source packages for the personal satisfaction of any user.

Photo by Arenamontanus

If you found an error, highlight it and press Shift + Enter or click here to inform us.

CC BY-NC-ND 4.0 MatPower in Java by Psyops Prime is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Leave a Reply