- Es un problema de contorno. Podemos usar el método del disparo, o elementos finitos, por ejemplo. Sin embargo, para el método de Elementos Finitos sólo hemos visto ejemplos con condiciones de contorno homogéneas, así que usaremos la técnica del disparo.
- Definimos la función
NLS
cuya raíz es la velocidad inicial que necesitamos para que al resolver el PDI se cumpla la condición de contorno en el extremo derecho.
function target = NLS(v)
funNL = @(x,ys)([
ys(2),
ys(1) + 1./(1 + 5*x.^2)
]);
x_span = [0, 1];
alfa = 0;
beta = 1;
y0 = [alfa, v];
[t,y] = ode45(funNL, x_span, y0);
target = y(length(t), 1) - beta;
end
- Encontramos la raíz de
NLS
con una llamada afsolve
.
vel_x0 = fsolve(@NLS, 0)
- Resolvemos el PVI con la velocidad inicial que encontramos antes.
funNL = @(x,ys)([
ys(2),
ys(1) + 1./(1 + 5*x.^2)
]);
x0 = 0;
xf = 1;
x_span = [x0, xf];
alfa = 0;
y0 = [alfa, vel_x0];
nx = 200;
xs = linspace(x0,xf,nx);
[t,ys] = ode45(funNL, xs, y0);
ys_NL = ys(:,1);
hold on;
plot(xs, transpose(ys_NL), 'g');
xlabel('x');
ylabel('desplazamiento vertical');
title('Solucion del problema de contorno');
hold off;