ScaleTime——快速线性矩阵插值
易= ScaleTime (Y, T)
其中T是一个向量与1之间的值和大小(Y, 1)。这相当于
易= interp1(1:尺寸(Y, 1), Y, T,“线性”)
如果T由统一的步骤:定义T = linspace(钛、Tf、Tn)这是更快:
易= ScaleTime (Y, Ti, Tf, Tn)
nun-uniform输入使用第二个函数:
易= ScaleTimeNU (X, Y, Xi)
我有记录timeseries如大小(100’000 x 10)和切了块约100帧根据一些事件和正常化101帧。
直接的方法和Matlab的INTERP1作品,但它是缓慢:
interp1(1:尺寸(Y, 1), Y, Ti, *线性)
所以我创建了ScaleTime功能:
——线性插值
——等距的输入数据
——同样或者不相等的间距插值的步骤
——矩阵输入
——没有处理nan,没有外推。
令我惊奇的是,ScaleTime显著快于现代griddedInterpolant INTERP1甚至。
功能lininterp1f和qinterp1 FEX不接受矩阵和他们明显慢于墨西哥人ScaleTime:
//www.tatmou.com/matlabcentral/fileexchange/8627
//www.tatmou.com/matlabcentral/fileexchange/10286
如果你已经安装了这些工具,他们的速度是uTest_ScaleTime相比。
包括:M-source c源。
第一次编译:自动运行ScaleTime或者:
墨西哥人- o ScaleTime.c
预编译墨西哥人功能即将推出:http://n-simon.de/mex
引用作为
1月(2023)。ScaleTime(//www.tatmou.com/matlabcentral/fileexchange/25463-scaletime), MATLAB中央文件交换。检索。