Analysis updated 2026-05-18
Study how a battery's voltage and state of charge respond to charge and discharge pulses using a runnable model.
Compare open-loop, PI, and filtered-PID control strategies on the same buck converter model.
Learn how battery heat generation and temperature feedback affect performance over time.
Validate a native Simulink block diagram against an equivalent script-based model.
| mohammadrezwankhan/matlab-simulink-energy-lab | parthsareen/controls-projects | johnzja/rydbergcomms | |
|---|---|---|---|
| Stars | 4 | — | 11 |
| Language | MATLAB | MATLAB | MATLAB |
| Last pushed | — | 2022-04-06 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 3/5 | 3/5 | 5/5 |
| Audience | researcher | researcher | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires MATLAB, and Simulink for four of the eleven validation checks.
MATLAB Simulink Energy Lab is a growing collection of small, runnable examples for learning how battery and power-converter systems behave, aimed at students, researchers, and hobbyists. Each example is a self-contained MATLAB model with built-in checks so you can see whether it is working correctly, and every parameter and assumption behind the math is meant to be traceable rather than hidden. The examples cover several related topics. There are battery models that simulate how terminal voltage and state of charge change during charge and discharge pulses, starting with a simple first-order model and moving up to a two-branch model that separates fast and slow internal polarization effects. A thermal model builds on this by tracking how electrical losses and heat generated inside the battery raise or lower its temperature over time, and how that temperature feeds back into resistance. Several of these battery models also have native Simulink block-diagram versions that are checked against the plain script versions to confirm they behave the same way. On the power-electronics side, the repository includes models of an averaged buck converter, meaning a simplified model of a circuit that steps voltage down, along with a closed-loop version that compares open-loop, PI, and filtered-PID control strategies for handling sudden load changes, and a switching-level model that compares ideal pulse-width-modulated waveforms against the averaged estimates. To try it, you clone the repository and run a batch of MATLAB check scripts, seven of which only need base MATLAB while four also require Simulink. Running these produces printed output confirming state of charge, voltage ranges, temperatures, and controller performance numbers, which you can compare against the expected results shown in the README. The project has GitHub Actions set up to automatically rerun these validation checks whenever the model code changes, and it is released under the MIT license.
A collection of runnable MATLAB and Simulink examples modeling battery behavior and power converters, each with built-in validation checks.
Mainly MATLAB. The stack also includes MATLAB, Simulink.
MIT license: use, modify, and share freely, including commercially, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.