Contributing
July 17, 2026 · View on GitHub
Issues and PRs are welcome.
Reporting Issues
- Use a descriptive title
- Use the appropriate issue template (Bug Report, Feature Request, or Tutorial Request)
- Include MATLAB version and OS
- For bugs, include the error message and steps to reproduce
Pull Requests
- Open an issue first to discuss what you'd like to change
- Keep changes focused — one feature or fix per PR
- Follow the existing coding style:
- UTF-8 encoding
- Chinese comments in
.mfiles - Clear
%%section headers fprintffor console outputclose all+bdclose('all')for cleanup
- Test your changes: verify the script runs without error and generates correct figures
Ideas for Contribution
- New tutorial topics: Adaptive control, LQG, nonlinear MPC, reinforcement learning control, etc.
- Translations: Japanese, Korean, German, etc.
- Bug fixes: Compatibility patches for older/newer MATLAB versions
- Documentation: Improved explanations, more visual diagrams, video walkthrough links
- Toolbox expansion: Port tutorials to use free alternatives (Octave, Python Control)
Style Guide
MATLAB scripts (.m)
- Start with
%%section header describing the step - Use
fprintffor narrative output - Use meaningful variable names (
m_nom,c_nomnota,b) - Clean up with
close all; bdclose('all');
Simulink models (.slx)
- Auto-generated by scripts — do not commit manually modified versions
- Use descriptive block names
- Keep models self-contained (no external file dependencies)