5 votos

Resolver el problema de valor de límite de $y''+ y' + e^xy = f(x)$

Considerar para resolver el Problema de Valor de Frontera :

$y''+ y' + e^xy = f(x)$ $0 < x < 1$

y $y(0)=y(1)=0$ con solución exacta $y(x) = \sin \pi x$

$f(x)=(e^x- \pi^2)\sin \pi x + \pi \cos \pi x$.

Yo trato de escribir los datos discretos sistema lineal a continuación (por favor consejos en caso de que algo malo), cómo trazar dos curvas para la solución exacta y la solución numérica de MATLAB y cómo comprobar el error y hacer una tabla para comparar las $n=10,20,40,80$

$$ \bbox[amarillo] { e_{max}= \lVert \vec e \lVert_{\infty} = {max_{1\le i \le n-1}} \lvert y(x_i)-y_i \rvert \qquad } $$

$$ \bbox[amarillo] { \frac {e^n_{max}}{e^{2n}_{max}} \approx 4 \qquad } $$

Error de truncamiento es $O(h^2)$ por lo tanto $\frac {c(h^2)}{c(2h)^2} \approx \frac {1}{4}$

Trate de contestar :

(1) $y''+ y' + e^xy = f(x)$ [ $0,1$ ] con $y(0)=y(1)=0$ forma una partición de [$0,1$] uso de los puntos $0= x_0 \lt x_1 \lt . . . \lt x_N=1$ donde$h= \frac {b-a} {N}$$x_j=a+jh$$j=0, 1, . . ., N$.

La diferencia primordial fórmulas se utilizan para aproximar la derrivatives :

(2) $y'(x_j)=\frac {y(x_{j+1})-y(x_{j-1})}{2h^2} +o(h^2)$

(3) $y''(x_j)=\frac {y(x_{j+1})-2y(x_j)+y(x_{j-1})}{h^2} +o(h^2)$

Para iniciar el derrivation, reemplazamos cada plazo $y(x_j)$ en el lado derecho de (2) y (3) por $y_j$ y las ecuaciones resultantes se sustituyen en (1) para obtener la relación :

(4)$\frac {y_{j+1}-2y_j+y_{j-1}}{h^2} + \frac {y_{j+1}-y_{j-1}}{2h}+ e^xy_j=f(x)$

que se utiliza para calcular la aproximación numérica a la ecuación diferencial (1). Esto se lleva a cabo multiplicando cada lado de (4) por $h^2$ y, a continuación, la recopilación de términos relacionados con la $x_{j-1}, x_j$ $x_{j+1}$ y ordenarlos en un sistema o de una ecuación lineal :

(5) $(1-h)y_{j-1} + (e^x-2)y_j+(h+1)y_{j+1}=h^2f(x)$ $j=1,2,..., N-1$ donde $x_0= 0$ $x_N=1$

El sistema en (5) tiene el familiar de forma tridiagonal que es más visible cuando se muestra con la notación matricial $A \vec y= \vec b$ :

A = $$ \begin{pmatrix} e^x-2 & \frac {h}{2}+1 & & &\\ 1- \frac {h}{2} & e^x-2 & \frac {h}{2}+1 & &\\ & 1- \frac {h}{2} & e^x-2 & \frac {h}{2}+1 & \\ & & 1- \frac {h}{2} & e^x-2 & \frac {h}{2}+1 \\ & & & 1- \frac {h}{2} & e^x-2\\ \end{pmatrix} $$ $\vec y$ = $$ \begin{pmatrix} x_1 \\ x_2\\ x_3\\ x_N-2\\ X_N-1\\ \end{pmatrix} $$ $\vec b$ = $$ \begin{pmatrix} h^2f(x_1)\\ h^2f(x_2)\\ h^2f(x_3)\\ h^2f(x_{N-2})\\ h^2f(x_{N-1})\\ \end{pmatrix} $$

donde $e_0=(-1+h)\alpha$ $\alpha=0$ $e_N=(-h-1)\beta$ $\beta=0$

5voto

duanduan Puntos 120

Por favor, compruebe las diferencias finitas métodos, como adelante de diferencia finita.

https://en.wikipedia.org/wiki/Finite_difference

Por ejemplo, puede utilizar la central de diferencia a la aproximación de segundo orden derivados, es como

$y^{''}=\frac{y_{n-1}-2y_n+y_{n+1}}{h^2}$

Usted también puede utilizar la central de diferencia para aproximar la derivada de primer orden, es como

$y^{'}=\frac{y_{n+1}-y_{n-1}}{2h}$

A continuación, su ODA podría ser cambiado como

$\frac{y_{n-1}-2y_n+y_{n+1}}{h^2}+\frac{y_{n+1}-y_{n-1}}{2h}+e^{x_n}y_n=f(x_n)$

Donde $x_n=x_0+nh$

Desde aquí usted sería capaz de resolver la ODA de una manera muy simple código de MATLAB.

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