soapSnake - understanding complex functions

Didactic tool to understand complex functions over the real domain.

You are now following this Submission

Six features, in one intuitive display!
1) The 3D snake shows the complex behavior of f(x) over x.
2) The floor projection shows the real behavior.
3) The right projection shows the imaginary behavior.
4) The backprojection shows the complex plane.
5) The magnitude of f(x) is visualized in the thickness of the snake.
6) Finally, the rainbow colors of the added soap skin reflect the phase of f(x).
The function plots any complex function you like:
f(x) = exp(ix);
f(x) = x.^x;
f(x) = log(x);
f(x) = sin(i*x);
A couple of examples are added in the demo file.
NB: It is also possible to show the complex spectrum of (simple) time signals, however, sometimes the settings in the function must be chosen carefully!

Cite As

Job (2026). soapSnake - understanding complex functions (https://se.mathworks.com/matlabcentral/fileexchange/55531-soapsnake-understanding-complex-functions), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: TubePlot

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.1.0.0

Enables multiple functions in one graph.
Added a PDF & word document with visual examples.
The automatic selection the axis is improved

1.0.0.0

-
-