fnval
Evaluar función de spline
Descripción
proporciona el valor de f (x) en los puntos en v
= fnval(f
,x
)x
de la función de spline f cuya descripción está incluida en f
.
Si f
tiene valor escalar y es univariada, la salida v
se obtiene sustituyendo cada entrada de x
por el valor de f en esa entrada. Esta es la finalidad en todos los demás casos, excepto en el caso de una función con valor d
m
-variada, en la que los vectores d
sustituyen a los vectores m
.
Para una función f univariada:
Si f tiene valor escalar, v es del mismo tamaño que
x
.Si f tiene valor
[d1,...,dr]
, yx
tiene un tamaño[n1,...,ns]
,v
tiene un tamaño[d1,...,dr, n1,...,ns]
, conv(:,...,:, j1,...,js)
como el valor de f enx(j1,...,js)
, excepto porque:n1
se ignora si es1
ys
es2
, es decir, six
es un vector fila;MATLAB® ignora todas las dimensiones singleton finales de
x
.
Para una función f m
-variada con m>1
, con f con valor [d1,...,dr]
, x
podría ser un arreglo o, si no, un arreglo de celdas {x1,...,xm}
.
Si
x
es un arreglo de tamaño[n1,...,ns]
,n1
debe ser igual am
, yv
tiene un tamaño[d1,...,dr, n2,...,ns]
, conv(:,...,:, j2,...,js)
como el valor de f enx(:,j2,...,js)
, excepto porque:d1
, ...,dr
se ignora en caso de que f tenga valor escalar, es decir,r
yn1
son1
;MATLAB ignora todas las dimensiones singleton finales de
x
.
Si
x
es un arreglo de celdas, debe tener el formato{x1,...,xm}
, conxj
como vector de longitudnj
y, en ese caso,v
tiene un tamaño[d1,...,dr, n1,...,nm]
, conv(:,...,:, j1,...,jm)
como el valor de f en (x1
(j1
), ...,xm
(jm
)), excepto porqued1
, ...,dr
se ignora en caso de que f tenga valor escalar, es decir,r
yn1
son1
.
Si f tiene una discontinuidad de salto en x
, se devuelve el valor f(x +), es decir, el límite desde la derecha, excepto cuando x
es igual al extremo derecho del intervalo básico de la forma; en el caso de este valor x
, se devuelve el valor f(x–), es decir, el límite desde la izquierda.
fnval(...,'l')
trata la función f como continua desde la izquierda. Esto significa que si f tiene una discontinuidad de salto en x
, se devuelve el valor f(x–), es decir, el límite desde la izquierda, excepto cuando x
es igual al extremo izquierdo del intervalo básico; en el caso de este valor x
, se devuelve el valor f(x +).
Si la función es multivariada, las declaraciones anteriores relativas a la continuidad desde la izquierda y la derecha se aplican por coordenadas.
Ejemplos
Argumentos de entrada
Argumentos de salida
Algoritmos
Para cada entrada de x
, la función determina el intervalo de salto o el intervalo de nudo relevantes y reúne la información pertinente. Dependiendo de si f
está en formato ppform o B-form, la multiplicación anidada o la recurrencia de los B-spline (consulte, p. ej., [PGS; X.(3)]) son usados luego a modo de vector para la evaluación simultánea en todas las entradas de x
. La evaluación de una función de spline polinómico multivariada saca el máximo partido de la estructura de producto tensorial.
La evaluación de un spline racional continúa la evaluación del spline correspondiente con valor vectorial dividiendo todos los componentes por su último componente excepto el último componente.
La evaluación de una función en formato stform hace un uso esencial de stcol
e intenta mantener un tamaño razonable para las matrices involucradas.
Historial de versiones
Introducido en R2006b