Algorithm for Matlab conv function

2 views (last 30 days)
Federico
Federico on 5 Jul 2015
Answered: John D'Errico on 5 Jul 2015
I would like to know which algorithm (or at least which big-O) is used in the built-in conv function. Thanks, Federico Labriola

Answers (1)

John D'Errico
John D'Errico on 5 Jul 2015
Why not test it yourself? These things are always SOOOO much more easily checked by yourself, rather than waiting for a response.
n = 10000;
a = rand(n,1);b = rand(n,1);
t(1) = timeit(@() conv(a,b));
a = rand(2*n,1);b = rand(2*n,1);
t(2) = timeit(@() conv(a,b));
a = rand(4*n,1);b = rand(4*n,1);
t(3) = timeit(@() conv(a,b));
a = rand(8*n,1);b = rand(8*n,1);
t(4) = timeit(@() conv(a,b));
t
t =
0.011539 0.056427 0.2248 0.88019
exp(diff(log(t)))
ans =
4.8901 3.984 3.9154
Looks like factors of 4 for each step to me.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!