Вычислить функцию сплайна
предоставляет значение f (x) в точках вv = fnval(f,x)x сплайновой функции f, описание которой содержится в f.
Если f является скалярным и одномерным, выход v получается путем замены каждой записи x по значению f на этой записи. Это намерение во всех других случаях, за исключением этого, для d- ценный m-вариатная функция, d-векторы заменяют m-векторы.
Для одномерного f:
Если f является скалярным значением, то v имеет тот же размер, что и x.
Если f [d1,...,dr]- значение, и x имеет размер [n1,...,ns], то v имеет размер [d1,...,dr, n1,...,ns], с v(:,...,:, j1,...,js) значение f при x(j1,...,js), - за исключением того, что:
n1 игнорируется, если он 1 и s является 2, т.е. если x - вектор строки;
MATLAB ® игнорирует любые конечные одиночные размеры x.
Для m-вариат f с m>1, с f
[d1,...,dr]-значимые, x может быть либо массивом, либо массивом ячеек {x1,...,xm}.
Если x - массив, размером [n1,...,ns], то n1 должны равняться m, и v имеет размер [d1,...,dr, n2,...,ns], с v(:,...,:, j2,...,js) значение f при x(:,j2,...,js), - за исключением того, что:
d1, ..., dr игнорируется в случае, если f является скалярным значением, т.е. оба r и n1 являются 1;
MATLAB игнорирует любые конечные одиночные размеры x.
Если x является массивом ячеек, то он должен иметь вид {x1,...,xm}, с xj вектор, длины nj, и, в этом случае, v имеет размер [d1,...,dr, n1,...,nm], с v(:,...,:, j1,...,jm) значение f при (x1(j1), ..., xm(jm)), - за исключением того, что d1, ..., dr игнорируется в случае, если f является скалярным значением, т.е. оба r и n1 являются 1.
Если f имеет скачкообразный разрыв при x, то возвращается значение f (x +), т.е. предел справа, за исключением случаев, когдаx равняется правому концу базового интервала формы; для таких xвозвращается значение f (x-), т.е. предел слева.
fnval(...,'l') относится к f как к непрерывному слева. Это означает, что если f имеет скачкообразный разрыв в x, то возвращается значение f (x-), т.е. предел слева, за исключением случаев, когдаx равен левому концу базового интервала; для таких xвозвращается значение f (x +).
Если функция является многомерной, то вышеприведенные инструкции относительно непрерывности слева и справа применяют координатно.
Для каждой записи x, функция определяет соответствующий интервал разрыва или узловой интервал и собирает соответствующую информацию. В зависимости от того, f имеет ppform или B-форму, вложенное умножение или B-сплайновое повторение (см., например, [PGS; X. (3)]) затем используют векторную моду для одновременной оценки на всех входах x. Оценка многомерной полиномиальной сплайновой функции использует все преимущества структуры тензорного изделия.
Оценка рационального сплайна следует за оценкой соответствующего векторнозначного сплайна делением всего его последнего компонента на его последний компонент.
Оценка функции в stform существенно использует stcolи старается поддерживать соответствующие матрицы в разумном размере.