You are on page 1of 12

PRCTICA TEMA 2 - Ejercicio 1

La deformacin de una lmina rectangular y alargada que soporta una carga uniforme bajo una fuerza de tensin axial, se modela mediante una
ecuacin diferencial de segundo orden. Sea S la fuerza axial, q la intensidad de la carga uniforme, D la rigidez a flexin, l la longitud de la placa,
la deformacin w viene dada por la siguiente expresin:

en donde

Aproximar la deformacin de la placa a intervalos de 1,00 m en base a los siguientes parmetros:

O restart;
O Digits:=18;
Digits := 18
1.1) Comprobacin de que el problema posee solucin nica.
En primer lugar se comprueba si el problema de frontera, tambin denominado de contorno, posee solucin nica. Para ello han de verificarse las
siguientes condiciones:
> La funcin f y sus derivadas con respecto a w(x) y w'(x) son continuas;
> La derivada parcial de f con respecto a w(x) es positiva;
> La derivada parcial de f con respecto a w'(x) est acotada.
Se reescribe la ecuacin diferencial como una funcin f(x,w,w').
O f:=(x,w,wprima)->S/Dl*w-q*l*x/(2*Dl)+q*x^2/(2*Dl);

(1

f := x, w, wprima /

Sw
1 qlx
1 qx
K
C
Dl
2 Dl
2 Dl

(2

La derivada de f respecto de w(x), donde se comprueba que es continua y positiva, en tanto que S y Dl son constantes positivas.
O diff(f(x,w,wprima),w);
S
Dl
La derivada de f respecto de w'(x), donde se comprueba que es continua y se encuentra acotada.
O diff(f(x,w,wprima),wprima);
0

(3

(4

1.2) Resolucin del problema de contorno mediante una sentencia de Maple.


Se procede a obtener la solucin exacta de la ecuacin diferencial para poder comparar la validez de los resultados obtenidos mediante el mtodo
numrico.
Se definen las variables que intervienen en la ecuacin diferencial.
O S:=100;
Dl:=8.8E7;
q:=200;
l:=50;
S := 100
Dl := 8.8 107
q := 200
l := 50

(5

Se define la ecuacin diferencial de la forma w''(x)+m(x)w'(x)+n(x)w(x)+r(x)=0.


O ED:=diff(w(x),x$2)-S/Dl*w(x)+q*l/(2*Dl)*x-q/(2*Dl)*x^2;
2
d
2
ED := 2 w x K0.00000113636363636363636 w x C0.0000568181818181818180 x K0.00000113636363636363636 x
dx

(6

Se resuelve la ecuacin diferencial mediante la sentencia dsolve().


O EDsol:=dsolve({ED,w(0)=0,w(l)=0});
50000000000000000000000 e
EDsol := w x = K
28409090909090909

1
500000000000

1
K
10000000000

284090909090909090 x

1
10000000000

284090909090909090

K1 Ce
284090909090909090

Ke

1
10000000000

(7
284090909090909090

1
K
500000000000

50000000000000000000000 e
C
28409090909090909

1
10000000000

284090909090909090 x

K1 Ce
284090909090909090

Ke

1
10000000000

1
10000000000

284090909090909090

284090909090909090

50000000000000000000000
2
C50 x Kx
28409090909090909
O SOL:=evalf(rhs(EDsol));
5 0.00106600358177805217 x
5 K0.00106600358177805217 x
SOL := 8.56553471726022908 10 e
C9.03446528273977102 10 e
K

(8

K1.76000000000000001 10 C50. x K1. x

Se comprueban los valores de contorno en la ecuacin diferencial solucin w(x):


O evalf(subs(x=0,SOL));
0.
O evalf(subs(x=50,SOL));
0.

(9
(10

1.3) Resolucin del problema de contorno mediante el Mtodo de las Diferencias Finitas.
En primer lugar se define la funcin f(x,w,w')=w''(x)=m(x)w'(x)+n(x)w(x)+r(x), a travs de las funciones m(x), n(x) y r(x).
O m:=x->0;
n:=x->evalf(S/Dl);
r:=x->evalf(-q*l*x/(2*Dl)+q*x^2/(2*Dl));
m := x/0
S
n := x/evalf
Dl
2

r := x/evalf K

1 qlx
1 qx
C
2 Dl
2 Dl

(11

El intervalo de integracin de la ecuacin diferencial:


O a:=0;
b:=l;
a := 0
b := 50
Los valores de la funcin en los extremos, es decir, las condiciones de contorno:
O alpha:=0;
beta:=0;

(12

E := 0
F := 0
Se divide el intervalo en 50 partes, de forma que queda definido el paso (h). Se utiliza N=49 pues el valor de la funcin es conocido en el extremo.
O h:=1;
N:=floor((b-a)/h)-1;
h := 1
N := 49
Se carga el paquete linalg, que permite utilizar sentencias de Maple para resolver sistemas tridiagonales.
O with(linalg);
BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment,
backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, coldim, colspace, colspan, companion, concat, cond,
copyinto, crossprod, curl, definite, delcols, delrows, det, diag, diverge, dotprod, eigenvals, eigenvalues, eigenvectors, eigenvects,
entermatrix, equal, exponential, extend, ffgausselim, fibonacci, forwardsub, frobenius, gausselim, gaussjord, geneqns, genmatrix,
grad, hadamard, hermite, hessian, hilbert, htranspose, ihermite, indexfunc, innerprod, intbasis, inverse, ismith, issimilar, iszero,
jacobian, jordan, kernel, laplacian, leastsqrs, linsolve, matadd, matrix, minor, minpoly, mulcol, mulrow, multiply, norm,
normalize, nullspace, orthog, permanent, pivot, potential, randmatrix, randvector, rank, ratform, row, rowdim, rowspace,
rowspan, rref, scalarmul, singularvals, smith, stackmatrix, submatrix, subvector, sumbasis, swapcol, swaprow, sylvester, toeplitz,
trace, transpose, vandermonde, vecpotent, vectdim, vector, wronskian
Se define una matriz M con todos sus valores nulos, y sobre la cual se rellenar el sistema tridiagonal.
O M:=matrix(N,N+1,0);
M := 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,

(13

(14

(15

(16

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Se define un vector de coordendas x sobre el cual se van rellenado los distintos valores de la variable independiente.
O for i from 1 to N do
x[i]:=a+i*h;
od:
Se generan los valores no nulos de la primera fila del sistema tridiagonal, donde M[N,N+1] es el correspondiente al trmino independiente.
O M[1,1]:=2+h^2*n(x[1]);
M1, 1 := 2.00000113636363636

,
,
,
,
,
,
,
,

(17

O M[1,2]:=-1+(h/2)*m(x[1]);
M1, 2 := K1

(18

O M[1,N+1]:=-h^2*r(x[1])+(1+(h/2)*m(x[1]))*alpha;
M1, 50 := 0.0000556818181818181816

(19

Se generan las filas intermedias del sistema de ecuaciones tridiagonal.


O for i from 2 to N-1 do
M[i,i-1]:=-1-(h/2)*m(x[i]);
M[i,i]:=2+(h^2)*n(x[i]);
M[i,i+1]:=-1+(h/2)*m(x[i]);
M[i,N+1]:=-(h^2)*r(x[i]);
od:
Se general los valores de la ltima fila del sistema de ecuaciones tridiagonal.
O M[N,N-1]:=-1-(h/2)*m(x[N]);
M49, 48 := K1

(20

O M[N,N]:=2+(h^2)*n(x[N]);
M49, 49 := 2.00000113636363636

(21

O M[N,N+1]:=-(h^2)*r(x[i])+(1-(h/2)*m(x[N]))*beta;
M49, 50 := 0.00005568181818181818

(22

Se resuelve el sistema de ecuaciones mediante el Mtodo de Gauss, utilizando para ello la setencia gausselim, recogindose los resultados en un vector
U.
O R:=gausselim(M):
O U:=backsub(R);
U := 0.0118290245124076515, 0.0236023806487067944, 0.0352666726968021290, 0.0467707775479346188,
(23
0.0580658446385870494, 0.0691052958949720236, 0.0798448256801023325, 0.0902424007434436412,
0.100258260173149431, 0.109854915350878144, 0.118997149909192483, 0.127652019691540809, 0.135788852714820602,
0.143379249134523934, 0.150397081212464919, 0.156818493287089099, 0.162621901746364742, 0.167787995003256004,
0.172299733473777952, 0.176142349557633392, 0.179303347621431510, 0.181772503984488288, 0.183541866907208684,
0.184605756582050565, 0.184960765127070379, 0.184605756582050565, 0.183541866907208684, 0.181772503984488288,
0.179303347621431510, 0.176142349557633391, 0.172299733473777951, 0.167787995003256004, 0.162621901746364742,
0.156818493287089101, 0.150397081212464921, 0.143379249134523937, 0.135788852714820604, 0.127652019691540811,
0.118997149909192484, 0.109854915350878145, 0.100258260173149431, 0.0902424007434436418,
0.0798448256801023330, 0.0691052958949720241, 0.0580658446385870498, 0.0467707775479346193,
0.0352666726968021294, 0.0236023806487067948, 0.0118290245124076517

1.4) Resolucin del problema de contorno mediante el Mtodo del Disparo Lineal.
Se utiliza en este caso el Mtodo del Disparo Lineal, el cual consiste, como ya es sabido, en sustituit el problema de contorno por dos problemas de valor
inicial que poseen solucin nica.

1.4.1) Solucin de la primera ecuacin diferencial, de la forma w''(x)=p(x)w'(x)+q(x)w(x)+r(x).

O G1:=(t,U1,U2)->evalf(U2);
G2:=(t,U1,U2)->evalf(S/Dl*U1-q*l/(2*Dl)*t+q/(2*Dl)*t^2);
G1 := t, U1, U2 /evalf U2
2

G2 := t, U1, U2 /evalf

1 qlt
S U1
1 qt
K
C
Dl
2 Dl
2 Dl

(24

Las condiciones iniciales de esta primera ecuacin son las siguientes:


O G[1,0]:=alpha;
G[2,0]:=0;
G1, 0 := 0
(25

G2, 0 := 0

(25

Se resuelve el problema de condicin inicial mediante el Mtodo de Runge-Kutta de orden 4.


O for i from 1 to N+1 do
t:=a+(i-1)*h;
K1[1,1]:=h*G1(t,G[1,i-1],G[2,i-1]);
K1[1,2]:=h*G2(t,G[1,i-1],G[2,i-1]);
K1[2,1]:=h*G1(t+(h/2),G[1,i-1]+(1/2)*K1[1,1],G[2,i-1]+(1/2)*K1[1,2]);
K1[2,2]:=h*G2(t+(h/2),G[1,i-1]+(1/2)*K1[1,1],G[2,i-1]+(1/2)*K1[1,2]);
K1[3,1]:=h*G1(t+(h/2),G[1,i-1]+(1/2)*K1[2,1],G[2,i-1]+(1/2)*K1[2,2]);
K1[3,2]:=h*G2(t+(h/2),G[1,i-1]+(1/2)*K1[2,1],G[2,i-1]+(1/2)*K1[2,2]);
K1[4,1]:=h*G1(t+h,G[1,i-1]+K1[3,1],G[2,i-1]+K1[3,2]);
K1[4,2]:=h*G2(t+h,G[1,i-1]+K1[3,1],G[2,i-1]+K1[3,2]);
G[1,i]:=G[1,i-1]+(1/6)*(K1[1,1]+2*K1[2,1]+2*K1[3,1]+K1[4,1]);
G[2,i]:=G[2,i-1]+(1/6)*(K1[1,2]+2*K1[2,2]+2*K1[3,2]+K1[4,2]);
od:
Las soluciones del primer problema de valor inicial:
O for i from 0 to N+1 do;
W1[i]:=G[1,i];
od:
1.4.2) Solucin de la segunda ecuacin diferencial w''(x)=p(x)w'(x)+q(x)w(x).
O H1:=(t,V1,V2)->evalf(V2);
H2:=(t,V1,V2)->evalf(S/Dl*V1);
H1 := t, V1, V2 /evalf V2
S V1
H2 := t, V1, V2 /evalf
Dl

(26

Las condiciones iniciales de esta primera ecuacin son las siguientes:


O H[1,0]:=0;
H[2,0]:=1;
H1, 0 := 0
H2, 0 := 1
Se resuelve el problema de condicin inicial mediante el Mtodo de Runge-Kutta de orden 4.
O for i from 1 to N+1 do
t:=a+(i-1)*h;
K2[1,1]:=h*H1(t,H[1,i-1],H[2,i-1]);
K2[1,2]:=h*H2(t,H[1,i-1],H[2,i-1]);

(27

K2[2,1]:=h*H1(t+(h/2),H[1,i-1]+(1/2)*K2[1,1],H[2,i-1]+(1/2)*K2[1,2]);
K2[2,2]:=h*H2(t+(h/2),H[1,i-1]+(1/2)*K2[1,1],H[2,i-1]+(1/2)*K2[1,2]);
K2[3,1]:=h*H1(t+(h/2),H[1,i-1]+(1/2)*K2[2,1],H[2,i-1]+(1/2)*K2[2,2]);
K2[3,2]:=h*H2(t+(h/2),H[1,i-1]+(1/2)*K2[2,1],H[2,i-1]+(1/2)*K2[2,2]);
K2[4,1]:=h*H1(t+h,H[1,i-1]+K2[3,1],H[2,i-1]+K2[3,2]);
K2[4,2]:=h*H2(t+h,H[1,i-1]+K2[3,1],H[2,i-1]+K2[3,2]);
H[1,i]:=H[1,i-1]+(1/6)*(K2[1,1]+2*K2[2,1]+2*K2[3,1]+K2[4,1]);
H[2,i]:=H[2,i-1]+(1/6)*(K2[1,2]+2*K2[2,2]+2*K2[3,2]+K2[4,2])
od:
Las soluciones del primer problema de valor inicial:
O for i from 0 to N+1 do;
W2[i]:=H[1,i];
od:
1.4.3) Solucin final de la ecuacin diferencial de 2 orden con condiciones de contorno.
Se aplica la frmula que combina las soluciones de las dos ecuaciones diferenciales de primer orden con condiciones iniciales resueltas anteriormente.
O for i from 0 to N+1 do
W[i]:=W1[i]+(beta-W1[N+1])*W2[i]/W2[N+1];
od:
1.5) Comprobacin de la validez de los resultados obtenidos mediante los mtodos numricos.
Se define una matriz B en la cual se recogen los resultados obtenidos con el mtodo numrico y los que resultan de la solucin excata de la ecuacin
diferencial.
O B:=array(1..N+1,1..6):
A continuacin se muestran los resultados y el error cometido en cada aproximacin.
O B[1,1]:='x[i]':
B[1,2]:='Sol._exacta':
B[1,3]:='Sol._Diferencias_Finitas':
B[1,4]:='Error_Diferencias_Finitas':
B[1,5]:='Sol._Disparo_Lineal':
B[1,6]:='Error_Disparo_Lineal':
O for i from 2 to N+1 do
c:=evalf(a+(i-1)*h);
B[i,1]:=c;
B[i,2]:=evalf(subs(x=c,SOL));
B[i,3]:=U[i-1];
B[i,4]:=abs(B[i,3]-B[i,2]);
B[i,5]:=W[i-1];
B[i,6]:=abs(B[i,5]-B[i,2]);
od:

O print(B);

xi

Sol._exacta

Sol._Diferencias_Finitas Error_Diferencias_Finitas

Sol._Disparo_Lineal

Error_Disparo_Lineal
-12

1. 0.01182438660 0.0118290245124076515 0.0000046379124076515 0.0118243866011393291

1.1393291 10

2. 0.02359329421 0.0236023806487067944 0.0000090864387067944 0.0235932942095585952

4.414048 10

3. 0.03525332710 0.0352666726968021290 0.0000133455968021290 0.0352533271030509417

3.0509417 10

4. 0.04675336216 0.0467707775479346188 0.0000174153879346188 0.0467533621631761811

3.1761811 10

5. 0.05804454881 0.0580658446385870494 0.0000212958285870494 0.0580445488171663360

7.1663360 10

6. 0.06908030898 0.0691052958949720236 0.0000249869149720236 0.0690803089824136209

2.4136209 10

7. 0.07981633701 0.0798448256801023325 0.0000284886701023325 0.0798163370135407958

3.5407958 10

8. 0.09021059965 0.0902424007434436412 0.0000318010934436412 0.0902105996520538390

2.0538390 10

9. 0.10022333597 0.100258260173149431

0.000034924203149431

0.100223335978576875

8.576875 10

10. 0.10981705737 0.109854915350878144

0.000037857980878144

0.109817057367669307

2.330693 10

11. 0.11895654744 0.118997149909192483

0.000040602469192483

0.118956547445225104

5.225104 10

12. 0.12760886205 0.127652019691540809

0.000043157641540809

0.127608862048454188

1.545812 10-12

13. 0.13574332919 0.135788852714820602

0.000045523524820602

0.135743329188445884

1.554116 10

14. 0.14333154901 0.143379249134523934

0.000047700124523934

0.143331549015314377

5.314377 10

15. 0.15034739379 0.150397081212464919

0.000049687422464919

0.150347393785926166

4.073834 10

16. 0.15676700783 0.156818493287089099

0.000051485457089099

0.156767007834209430

4.209430 10-12

17. 0.16256880754 0.162621901746364742

0.000053094206364742

0.162568807544045323

4.045323 10

18. 0.16773348133 0.167787995003256004

0.000054513673256004

0.167733481324741129

5.258871 10

19. 0.17224398959 0.172299733473777952

0.000055743883777952

0.172243989589085275

9.14725 10

20. 0.17608556473 0.176142349557633392

0.000056784827633392

0.176085564733984162

3.984162 10

21. 0.17924571112 0.179303347621431510

0.000057636501431510

0.179245711123680791

3.680791 10

-13
-12
-12
-12
-12
-12
-12

-12
-12
-12

-12
-12
-12

-12
-12

-13
-12
-12

You might also like