LaserPulse is a Matlab class for simulations in nonlinear and ultrafast optics.


Updated 4 Nov 2020

From GitHub

View License on GitHub

LaserPulse is a simple Matlab toolbox for nonlinear and ultrafast optics. It can be used to simulate propagation through optical media, and pulse compression techniques (e.g. FROG, G-MIIPS).
More information can be found here:
A concise overview and example code can be found here:

Cite As

Alberto Comin (2023). albeco/LaserPulse (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!











Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

added live script examples

minor fixes

added support for linear propagation in transparent media

added setter and getter methods for timeUnits, frequencyUnits, centralFrequency, arrivalTime, groupDelay, groupDelayDispersion, instantaneousFrequency

added property phaseOffset

several bugs fixed

updated documentation

changed GitHub repository name from LaserPulseClass to LaserPulse

added test files

version 1.0.1 : added support for mathematical operators in both time and frequency domain; added example files with simulations of interferometric FROG and MIIPS; fixed some bugs (especially for the method disp())

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.