Saltar al contenido principal
LibreTexts Español

2.2: Interpolación de Funciones Bivariadas

  • Page ID
    87525
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Esta sección considera la interpolación de funciones bivariadas, es decir, funciones de dos variables. Siguiendo el enfoque adoptado en la construcción de interpolantes para funciones univariadas, primero discretizamos el dominio en regiones más pequeñas, a saber, triángulos. El proceso de descomponer un dominio,\(D \subset \mathbb{R}^{2}\), en un conjunto de triángulos no superpuestos\(\left\{R_{i}\right\}_{i=1}^{N}\) se denomina triangulación. Un ejemplo de triangulación se muestra en la Figura 2.15. Por construcción, los triángulos llenan el dominio en el sentido de que\[D=\bigcup_{i=1}^{N} \bar{R}_{i},\] donde\(\cup\) denota la unión de los triángulos. La triangulación se caracteriza por el tamaño\(h\), que es el diámetro máximo de los círculos circunscritos para los triángulos.

    Captura de pantalla 2022-03-25 a las 11.30.16 PM.png
    Figura 2.16: Función\(f(x, y)=\sin (\pi x) \sin (\pi y)\)

    Para los dos siguientes ejemplos, consideramos la interpolación de la función bivariada\[f(x, y)=\sin (\pi x) \sin (\pi y), \quad(x, y) \in[0,1]^{2} .\] La función se muestra en la Figura\(\underline{2.16}\).

    Ejemplo 2.2.1 Constante por pieza, centroide

    El primer interpolante aproxima la función\(f\) por una función constante por tramos. Para construir una función constante en\(R\), necesitamos solo un punto de interpolación, es decir,\(M=1\). Escojamos el centroide del triángulo para que sea el punto de interpolación,\[\overline{\boldsymbol{x}}^{\mathbf{1}}=\frac{1}{3}\left(\boldsymbol{x}_{1}+\boldsymbol{x}_{2}+\boldsymbol{x}_{3}\right) .\] El interpolante constante viene dado por\[\mathcal{I} f(\boldsymbol{x})=f\left(\overline{\boldsymbol{x}}^{1}\right), \quad \forall \boldsymbol{x} \in R .\] Un ejemplo de interpolante constante por trozos se muestra en la Figura 2.17 (a). Tenga en cuenta que el interpolante es discontinuo a través de las interfaces triangulares en general.

    El error en el interpolante está limitado por\[e \leq h \max _{\boldsymbol{x} \in R}\|\nabla f(\boldsymbol{x})\|_{2},\] donde\(\|\nabla f(\boldsymbol{x})\|_{2}\) está la norma de dos del gradiente, es decir\[\|\nabla f\|_{2}=\sqrt{\left(\frac{\partial f}{\partial x}\right)^{2}+\left(\frac{\partial f}{\partial y}\right)^{2}} .\] El interpolante es preciso de primer orden y es exacto si\(f\) es constante. La figura 2.17 (b) confirma la\(h^{1}\) convergencia del error.

    Ejemplo 2.2.2 Lineales por tramos, vértices

    Este interpolante aproxima la función\(f\) por una función lineal por tramos. Tenga en cuenta que una función lineal en dos dimensiones se caracteriza por tres parámetros. Por lo tanto, para construir una función lineal en un

    Captura de pantalla 2022-03-25 a las 11.31.40 PM.png

    (a) interpolante

    Captura de pantalla 2022-03-25 a las 11.31.47 PM.png

    (b) error

    Figura 2.17: Interpolación de constante a destajo

    parche triangular\(R\), necesitamos elegir tres puntos de interpolación, es decir,\(M=3\). Escojamos los vértices del triángulo para que sean el punto de interpolación,\[\overline{\boldsymbol{x}}^{1}=\boldsymbol{x}_{1}, \quad \overline{\boldsymbol{x}}^{2}=\boldsymbol{x}_{2}, \quad \text { and } \quad \overline{\boldsymbol{x}}^{3}=\boldsymbol{x}_{3}\] El interpolante lineal es de la forma\[(\mathcal{I} f)(\boldsymbol{x})=a+b x+c y\] Para encontrar los tres parámetros,, y\(a, b\)\(c\), imponemos la restricción de que el interpolante coincida con el valor de la función en los tres vértices. La restricción da como resultado un sistema de tres ecuaciones lineales\[\begin{aligned} &(\mathcal{I} f)\left(\overline{\boldsymbol{x}}^{1}\right)=a+b \bar{x}^{1}+c \bar{y}^{1}=f\left(\overline{\boldsymbol{x}}^{1}\right) \\ &(\mathcal{I} f)\left(\overline{\boldsymbol{x}}^{2}\right)=a+b \bar{x}^{2}+c \bar{y}^{2}=f\left(\overline{\boldsymbol{x}}^{2}\right) \\ &(\mathcal{I} f)\left(\overline{\boldsymbol{x}}^{3}\right)=a+b \bar{x}^{3}+c \bar{y}^{3}=f\left(\overline{\boldsymbol{x}}^{3}\right) \end{aligned}\] que también se pueden escribir de manera concisa en forma de matriz.\[\left(\begin{array}{lll} 1 & \bar{x}^{1} & \bar{y}^{1} \\ 1 & \bar{x}^{2} & \bar{y}^{2} \\ 1 & \bar{x}^{3} & \bar{y}^{3} \end{array}\right)\left(\begin{array}{l} a \\ b \\ c \end{array}\right)=\left(\begin{array}{l} f\left(\bar{x}^{1}\right) \\ f\left(\bar{x}^{2}\right) \\ f\left(\bar{x}^{3}\right) \end{array}\right)\] El interpolante resultante se muestra en la Figura\(2.18(\mathrm{a})\). A diferencia del interpolante constante por tramos, el interpolante lineal por tramos es continuo a través de las interfaces triangulares.

    El enfoque para construir la interpolación lineal requiere resolver un sistema de tres ecuaciones lineales. Un enfoque alternativo más eficiente es considerar una forma diferente del interpolante. A saber, consideramos que la forma\[(\mathcal{I} f)(\boldsymbol{x})=f\left(\bar{x}^{1}\right)+b^{\prime}\left(x-\bar{x}^{1}\right)+c^{\prime}\left(y-\bar{y}^{1}\right)\]

    Captura de pantalla 2022-03-25 a las 11.33.28 PM.png

    (a) interpolante

    Captura de pantalla 2022-03-25 a las 11.33.16 PM.png

    (b) error

    Figura 2.18: Interpolación lineal por tramos

    Obsérvese que el interpolante sigue siendo lineal, pero ya satisface la condición de interpolación en\(\left(\overline{\boldsymbol{x}}^{1}, f\left(\overline{\boldsymbol{x}}^{1}\right)\right)\) porque\[(\mathcal{I} f)\left(\overline{\boldsymbol{x}}^{1}\right)=f\left(\overline{\boldsymbol{x}}^{1}\right)+b^{\prime}\left(\bar{x}^{1}-\bar{x}^{1}\right)+c^{\prime}\left(\bar{y}^{1}-\bar{y}^{1}\right)=f\left(\overline{\boldsymbol{x}}^{1}\right)\] Así, nuestra tarea se ha simplificado a la de encontrar los dos coeficientes\(b^{\prime}\) y\(c^{\prime}\), como oponerse a los tres coeficientes \(a, b\), y\(c\). Elegimos los dos coeficientes de tal manera que el interpolante satisfaga la condición de interpolación en\(\overline{\boldsymbol{x}}^{2}\) y\(\overline{\boldsymbol{x}}^{3}\), es decir\[\begin{aligned} &(\mathcal{I} f)\left(\bar{x}^{2}\right)=f\left(\bar{x}^{1}\right)+b^{\prime}\left(\bar{x}^{2}-\bar{x}^{1}\right)+c^{\prime}\left(\bar{y}^{2}-\bar{y}^{1}\right)=f\left(\bar{x}^{2}\right) \\ &(\mathcal{I} f)\left(\bar{x}^{3}\right)=f\left(\bar{x}^{1}\right)+b^{\prime}\left(\bar{x}^{3}-\bar{x}^{1}\right)+c^{\prime}\left(\bar{y}^{3}-\bar{y}^{1}\right)=f\left(\bar{x}^{3}\right) \end{aligned}\] O, de manera más compacta, podemos escribir las ecuaciones en forma de matriz como\[\left(\begin{array}{cc} \bar{x}^{2}-\bar{x}^{1} & \bar{y}^{2}-\bar{y}^{1} \\ \bar{x}^{3}-\bar{x}^{1} & \bar{y}^{3}-\bar{y}^{1} \end{array}\right)\left(\begin{array}{c} b^{\prime} \\ c^{\prime} \end{array}\right)=\left(\begin{array}{c} f\left(\overline{\boldsymbol{x}}^{2}\right)-f\left(\overline{\boldsymbol{x}}^{1}\right) \\ f\left(\overline{\boldsymbol{x}}^{3}\right)-f\left(\overline{\boldsymbol{x}}^{1}\right) \end{array}\right)\] Con algunas aritméticas, podemos encontrar una forma explícita de la coeficientes,\[\begin{aligned} b^{\prime} &=\frac{1}{A}\left[\left(f\left(\bar{x}^{2}\right)-f\left(\bar{x}^{1}\right)\right)\left(\bar{y}^{3}-\bar{y}^{1}\right)-\left(f\left(\bar{x}^{3}\right)-f\left(\bar{x}^{1}\right)\right)\left(\bar{y}^{2}-\bar{y}^{1}\right)\right] \\ c^{\prime} &=\frac{1}{A}\left[\left(f\left(\bar{x}^{3}\right)-f\left(\bar{x}^{1}\right)\right)\left(\bar{x}^{2}-\bar{x}^{1}\right)-\left(f\left(\bar{x}^{2}\right)-f\left(\bar{x}^{1}\right)\right)\left(\bar{x}^{3}-\bar{x}^{1}\right)\right] \end{aligned}\] con\[A=\left(\bar{x}^{2}-\bar{x}^{1}\right)\left(\bar{y}^{3}-\bar{y}^{1}\right)-\left(\bar{x}^{3}-\bar{x}^{1}\right)\left(\bar{y}^{2}-\bar{y}^{1}\right)\] Note que\(A\) es el doble del área del triángulo. Es importante señalar que esta segunda forma del interpolante lineal es idéntica a la primera forma; el interpolante solo se expresa en una forma diferente. El error en el interpolante está gobernado por el hessiano de la función, es decir,\[e \leq C h^{2}\left\|\nabla^{2} f\right\|_{F},\] dónde\(\left\|\nabla^{2} f\right\|_{F}\) está la norma Frobenius de la matriz hessiana, es decir,\[\left\|\nabla^{2} f\right\|_{F}=\sqrt{\left(\frac{\partial^{2} f}{\partial x^{2}}\right)^{2}+\left(\frac{\partial^{2} f}{\partial y^{2}}\right)^{2}+2\left(\frac{\partial^{2} f}{\partial x \partial y}\right)^{2}} .\] por lo tanto, el interpolante lineal por tramos es preciso de segundo orden y es exacto si\(f\) es lineal. El resultado de convergencia mostrado en la Figura 2.18 (b) confirma la\(h^{2}\) convergencia del error.


    This page titled 2.2: Interpolación de Funciones Bivariadas is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Masayuki Yano, James Douglass Penn, George Konidaris, & Anthony T Patera (MIT OpenCourseWare) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.