Home of ShapeIt

From Control Systems Technology Group
Jump to navigation Jump to search

ShapeIt is a dedicated loopshaping tool for motion systems. It depicts all the relevant information and transfer functions for loopshaping a controller in a single window, making life of a control engineer a little bit easier. The full version even comes with an automated optimization tool. ShapeIt runs under Matlab, version 7.0.4 and higher.

ShapeIt has been first presented to the public at the 2006 IEEE ICCA.


ShapeIt is designed for Matlab. Here are some screenshots (click to enlarge):

Shapeit-screendump-1.jpg Shapeit-screendump-2.jpg Shapeit-screendump-3.jpg Shapeit-screendump-4.jpg


  • Matlab 7.0.4 or newer
  • Control System Toolbox
  • C-compiler (Matlab LCC, gcc, or any other compiler)
  • To use the optimization: Global Optimization Toolbox (from R2010a onwards) / Genetic Algorithm Direct Search Toolbox (up to R2009b)


The current version is v0.16. For older versions, please see Older versions.

Release v0.16

Full version:*

Educational version:**

Some important changes:

  • also added "double integrator" to DCtools (Simulink blocks)
  • solved saving of the wrong blocks after pressing "Save to Simulink" button
  • improved mexall to be able to compile from a different directory

* Full version contains optimization aid based on genetic programming:

  • contact the program maintainer if you want to try it (file is password protected for educational reasons)
  • requires the "Global Optimization Toolbox" (formerly known as "Genetic Algorithm Direct Search Toolbox")

** Educational version has no optimization aid.


  • Unzip files into a directory e.g. C:\Program Files\matlab704\toolbox\shapeit
  • Goto this directory in Matlab and run: shapeit_setup_runonce
  • Installation is ready now, the application can be started by running: shapeit

If you have any trouble installing or using ShapeIt, please read the FAQ of ShapeIt first.

Older versions

For older versions and their changelog, see the table below.

Release v0.12

Release v0.13

Release v0.14

Release v0.15

Full version:*

Full version:*

Full version:*

Full version:*

Educational version:**

Educational version:**

Educational version:**

Educational version:**

Some important changes:

  • compatible with Matlab FRD objects
  • improved computation of unwrapped phase
  • improved margin computations
  • unit disc (0dB) in Nyquist plot
  • wrapping of Nichols chart possible
  • improved controller discretization
  • small bug-fixes

Some important changes:

  • improved labels for data cursors in all plots
  • frequency data available in Nyquist and Nichols data cursor
  • loading plants from file improved
  • better usability of data-loading functionality
  • better looks when used on Linux platforms

Some important changes:

  • added extra 4th order example plant with adjustable parameters
  • updated DCTools for compatibility with dSpace
  • solved occasional stability-issue for discretized controller
  • minor adjustments for plants with many RHP zeros and/or poles
  • minor bug-fixes

Some important changes:

  • added "double integrator" (with complex zeros) controller block
  • better readout for very low bandwidths
  • fixed occasional "pos" or "figpos" error
  • solved compilation error when Simulink is not installed
  • solved compatibility issues with newer Matlab versions (figure handling)
  • added single M-circle to Nyquist plot (scaling with Modulus margin)


Please send bugs, problems, suggestions for future releases etc. to Gert Witvoet: @gwitvoet.


Copyright © 2005-2022 DJH Bruijnen, G Witvoet; Control Systems Technology, Eindhoven University of Technology

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.