我有任意点(8192,4678,1087.2,600,230.4 等),我想在其他定义点(100,500.3,802,2045,4399.5125 等)进行插值和重新采样。
我尝试了三次样条插值,但它使用的是稳定的步进采样,并且根据步进采样,它可能无法生成我需要的值。
你会怎么做?
我有任意点(8192,4678,1087.2,600,230.4 等),我想在其他定义点(100,500.3,802,2045,4399.5125 等)进行插值和重新采样。
我尝试了三次样条插值,但它使用的是稳定的步进采样,并且根据步进采样,它可能无法生成我需要的值。
你会怎么做?
如果您的观点是x1=[...]
并且y1=[...]
您想评估样条曲线的新基础,x2=[...]
那么您
y2 = spline(x1,y1,x2)
** 例子 **
x1 = [0,2,4,6,8].'
y1 = [24,25,22,14,6].'
x2 = [2,2.5,3,3.5,4].'
y2 = spline(x1,y1,x2)
y2 =
25.0000
24.7227
24.1563
23.2617
22.0000
我建议你考虑倒着做。
与其生成很多点并希望您需要的点在那里,不如计算插值公式(可能是分段线性或更复杂的)并在所需点处评估函数。
假设您有x = [1 2 3 4 10]
并且y = [11 22 13 24 11]
您在第 6 点的线性插值将是:
24+(6-4) * (11-24) / (10-4)
概括这一点应该不难。