В Вашем случае это произведет ошибку.:-)
Set
присваивает ссылку на объект. Для всех других присвоений (неявный, дополнительный, и мало-используемый) Let
оператор корректен:
Set object = New SomeObject
Set object = FunctionReturningAnObjectRef(SomeArgument)
Let i = 0
Let i = FunctionReturningAValue(SomeArgument)
' or, more commonly '
i = 0
i = FunctionReturningAValue(SomeArgument)
Другие ответы дают вам линейную интерполяцию - она не работает для сложных нелинейных данных. Вам нужна сплайновая аппроксимация , (сплайн-интерполяция), я полагаю.
Сплайновая аппроксимация описывает области данных с использованием набора контрольных точек из данных, а затем применяет полиномиальную интерполяцию между контрольными точками . Больше контрольных точек дает более точную подгонку, чем более общую. Сплайны намного точнее, чем линейные подгонки, быстрее в использовании, чем подгонка общей регрессией, лучше, чем полином высокого порядка, потому что он не будет делать сумасшедших вещей между контрольными точками.
Я не могу вспомнить имена в верхней части моя голова, но в Java есть несколько отличных подходящих библиотек - я предлагаю вам поискать одну, а не писать свою собственную функцию.
** EDIT: библиотеки, которые могут быть полезны: **
** Теория / код, который может быть полезен: **
Простую линейную интерполяцию можно рассчитать, используя что-то вроде:
Point2D interp1_lin(Point2D p1, Point2D p2, double x) {
//Pre conditions
assert p1.x<x;
assert x<p2.x;
//Calculate slope from p1 to p2
double m = (p2.x-p1.x)/(p2.y-p1.y);
//Calculate y position of x
double y = (x-p1.x)*m+p1.y;
//create new point
return new Point2D.Double(x,y);
}
Это помогает?
Вам нужно получить значения x, соответствующие значениям y. В противном случае ни один алгоритм не сможет определить, является ли [1, 16, 81] x ^ 2 для [1, 4, 9] или x ^ 4 для [1, 2, 3]. Вы бы интерполировали шесть значений или ни одного?
А затем, когда вам будут заданы x-значения, вы можете использовать какую-то интерполяцию (линейный, кубический сплайн, вы называете это) для аппроксимации недостающих значений.