4,1K téléchargements
Mise à jour 28 mars 2024


View Control 101 toolbox on File Exchange

MATLAB toolbox for control 101 course

The community toolbox project is led by Anthony Rossiter with sponsorship from MathWorks (under project "A MATLAB community toolbox to support learning of Control 101") and input from numerous international colleagues. The intention is that the resources/toolbox developed here will be available from within MATLAB using the "add-ons" button. The resources are shared under a BSD license so users can edit, adopt and use freely.

A summary is given below for completeness; more detailed information is within each individual resource. Some more overview information is on the authors website: https://controleducation.sites.sheffield.ac.uk/matlabresources/section-6-11-community-control-toolbox

There are also so some quick illustrations on a youtube playlist here: https://www.youtube.com/playlist?list=PLs7mcKy_nInHEjth9P3m_bxd6D24IVSzz

Several people have developed MATLAB based materials to support the teaching of “Control Systems 101” type courses; the particular focus here is on interactive and animated resources which are largely self-explanatory, that is easy to use, and support student understanding and learning. They demonstrate authentic scenarios across a broad range of topics which motivate the importance of control to modern society, alongside some technical learning outcomes to support university curricula.

Resources are divided into:

  1. Virtual laboratories which have simple GUI interfaces so students can select buttons and sliders to observe the behaviour of some authentic scenarios and see how different parameter choices affect behaviour. Each virtual laboratory comprises two files which run independently: i) the mlapp file which is the laboratory itself and ii) a partner livescript file which acts like a concise manual giving context, illustrative MATLAB source code and some technical background. Naming conventions are largely self-evident. For example, a typical naming convention for the paired app files is: mixingtank_and_behaviour.mlapp & mixingtank_and_behaviour_manual.mlx.

  2. Livescript files which focus more on useful MATLAB code students can use to create their own files to support detailed analysis, evaluation and design, as required for university courses. These files are summarised in section 6.9.

  3. Simulink files supporting an introduction to modelling, simulation and control, with a focus on basic simulink elelemnts, non-linearity and passing data to and from the MATLAB command window workspace. Some of the simulink files were created in MATLAB 2023b and some in 2024a. Unfortunately, unlike m-files, these will not run in earlier versions.

If you spot any obvious typos or areas where apps can be made better, please contact Anthony so he can consider for future releases.

Cite As John Anthony Rossiter (2023). Control 101 toolbox (https://github.com/jarossiter/control101ver1/releases/tag/v0.1), GitHub. Retrieved June 29, 2023.

Citation pour cette source

John Anthony Rossiter (2024). Control 101 toolbox (https://github.com/jarossiter/control101/releases/tag/v1.52), GitHub. Récupéré le .

Compatibilité avec les versions de MATLAB
Créé avec R2023b
Compatible avec les versions R2017b et ultérieures
Plateformes compatibles
Windows macOS Linux

A inspiré : Function plotting

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Frequency response in time domain/matlabCode

PI tuning methods/matlabCode

PI tuning/matlabCode

aeroplane landing/matlabCode

aeroplane roll/matlabCode


car speed behaviour/matlabCode

cruise control/matlabCode

dc servo and position control/matlabCode


first order behaviour characterisation/matlabCode

first order model behaviour/matlabCode

heat exchanger/matlabCode

house temperature behaviour/matlabCode

house temperature story/matlabCode

inverted pendulum/matlabCode

lag design with phase margin and offset/matlabCode

lead design with phase margin and bandwidth/matlabCode

lead lag design from criteria/matlabCode

lead lag design with phase margin bandwidth offset/matlabCode

livescripts for firstcourse in control/matlabCode

mixing tank behaviour/matlabCode

predator prey/matlabCode

proportional design with phase margin/matlabCode

simulink case studies/matlabCode

simulink introduction/matlabCode

tank level behaviour/matlabCode

tank level control with PI/matlabCode

tank level story/matlabCode

Version Publié le Notes de version

See release notes for this release on GitHub: https://github.com/jarossiter/control101/releases/tag/v1.52


See release notes for this release on GitHub: https://github.com/jarossiter/control101/releases/tag/v1.51


See release notes for this release on GitHub: https://github.com/jarossiter/control101/releases/tag/v1.42

See release notes for this release on GitHub: https://github.com/jarossiter/control101/releases/tag/v1.41

See release notes for this release on GitHub: https://github.com/jarossiter/control101/releases/tag/v1.4

See release notes for this release on GitHub: https://github.com/jarossiter/control101/releases/tag/v1.3

See release notes for this release on GitHub: https://github.com/jarossiter/control101/releases/tag/v1.2


See release notes for this release on GitHub: https://github.com/jarossiter/control101/releases/tag/v1.1


See release notes for this release on GitHub: https://github.com/jarossiter/control101/releases/tag/v1.0


Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.