用n个点插值1D数组

时间:2016-10-26 16:26:40

标签: matlab performance

我有一个大的不规则间隔浮点数的1D数组,我想用n点进行插值。什么是最快最好的方法呢?

e.g。考虑一个数组

A = [1,1.5,2,3,5];

我想插入以获得

B = [1,1.25,1.5,1.75,2,2.5,3,4,5];

获得此功能的一种方法是通过for循环和linspace,e.i。:

n = 3;
B = zeros((n-1)*length(A)-1,1);
for i = 1:length(A)-1
    B((n-1)*(i-1)+1:(n-1)*i+1) = linspace(A(i),A(i+1),n);
end

但是我认为这种方式与问题的难度相比似乎过于繁琐,并且应该有一个单行代码。此外,我不会在每个循环中重新计算端点。

0 个答案:

没有答案