Скачки, i.e., f (x +)-f (x-)
jumps = fnjmp(f,x)
jumps = fnjmp(f,x)
похож на fnval(f,x)
за исключением того, что это возвращает скачок f (x +) – f (x –) через x
(а не значение в x
) из функционального f, описанного f
и это это только работает на одномерные функции.
Это - функция для специалистов по сплайну.
fnjmp(ppmak(1:4,1:3),1:4)
возвращает векторный [0,1,1,0]
начиная с pp
функция здесь 1 на [1.. 2], 2 на [2.. 3], и 3 на [3.. 4], следовательно имеет нуль, схватили 1 и 4 и скачок 1 через и 2 и 3.
Если x
cos([4:-1:0]*pi/4)
, затем fnjmp(fnder(spmak(x,1),3),x)
возвращает векторный [12 -24 24 -24 12]
(до округления). Это сопоставимо с тем, что рассматриваемым сплайном является так называемый совершенный кубический B-сплайн, i.e., имеет абсолютно постоянную третью производную (на ее основном интервале). Модифицированная команда
fnjmp(fnder(fn2fm(spmak(x,1),'pp'),3),x)
возвращает вместо этого векторный [0 -24 24 -24 0]
, сопоставимый с тем, что, в отличие от B-формы, сплайн в ppform не имеет разрыва ни в одной из его производных в конечных точках его основного интервала. Обратите внимание на то, что fnjmp(fnder(spmak(x,1),3),-x)
возвращает векторный [12,0,0,0,12]
начиная с -x
, хотя теоретически равный x
, отличается от x
округлением, следовательно третья производная B-сплайна, обеспеченного spmak(x,1)
не имеет скачка через -x(2)
, -x(3)
, и -x(4)
.