Matlab/SIMULINK code

Disclaimer: the code on this page is made available for research and educational purposes. No representation is made with regard to the correctness of the code, and the author cannot accept responsibility or liability for any damages arising out of its use.

Simulations of electric motors and generators

  • For motors, see the dedicated page: control of electric motors.
  • For generators, see the dedicated page: electric generators.
  • Complex root-locus

  • Paper: M. Bodson, “Design of Controllers in the Complex Domain,” Proc. of the IEEE Conference of Decision and Control, Los Angeles, CA, 2014, pp. 4077-4082. Download the pdf here.
  • Matlab code to draw a root-locus in the complex domain crlocus.m and test macro testcrlocus.m.
  • Control of a grid-connected doubly-fed induction generator

  • Paper: H. Baesmat & M. Bodson, “Pole Placement Control for Doubly-Fed Induction Generators Using Compact Representations in Complex Variables,” IEEE Trans. on Energy Conversion, vol. 34, no. 2, pp. 740-760, 2019. Download the pdf here.
  • Matlab/SIMULINK model of the DFIG and 3 control laws. Download here.
  • Control allocation

  • Paper:  J. Petersen & M. Bodson, “Fast Implementation of Direct Allocation with Extension to Coplanar Controls,” AIAA Journal of Guidance, Control, and Dynamics, vol. 25, no. 3, pp. 464-473, 2002. Download the pdf here.
  • Matlab code to draw the set of attainable accelerations saa.m and test macro testsaa.m. The macro draws the two figures of the paper for a C-17 aircraft and for a tailless aircraft. Note the polygonal facets in the second case. The figures can be rotated in 3D using a mouse or touchpad.

  • Paper:  M. Bodson, “Evaluation of Optimization Methods for Control Allocation,” AIAA Journal of Guidance, Control, and Dynamics, vol. 25, no. 4, pp. 703-711, 2002. Download the pdf here.
  • Matlab code to compute the solution of a mixed l1 optimization problem euminxs.m and test macro testeuminxs.m.
  • Fun control experiments with Matlab and a joystick, touchpad, or mouse

    Check here for the dedicated web page.

    Direct adaptive cancellation of sinusoidal disturbances of unknown frequency

  • Paper: M. Bodson, J. Jensen, & S. Douglas, “Active Noise Control for Periodic Disturbances,” published in IEEE Trans. on Control Systems Technology, vol. 9, no. 1, pp. 200-205, 2001. Download the pdf here.
  • Matlab code to perform the simulation and produce the plots. Download dac13.m and dac13f.m (place both files in Matlab's working directory and type dac31 at the command line).

  • This web page is maintained by Professor Marc Bodson, of the Department of Electrical and Computer Engineering at the University of Utah. Please see the University of Utah Web disclaimer. For questions or comments, please send an e-mail to

    Last updated: June 18, 2020