How to find the matlab interp1 computational complexity?

6 次查看(过去 30 天)
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 个评论
Bruno Luong
Bruno Luong 2023-10-26
"Are these correct?"
No, O(n^3) is completely off (over estimated), see my answer. Also you don't tell what n is.

请先登录,再进行评论。

采纳的回答

Bruno Luong
Bruno Luong 2023-10-26
编辑:Bruno Luong 2023-10-26
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 个评论
Bruno Luong
Bruno Luong 2023-10-31
编辑:Bruno Luong 2023-10-31
doesn't matter for O notation, since log 10, log 2 theirs inverse are constants
Kalasagarreddi Kottakota
编辑:Kalasagarreddi Kottakota 2023-11-2
Just a query about log(N): is the time required to identify which bin a point lies in.
Does in matlab, or every operation, does log(N) exists?. Like for example, I have a discrete signal p(n), with n=1,...,N. Now lets say I advance by a constant n0 samples, like p(n+n0) for all samples in signal p. Does in matlab, the complexity is O(N) as it is addition complxeity applied for N samples or O(N*log(N))?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by