Wszystko,funkcji JavaScript dla interpolacji trójliniowe
MYŚLĘ że ja szukam funkcją interpolacji trójliniowe.
Oto dane:
mam trójwymiarowy zestaw danych:
- wymiar 1 zmienia się od 0 do 100 w przyrostach co 5
- wymiaru 2 zmienia się od 0 do 100 w przyrostach co 5
- wymiar 3 waha się od 0 do 1, w odstępach co 0,1
Tak mam 4851 wartości całkowite (21 x 21 x 11).
Jeśli potrzebuję znaleźć wartość (10, 25, 0.3) - to proste - mogę po prostu sprawdzić ją w trójwymiarowej tablicy.
Ale potrzebuję być w stanie wymyślić najlepsze przybliżenie , podając wartości wymiarowe (17,48,0,73), na przykład.
Tak więc, I myślę, że , że to, czego szukam, to interpolacja trójliniowa (chociaż zdecydowanie doceniam wszelkie sugestie dotyczące lepszej metody lub podpowiedź, że jestem na niewłaściwym temacie w ogóle ...)
szybkie wyszukiwanie google okazuje się tę formułę:
Vxyz =
V000(1-x)(1-y)(1-z) +
V100x(1-y)(1-z) +
V010(1-x)y(1-z) +
V001(1-x)(1-y)z +
V101x(1-y)z +
V011(1-x)yz +
V110xy(1-z) +
V111xyz
który wygląda jak co szukam, ale nie jestem pewien, co x, Y i z oznaczają. Gdybym miał zgadywać, x to stosunek - odległość mojej wartości "pierwszego celu" od najbliższych dwóch wartości, które mam, y to stosunek drugiego wymiaru, a z to stosunek trzeciego wymiaru.
Oczywiście, ponieważ tak naprawdę nie wiem, o czym mówię, nie wiedziałbym, czy to dobrze, czy źle.
Idealnie, chciałbym trochę kodu JavaScript lub pseudo-kodu, który pokazuje dokładnie, jak to osiągnąć.
Wielkie dzięki z góry!
Co używasz go? Po prostu ciekawy :) –
Matt - jest to rodzaj aplikacji planowania finansowego. Dostałem stolik od grupy doradztwa inwestycyjnego mojego klienta. Trzy wymiary to twój wiek, planowany wiek emerytalny i stosunek twojego kapitału do portfela/obligacji; tabela przedstawia prognozowany dochód emerytalny, który będzie produkował twój portfel. Tak więc, jeśli masz 30 lat, planujesz przejść na emeryturę w wieku 65 lat, a 85% twojego portfela to kapitał własny, twoje portfolio wygeneruje $ x w przychodach z emerytury. Działa świetnie, z wyjątkiem interwałów są duże i muszę być w stanie oszacować wartość wejść między interwałami. – mattstuehler