Используя точки данных из принятого ответа, вы можете использовать полиномиальную интерполяцию для получения формулы.
WolframAlpha Вход: интерполяционный многочлен {{1, .63}, {2, .82}, {3,1}, {4,1.13}, {5,1.5}, {6, 2}, { 7,3}}
Формула: 0,00223611x^6 - 0.0530417x^5 + 0.496319x^4 - 2.30479x^3 + 5.51644x^2 - 6.16717x + 3.14
И использовать в Groovy кода:
import java.math.*
def convert = {x -> (0.00223611*x**6 - 0.053042*x**5 + 0.49632*x**4 - 2.30479*x**3 + 5.5164*x**2 - 6.167*x + 3.14).setScale(2, RoundingMode.HALF_UP) }
(1..7).each { i -> println(convert(i)) }
размеров Технически вне диапазона от 1 до 7 являются недействительными. – cletus
Спасибо cletus за наконечник. – marknt15