File Exchange

image thumbnail


version (6.91 KB) by Carlos Adrian Vargas Aguilera
Space-Time series (1D, 2D, or 3D) as the sum of cosines.


Updated 04 May 2016

View License


Z = harmonicseries(AMP, PER, PHA, LEN, DIR, T, X, Y);
Performs the sum of harmonics:

z(t,y,x) = sum [ a*cos(k*x + l*y - w*t + theta) ]


a = AMP (amplitude)

k = K*cos(rdir) (x-component of wavenumber vector)

l = K*sin(rdir) (y-component of wavenumber vector)

K = sqrt(k^2+l^2) = (2*pi)./LEN (magnitude of wavenumber vector)

rdir = DIR*(pi/180) (direction of wavenumber vector in radians)

w = (2*pi)./PER (Temporal angular frequency)

theta = PHA*(pi/180) (Initial phase in radians)

This is useful when performing tests of Fourier Spectral Analysis, for example.

The program comes with the example on the screenshot.

Cite As

Carlos Adrian Vargas Aguilera (2021). HarmonicSeries.m (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

Carlos Adrian Vargas Aguilera

New version. More portable/easy-to-copy.

Carlos Adrian Vargas Aguilera

I agree "Thomas", I need to clean the code and the inputs arguments. Although, only one person had rated it and it was good. Every comments are well-received (no matter the initial stars) although there's no need to be rude. The program does exactly what I say above and in the help. Next time be contructive. Take a look later for the new submition.

Thomas Gall

It is an excessively complex wrapper for a one line statement. This has no purpose except to make your code unreadable and less portable.

Michael Morgan

Great, an all-in-one program! I just think the initial phase must be with minus sign and also w instead of k, but great anyway...

MATLAB Release Compatibility
Created with R2007b
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!