How to find the matlab interp1 computational complexity?
6 views (last 30 days)
Show older comments
Kalasagarreddi Kottakota
on 26 Oct 2023
Edited: Kalasagarreddi Kottakota
on 2 Nov 2023
Hi,
I am trying find the computational complexity of interp1 with 'linear', and "cubic". Can I get some help regarding this?
I am thinking it is O(n) and O(n^3). Are these correct?
1 Comment
Bruno Luong
on 26 Oct 2023
"Are these correct?"
No, O(n^3) is completely off (over estimated), see my answer. Also you don't tell what n is.
Accepted Answer
Bruno Luong
on 26 Oct 2023
Edited: Bruno Luong
on 26 Oct 2023
If N is the number of data points (x, y), M is the query points (xq)
interp1(x, y, xq, ...)
has complexity of O(M*log(N)) for all methods, if x is sorted.
Essentially it is the time of query where xq are located in subintervals. Time of interpolation value are constant per point even for spline method.
If x is not sorted then you need to add log(N) of sorting but then the O notation remains the same
6 Comments
Bruno Luong
on 31 Oct 2023
Edited: Bruno Luong
on 31 Oct 2023
doesn't matter for O notation, since log 10, log 2 theirs inverse are constants
More Answers (0)
See Also
Categories
Find more on Interpolation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!