4 votos

¿Cómo calculo numéricamente una función a partir de su gradiente ruidoso usando "integración global"?

Tengo el modelo $\ s(x,y)=x^2+y^2, 0 \leq x \leq 1, 0 \leq y \leq 1 $.

En lugar de observar el modelo directamente, estoy mirando los derivados de la modelo + algo de ruido (e):

$\ p(x,y)=s_x+e, q(x,y)=s_y+e$

A partir de las mediciones de p(x,y) y q(x,y) yo quiero estimar s(x). Decir que sé que s(0,0)=0.

De acuerdo a la gradiente teorema: $\ s(x,y) = \int_{(0,0)}^{(x,y)} [s_x,s_y]d\vec{r}$

independientemente a lo largo de la ruta de acceso integramos.

Por desgracia, el gradiente teorema no se cumple en este caso debido a que el ruido, como puede ser demostrado por una Matlab experimento.

En lugar de esto, se supone que el uso global de los métodos de integración, donde uno trata de elegir una S(x,y) que minimiza:

$\ \int_0^1\int_0^1 [|s_x - p|^2 + |s_y - q|^2] dxdy$

¿Cómo puedo hacer esto en la práctica (con mi ejemplo de la ecuación)?

EDITAR:

Un método que he utilizado es este:

primero le vamos a presentar lineal de la derivación de los operadores: $\ s_x = D_x*s,s_y = D_y*s$.

El resultado es el siguiente sistema de ecuaciones lineales:

$\ D_x*s=p, D_y*s=q$

La próxima encontrar un Error Mínimo Cuadrado solución a estas ecuaciones. Una LSE solución a estas ecuaciones se supone que es equivalente a minimizar la integral desde arriba. ¿Cómo puede ser esto muestra?

Los resultados son buenos, pero hay algunos de los inconvenientes de este enfoque:

  1. es difícil de aplicar; debe utilizar la central de diferencias y de "aplanar" 2D s de la matriz a vector etc.

  2. La derivación de las matrices son muy grandes y dispersos, de modo que puede consumir una gran cantidad de memoria RAM.

Otro enfoque que parece potencialmente más sencillo de código, menos RAM consume y más rápido es el uso de la FFT. En el espacio de Fourier estas ecuaciones en derivadas parciales convertido en una ecuación algebraica. Esto se conoce como la Frankot-Chellappa algoritmo, pero por desgracia no he conseguido que funcione en mi ejemplo de datos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X