Math 使用任意给定的t从数组中获取值

Math 使用任意给定的t从数组中获取值,math,Math,我试图实现的是,能够在数组中放入一些值,然后基于t(0-1),根据存储的值从数组中获取一个值 为了更清楚地说明这一点,以下是一个示例: 数组值=[0,10] 现在这个数组将为t=1返回值0,为t=1返回值10。因此t=.3将给出一个值3 另一个例子: 数组值=[10,5,5,35] t=.25 will give a value of 5 t=.125 will give a value of 7.5 我在寻找一个最有效的公式,用一个给定的数组得到任意给定t的值 目前我正在使用这个(伪代码)

我试图实现的是,能够在数组中放入一些值,然后基于t(0-1),根据存储的值从数组中获取一个值

为了更清楚地说明这一点,以下是一个示例:

数组值=[0,10]

现在这个数组将为t=1返回值0,为t=1返回值10。因此t=.3将给出一个值3

另一个例子:

数组值=[10,5,5,35]

t=.25 will give a value of 5
t=.125 will give a value of 7.5
我在寻找一个最有效的公式,用一个给定的数组得到任意给定t的值

目前我正在使用这个(伪代码)


但我相信还有更好的方法。所以我要请数学家来这里

这是Mathematica中的一行。它和你做的一样,只是稍微紧凑一些

数组索引从1开始

values = {10, 5, 5, 35, 0}
f[a_, x_] := a[[k = IntegerPart[(k1 = (Dimensions[a][[1]] - 2) x)] + 1]] + 
             FractionalPart[k1] (a[[k + 1]] - a[[k]])  
所以你的插值结果是:

In[198]:= f[values,1]
Out[198]= 35
等等。 如果打印更改x比例:


也许有一种更优雅的形式,但计算结果是一样的。。。你在插值,这就是你应该做的…插值,事实上线性插值是我一直在寻找的词。我希望有一个简单的一班轮可以做到这一点。。
In[198]:= f[values,1]
Out[198]= 35