Libro Metodos Numericos
Libro Metodos Numericos
Libro Metodos Numericos
Introducci
on a Matlab
1.1.
Objetivos
1.2.
Desarrollo.
Matlab es un lenguaje de programacion muy popular usado por estudiantes, ingenieros y cientficos en universidades, institutos de investigacion y en las industrias en todo el mundo. El programa
es popular porque es muy poderoso y facil de usar. El nombre Matlab significa laboratorio de
matrices, este lenguaje puede usarse para calculos matematicos, modelacion y simulaciones.
1
A MATLAB
CAPITULO 1. INTRODUCCION
1.2.1.
A = [1 2 5 -5 9];
A= =[1, 2, -5, 9];
B=[2 3 -1;0 2 4;1 0.5 1.4];
B=[2, 3, -1;0, 2, 4;1, 0.5, 1.4];
En los ejemplos anteriores, A es un vector renglon que tiene 5 elementos, puede observar que esta
escrito de dos formas, la matriz B tiene un tama
no de tres por tres y tambien se escribio de dos
formas equivalentes, el punto y coma evita que se despliegue la matriz en la pantalla.
Matlab nos permite escribir matrices usando el operador dos puntos, veamos algunos ejemplos.
>>
x=
>>
y=
x=1:6
1
2
3
4
y=1:0.5:4
1.0000 1.5000
2.0000
2.5000
3.0000
3.5000
4.0000
En los ejemplos anteriores no se coloco punto y coma al final del arreglo y por eso los elementos de
la matriz se despliegan, note que el vector x tiene un espacio de uno entre los elementos, en cambio
el vector y tiene un espacio de 0.5, por supuesto el espaciamiento puede ser el que se quiera.
Utilizando el comando linspace(a,b,N) construimos un vector que tiene N puntos igualmente
espaciados entre a y b.
1.2. DESARROLLO.
>> z=linspace(1,5,6)
z =
1.00000
1.80000
2.60000
3.40000
4.20000
5.00000
El operador punto es sumamente importante, si queremos multiplicar, dividir o elevar a una potencia cada elemento de un vector o una matriz usamos el punto antes del operador
.*
./
.^
Ejemplo 1: Se lanza una pelota hacia arriba con una rapidez inicial de 10m/s, desde la azotea de
un edificio de 60 metros, construya una tabla que muestre como cambia la posicion y velocidad en
funcion del tiempo, el tiempo comenzando en cero y con incrementos de 0.5 hasta cuatro segundos.
La posicion y velocidad en funcion del tiempo, tomando la referencia en el suelo son:
y = 60 + 10t
1
(9,8) t2
2
v = 10 9,8t
El script es:
>>
>>
>>
>>
>>
>>
>>
>>
>>
format bank
t=0:0.5:4;
y=60+10t-4.9*t.^2;
v=10-9.8*t;
plot(t,y);
xlabel(Tiempo en segundos);
ylabel(Posicion en metros);
title(Posicion vr tiempo: caida libre);
tabla=[t,y,v]
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
60.00
63.77
65.10
63.97
60.40
54.37
45.90
34.97
21.60
10.00
5.10
2.00
-4.70
-9.60
-14.50
-19.40
-24.30
-29.20
A MATLAB
CAPITULO 1. INTRODUCCION
>> A=zeros(2)
ans =
0.00
0.00
0.00
0.00
>> B = zeros(2,3)
ans =
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
El n
umero entre parentesis define una matriz cuadrada. En cambio el comando zeros(m, n) construye una matriz de m renglones y n columnas.
La matriz ones(n) construye una matriz cuadrada de unos y ones(m,n) construye una matriz de
unos de m renglones y n columnas.
>> ones(2)
ans =
1.00
1.00
1.00
1.00
>> ones(2,3)
ans =
1.00
1.00
1.00
1.00
1.00
1.00
1.2. DESARROLLO.
1.2.2.
Las funciones definidas por el usuario se escriben en un editor y se salvan con la extension m.
Toda funcion debe tener lo siguiente:
La palabra function.
Una variable que define la salida de la funcion.
Un nombre para la funcion.
Una variable o variables que definen los argumentos de entrada.
Considere los siguientes ejemplos:
Ejemplo 2 : una partcula se mueve en una recta de acuerdo a la ecuacion de posicion x =
t3 4t2 3t + 1 al derivar obtenemos la velocidad v = 3t2 12t 3 al derivar obtenemos la
aceleracion a = 6t 12
(a) Construya una funcion en Matlab que evalue simultaneamente la posicion, velocidad y aceleracion para un tiempo cualquiera t y evalue en t = 1,0 (b) Evalue la funcion para un vector de
tiempo que comience en 0 y llegue 5 segundos con un paso de 0.5
Desarrollo
function[posicion,velocidad,aceleracion]=movimiento(t)
%esta funcion calcula la posicion, velocidad y aceleracion de una
%particula dado los valores de t
posicion=t.^3-4.*t.^2-3.*t+1
velocidad=3.*t.^2-12.*t-3
aceleracion=6.*t-12
En este caso la funcion se salvo con el nombre movimiento.m ya que se debe salvar con el mismo
nombre que aparece en el script. Los argumentos de salida son posicion, velocidad y aceleracion y
la entrada es t.
(a) Al evaluar en t = 1,0 se tiene:
En la ventana de comando o en la consola de OCTAVE se escribe:
>> [posicion,velocidad,aceleracion]=movimiento(1)
posicion=5
velocidad=-12
aceleracion=-6
A MATLAB
CAPITULO 1. INTRODUCCION
>> t=0:1:3;
>> [posicion,velocidad,aceleracion]=movimiento(t)
posicion=
1
-5
-13
-17
velocidad=
-3
-12
-15
-12
aceleracion=
-12
-6
0
6
Transponiendo los renglones por columnas en el resultado anterior logramos mas claridad visualmente, veamos como se escribe
>> resultados=[t,posicion,velocidad,aceleracion]
0
1
2
3
1
-5
-13
-17
-3
-12
-15
-12
-12
-6
0
6
Matlab nos permite operar con las funciones elementales mas utilizadas en los cursos de fsica,
veamos algunas de ellas.
Para obtener el valor absoluto de un n
umero x, abs(x), ejemplo.
>> abs(-9)
ans = 9
La raz cuadrada de un n
umero x, se calcula con el comando sqrt(x), ejemplo.
>> sqrt(81)
ans = 9
La funcion signo, nos devuelve 1 si x < 0 o 1 si x > 0, ejemplo.
>> sign(-7)
ans = -1
>> sign(7)
ans = 1
La funcion exp(x), calcula la funcion exponencial de base (e), ex , ejemplo.
>> exp(2)
ans = 7.3891
1.2. DESARROLLO.
>> log(40)
ans = 3.6889
La funcion log10(x), calcula el logaritmo de base 10, ejemplo.
>> log10(1000)
ans = 3
La funcion round(x), nos permite redondear el n
umero x, al entero mas cercano, ejemplo.
>> round(4.9)
ans = 5
La funcion factorial(x), calcula el factorial del n
umero entero positivo x, ejemplo.
>> factorial(5)
ans = 120
La funcion sin(x), calcula la funcion seno de x, donde x esta en radianes, si queremos realizar el
calculo en grados usamos la funcion sind(x), ejemplos.
>> sin(1.3)
ans = 0.96356
>> sind(45)
ans = 0,70711
La funcion asin(x), devuelve el arcoseno o seno inverso del n
umero x, donde x debe estar entre 1
y -1, la funcion asind(x) nos retorna un angulo en grados.
>> asin(0.85)
ans = 1.0160
>> asind(0.5)
ans = 30.000
Las funciones cos(x), tan(x), nos retornan el coseno y tangente de x en radianes, respectivamente,
las funciones cosd(x) y tand(x), nos retornan el coseno y tangente de x, donde x esta en grados.
Para las funciones inversas usamos acos(x), atan(x), acosd(x) y atan(x).
La funcion mean(x), nos devuelve la media o promedio de un vector x, ejemplo.
A MATLAB
CAPITULO 1. INTRODUCCION
8
>> x= [1 2 3 4];
>> mean(x)
ans = 2.5000
La funcion sum(x), nos retorna la suma de todos los elementos del vector x, ejemplo.
>> x= [1 2 3 4];
>> sum(x)
ans = 10
1.2.3.
Podemos permitir al usuario ingresar valores mientras el programa esta corriendo, la funcion
input nos permite hacer esto y desplegar texto en la pantalla.
Ejemplo 3 Una partcula esta descrita por la ecuacion de posicion x = 5t + 0,5t2 , queremos que
el usuario ingrese el valor del tiempo y as predecir la posicion, el script se salvo con el nombre
ejemplo3.m:
t = input(Ingrese el tiempo: )
x = 5.*t+0.5.*t.^2
disp(x)
Al correr el programa anterior, si el usuario ingresa 2 se obtiene
>> ejemplo3
>> Ingrese el tiempo: 2
12
En el script anterior se utilizo la funcion disp(x) para mostrar la salida de x.
Podemos darle una salida formateada al programa anterior utilizando fprintf, modifiquemos el
script ejemplo3.m
t=input(Ingrese el tiempo: );
x=5.*t+0.5.*t.^2;
fprintf(La posicion es %3.3f metros \n, x)
En %3.3f el primer n
umero nos indica un espacio de tres unidades y el segundo n
umero el n
umero
de cifras decimales, la letra n es para indicar nueva lnea, veamos una corrida evaluando otra vez
en 2
1.2. DESARROLLO.
>> ejemplo3
Ingrese el tiempo: 2
La posicion es 12.000 metros
Si modificamos el script ejemplo3.m para evaluar un vector t, desde 0 hasta 3 con un paso de
0.5, tenemos
t=0:0.5:3;
x=5.*t+0.5.*t.^2;
fprintf(t
x \n)
tabla=[t;x];
fprintf(%2.1f %5.3f \n, tabla)
>> ejemplo3
t
x
0.0
0.000
0.5
2.625
1.0
5.500
1.5
8.625
2.0
12.000
2.5
15.625
3.0
19.500
1.2.4.
Estructuras de selecci
on en Matlab
Antes de ver las estructuras de seleccion, necesitamos conocer los operadores logicos, veamos
la sintaxis.
<
<=
>
>=
==
~=
&
|
menor que
menor o igual
mayor que
mayor o igual que
igual
diferente a
y
o
10
A MATLAB
CAPITULO 1. INTRODUCCION
if
(expresion)
comandos
end
Si no se cumple lo que se esta comparando se salta las operaciones.
La estructura if/else, nos permite realizar varias operaciones que surgen de hacer dos comparaciones.
if
(expresion)
comandos
else
comandos
end
En el Ejemplo 1, estudiamos el movimiento de un objeto en cada libre, ah obtuvimos la ecua1
cion de posicion y = 60 + 10t gt2 , escribamos un script que calcule el tiempo que le toma
2
a la partcula llegar al suelo, el programa debe descartar los tiempos negativos y las soluciones
imaginarias.
Ejemplo 4 La ecuacion de posicion evaluada cuando la partcula esta llegando al suelo es:
0 = 4,9t2 + 10t + 60, tenemos que resolver una ecuacion de grado 2, el siguiente script nos
da la solucion.
a =input(Ingrese a, el coeficiente del termino cuadratico: );
b=input(Ingrese b, el coeficiente del termino lineal: );
c=input(Ingrese c, el termino independiente: );
disc=b^2-4*a*c;
if disc >= 0
t1=(-b-sqrt(disc))/(2*a);
t2=(-b+sqrt(disc))/(2*a);
if t1>=0 & t2>=0
fprintf(Los tiempos son %3.3f segundos y %7.3f segundos \n, t1,t2)
end
if t1>=0 & t2<0
fprintf(El tiempo es %3.3f segundos \n, t1)
end
if t1<0 & t2>=0
fprintf(El tiempo es %3.3f segundos \n, t2)
end
if t1<0 & t2<0
disp(Los tiempos salen negativos)
end
else
disp( Con los valores que ingreso la ecuacion no tiene solucion real)
end
1.2. DESARROLLO.
11
|x|
x0
x
0<x1
f (x) =
2
x
1<x2
3
x x > 2
La funcion en Octave es:
function y=funcion1(x)
if x<=0
y=abs(x);
elseif x>0 & x<=1
y=x;
elseif x>1 & x<=2
y=x^2;
else
y=-x^3;
end
En el script anterior, la funcion debe salvarse como funcion1, ya que ese es el nombre que tiene
en el script.
Una forma alternativa de trabajar decisiones m
ultiples es con switch la sintaxis es la siguiente
A MATLAB
CAPITULO 1. INTRODUCCION
12
switch(z)
case 1
comando
case 2
comandos
case 3
comandos
.
.
.
endswitch
x=input(Ingrese el valor de x: );
y=input(Ingrese el valor de y: );
disp(Si quiere multiplicar los numeros x y y, seleccione 1);
disp(Si quiere dividir y/x, seleccione 2);
disp(Si quiere calcular la raiz cuadrada de la suma de los cuadrados, seleccione 3);
z=input(Que operacion desea realizar con x y y, ingrese 1, 2 o 3: );
switch(z)
case 1
mult=x*y;
fprintf(La multiplicacion da %3.2f \n, mult);
case 2
if x~=0
div=y/x;
fprintf(La division de y/x es %3.3f \n, div);
else
fprintf(La division entre cero no esta definida)
end
case 3
r=(x^2+y^2)^0.5;
fprintf(La suma de los cuadrados y su respectiva raiz es %3.3f \n, r);
endswitch
1.2.5.
Ciclos
1.2. DESARROLLO.
13
for k=i:m:n
comandos
end
Donde k es la variable indice del ciclo, i es el valor de k en el primer paso, m es el incremento de
k despues de cada paso, n es el valor de k en el u
ltimo paso.
Ejemplo 7 La funcion cos(x) puede escribirse como una serie de Taylor de la siguiente manera
y = cos (x) =
X
(1)k x2k
k=0
(2k)!
function y=tcos(x,n)
% x es el angulo en grados
% n es el numero de terminos en la serie de Taylor
% xr es el angulo en radianes
xr=x*pi/180;
y=0;
for k=0:n-1
y=y+((-1)^k)*xr^(2*k)/factorial(2*k);
end
Evaluemos la funcion en 300 con cinco terminos en la serie:
>> tcos(30,5)
ans = 0.8660
Ejemplo 8 En muchos problemas de fsica surgen las integrales, como en el calculo de trabajos,
fuerzas, integrales de trayectoria y usualmente la mayora no tiene solucion analtica, construyamos una solucion numerica de integrales utilizando el metodo de la regla compuesta del trapecio.
Construccion de la aproximacion a la integral
Z
a
m1
X
h
f (xk )
f (x) (f (a) + f (b)) + h
2
k=1
Evaluando f (x) en los m + 1 nodos equiespaciados xk = a + kh, para k = 0, 1, 2, ..., m. Notese que
x0 = a y xm = b. Escribamos una funcion que nos realice la integracion
A MATLAB
CAPITULO 1. INTRODUCCION
14
%
%
%
%
function w=trapecio(f,a,b,m)
f es la funcion a integrar, dada como una cadena de caracteres
a y b son los extremos inferior y superior del intervalo de integracion
m es el numero de subintervalos
w es la aproximacion obtenida con la regla compuesta del trapecio
h=(b-a)/m;
w=0;
for k=1:(m-1)
x=a+h*k;
w=w+feval(f,x);
end
w=h*(feval(f,a)+feval(f,b))/2+h*w;
El comando feval(f,x) eval
ua la funcion f con el valor x, una funcion dada como cadena de caracteres implica que cuando se llame la funcion f, esta tenemos que ponerla entre comillas, consideremos
la evaluacion de la funcion f (x) = xsen (x) entre x = 0 y x = 1, primero escribimos la funcion en
Octave
function y=fun1(x)
y=x.*sin(x);
3
xn
+
2
2x2
sujeto a la condicion inicial xn = 1. Determinemos que pasa cuando n crece. Notemos que el punto
fijo de este mapa, esto es donde xn = xn+1 esta dado por la solucion de la ecuacion:
xn =
xn
3
+
2
2x2
1.2. DESARROLLO.
15
xanterior=2;
xnuevo=1;
while abs(xnuevo-xanterior)> 1e-5
xanterior=xnuevo;
xnuevo=xnuevo/2+3/(2*xnuevo)
end
>> mapa
xnuevo=2
xnuevo=1.7500
xnuevo=1.7321
1.2.6.
En fsica es de vital importancia graficar, generalmente esto nos da una idea mas clara de
como estan relacionadas las variables, comencemos con las graficas bidimensionales, suponga, que
a traves de mediciones experimentales, se obtiene un conjunto de datos de tiempo contra distancia
>>
>>
>>
>>
>>
>>
al correr el script anterior automaticamente se abre una ventana de graficas y se muestra la siguiente grafica
A MATLAB
CAPITULO 1. INTRODUCCION
16
Podemos crear graficas simultaneas y agregar una etiqueta para identificar cada grafica, veamos
el script
>>
>>
>>
>>
>>
>>
>>
x=0:pi/120:2*pi;
y1=2*sin(x);
y2=3*sin(x);
y3=4*sin(x);
y4=5*sin(x);
legend(x vs y1,x vs y2,x vs y3,x vs y4);
title(Graficas simultaneas);
la grafica luce as
Puede cambiar la apariencia de sus graficos al seleccionar estilo y color, veamos el siguiente
script
1.2. DESARROLLO.
>>
>>
>>
>>
>>
>>
>>
>>
17
x=0:0.1:8;
y1=x.^2.*exp(-x);
y2=x.*exp(-x);
plot(x,y1,.,x,y2,--k)
xlabel(Eje x);
ylabel(Eje y);
legend(Grafica y1,Grafica y2);
title(y1=x^{2}e^{-x}
y2=xe^{-x})
al graficar se obtiene
En el ejemplo anterior se utilizo legend para agregar comentarios de cada grafica dentro del
plano cartesiano, para lograr los puntos se coloco . y para lograr las linea continua k la k es
para lograr el color negro, para los estilos consideremos la siguiente informacion.
Tipo de lnea Indicador Tipo de marca Indicador
Color
Indicador
solida
punto
.
azul
b
punteada
:
crculo
o
verde
g
raya-punto
-.
marca x
x
rojo
r
rayada
mas
+
cian
c
estrella
magenta
m
cuadrado
s
amarillo
y
diamante
d
negro
k
triangulo abajo
v
pentagrama
p
El comando subplot le permite subdividir la ventana de graficacion en una retcula de m filas y n
columnas, la funcion subplot(m,n,p) separa la figura en una matriz mxn, la variable p identifica
la parte de la ventana donde se dibujara la siguiente grafica, considere el siguiente ejemplo
>> x=0:0.1:9;
>> subplot(2,2,1);
>> y1=-x.^2;
18
A MATLAB
CAPITULO 1. INTRODUCCION
>> plot(x,y1);
>> title(y_{1}=-x^{2});
>> subplot(2,2,2);
>> y2=x-sin(x);
>> plot(x,y2);
>> title(y_{2}=x-sen(x));
>>subplot(2,2,3);
>> plot(x,x.*exp(-x));
>> title(y_{3}=xe^{-x});
>> subplot(2,2,4);
>> plot(x,x.*cos(x));
>> xlabel(Eje x);
>> ylabel(Eje y);
>> title(y_{4}=xcos(x));
Podemos crear histogramas de como se distribuyen los valores de una variable aleatoria, consideremos la distribucion normal, Octave tiene esta distribucion de probabilidad incluida en sus
libreras, el siguiente script genera la funcion de densidad, la distribucion de probabilidad acumulada y el histograma para una media y desviacion estandar dada
mu = 100; % media
sigma = 15; % la desviacion estandar
xmin = 70; % valor minimo
1.2. DESARROLLO.
xmax = 130; % valor maximo
n = 100;
k = 10000;
% crea un rango de valores
x = linspace( xmin , xmax , n );
p = normpdf( x , mu , sigma );
c = normcdf( x , mu , sigma );
figure( 1 ); clf; % crea una nueva figura y limpia contenidos
subplot( 2,2,1 );
plot( x , p , k );
ylabel( pdf );
title( Funcion de densidad de probabilidad );
subplot( 2,2,2 );
plot( x , c , k );
xlabel( x ); ylabel( cdf );
title( Funcion de densidad acumulada );
% la funcion normrnd es la distribucion normal
y = normrnd( mu , sigma , k , 1 );
subplot( 2,2,3 );
hist( y , 20 );
xlabel( x );
ylabel( frecuencia );
title( Histograma de numeros aleatorios );
al graficar se tiene
19
A MATLAB
CAPITULO 1. INTRODUCCION
20
Consideremos una placa rectangular (a = 5m, b = 4m) que se mantiene a las temperaturas mostradas. Grafiquemos la distribucion de temperaturas T (x, y) de la placa.
T (x, y) =
4T1
X
n=1
h
h
x i
y i
sen (2n 1)
senh (2n 1)
a
a
b
(2n 1)
senh (2n 1)
a
1.2. DESARROLLO.
21
Podemos graficar lneas de campo electrico, considere el caso mas simple, el de una carga puntual, el campo es
~ =
E
q
1 q~r
x
x + y y
=
3
40 r
40 (x2 + y 2 )3/2
el siguiente script nos grafica las lneas de campo, el comando clave es quiver:
[x,y]=meshgrid(-5:1:5);
E=1./(x.^2+y.^2);
% Se definen los vectores unitarios
[unitario_x]=cos(atan2(y,x));
[unitario_y]=sin(atan2(y,x));
% Componentes del campo electrico
Ex=E.*unitario_x;
Ey=E.*unitario_y;
quiver(x,y,Ex,Ey)
text(0,0,0)
xlabel(Eje x)
ylabel(Eje y)
title(Campo electrico de una carga puntual)
al graficar obtenemos
A MATLAB
CAPITULO 1. INTRODUCCION
22
Ahora grafiquemos las lneas del campo magnetico producidas por un alambre recto e infinito,
en este caso sabemos que la ecuacion de campo es
~ = 0 I
B
4r
% Este program gr
afica las lineas del campo magn
etico
% producidas por la corriente I que circula por un alambre
% recto muy largo
[x,y]=meshgrid(-20:2:20);
% componentes de campo magn
etico
Bx=-y./(x.^2+y.^2);
By=x./(x.^2+y.^2);
% se obtiene la gr
afica
quiver(x,y,Bx,By)
text(0,0,0)
xlabel(Eje x)
ylabel(Eje y)
title(Lineas de campo magn
etico de un alambre recto)
1.2. DESARROLLO.
23
La trayectoria de una partcula en el espacio se puede graficar facilmente con el comando plot3,
consideremos que una partcula se mueve en el espacio y su ecuacion de posicion esta en forma
parametrica
~r = (1,5cost) x + (1,5sent) y + 2t
z
El script es el siguiente:
t=0:0.1:25;
x=1.5*cos(t);
y=1.5*sin(t);
z=2*t;
plot3(x,y,z);
xlabel(Eje x);
ylabel(Eje y);
zlabel(Eje z);
el grafico respectivo es
A MATLAB
CAPITULO 1. INTRODUCCION
24
1.3.
Aplicaciones en el An
alisis Num
erico
Matlab dispone de muchas subrutinas numericas con las cuales podemos realizar muchos calculos de interes en ciencias e ingeniera, vamos a comenzar realizando ajuste de curvas, tambien
llamado analisis de regresion, esto es un proceso de ajustar a una funcion un conjunto de datos. La
funcion puede ser utilizada como un modelo matematico para los datos. Consideremos el siguiente
ejemplo donde ajustamos un conjunto de datos utilizando polinomios.
En el script anterior los datos se estan ajustando a un polinomio de grado tres, el grafico para ese
ajuste es el siguiente
25
La ecuacion que se obtiene es y = 0 0220x3 0 4005x2 + 2 6138x 1 4158, de la grafica observamos que el ajuste no es bueno hay muchos puntos que no quedan en la grafica, si aumentamos
gradualmente el orden del polinomio nos damos cuenta que con un polinomio de orden seis logramos un ajuste perfecto a continuacion la grafica
La ecuacion es:
y = 0 0055x6 + 0 1617x5 1 7906x4 + 9 3934x3 23 9489x2 + 28 4158x 11 0411
En muchas situaciones en donde la funcion que se ajusta a los datos no es un polinomio, tenemos
la posibilidad de intentar con otros modelos, veamos algunos
y = bxm
y = bemx
y = m ln (x) + b
1
y=
mx + b
Todas estas funciones pueden ser facilmente ajustadas a un conjunto de datos con la funcion polyfit. Esto se hace reescribiendo la funcion en una forma que pueda ser ajustada con un polinomio
A MATLAB
CAPITULO 1. INTRODUCCION
26
lineal (n = 1), lo cual es
y = mx + b
Las propiedades de los logaritmos, son de mucha ayuda para lograrlo, reescribamos las ecuaciones
ln (y) = m ln (x) + ln (b)
ln (y) = mx + ln (b)
1
= mx + b
y
Estas ecuaciones describen una relacion lineal entre ln (y) y ln (x) para las funciones de potencia,
entre ln (y) y x para la funcion exponencial, y entre 1/y y x para la funcion reciproca. Esto significa
que polyfit(x, y, 1) puede ser usado para determinar el mejor ajuste de las constantes m y b. La
metodologa en Matlab es la siguiente:
y = bxm
p=polyfit(log(x),log(y),1)
y = bemx
y = b10mx
p=polyfit(x,log(y),1)
p=polyfit(x,log10(y),1)
y = m ln (x) + b
y = mlog (x) + b
p=polyfit(log(x),y,1)
p=polyfit(log10(x),y,1)
y=
1
mx + b
p=polyfit(x,1./y,1)
Ejemplo
Dados los siguientes puntos. Determine w = f (t), t es la variable independiente, w es la dependiente.
t
w
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5
5
6.00 4.83 3.70 3.15 2.41 1.83 1.49 1.21 0.96 0.73 0.64
Solucion
Primero graficamos, estas son las instrucciones en Matlab
>>
>>
>>
>>
27
t=0.0:0.5:5.0;
w=[6.00 4.83 3.70 3.15 2.41 1.83 1.49 1.21 0.96 0.73 0.64];
plot(t,w);
plot(t,w,o);
Los datos parecen tener un comportamiento exponencial, usemos las siguientes instrucciones en
Matlab
>> t=0.0:0.5:5.0;
>> w=[6.00 4.83 3.70 3.15 2.41 1.83 1.49 1.21 0.96 0.73 0.64];
>> p=polyfit(t,log(w),1);
>> m=p(1)
m =
-0.4580
>> b=exp(p(2))
b =
5.9889
>> tm=0:0.1:5;
>> wm=b*exp(m*tm);
>> plot(t,w,o,tm,wm)
La grafica es la siguiente
A MATLAB
CAPITULO 1. INTRODUCCION
28
0
1
2
3
4
5
1.0 -0.6242 -1.4707 3.2406 -0.7366 -6.3717
Solucion
El siguiente script resuelve el problema:
x=0:1.0:5;
y=[1.0 -0.6242 -1.4707 3.2406 -0.7366 -6.3717];
xi=0:0.1:5;
yilin=interp1(x,y,xi,linear);
29
yispl=interp1(x,y,xi,spline);
yipch=interp1(x,y,xi,pchip);
yfun=1.5.^xi.*cos(2*xi);
subplot(1,3,1)
plot(x,y,o,xi,yfun,xi,yilin,--);
subplot(1,3,2)
plot(x,y,o,xi,yfun,xi,yispl,--);
subplot(1,3,3)
plot(x,y,o,xi,yfun,xi,yipch,--);
Las graficas son las siguientes:
Soluci
on
De acuerdo al principio de Arquimides, sabemos que la fuerza de empuje aplicada sobre el cascaron
act
ua directamente hacia arriba y es igual al peso del fluido desalojado. El peso de la esfera esta
A MATLAB
CAPITULO 1. INTRODUCCION
30
dado por
4
Wesf = al Val g = al re3 ri3 g
3
donde Val es el volumen de aluminio; re es el radio externo y ri es el radio interno de la esfera,
respectivamente; g es la aceleracion de la gravedad. El peso del agua desplazado es:
1
FB = agua Vdesp g = agua (2re h)2 (re + h) g
3
Igualando las dos ecuaciones y simplificando se llega a:
h3 3re h2 + 4re3 4
al
re3 ri3 = 0
agua
La u
nica solucion fsicamente posible es 0.9029 m.
En Matlab un cero de una funcion puede ser determinado con el comando fzero con la sintaxis
x=fzero(funcion,x0)
Donde x0 es un valor de x cerca de donde la funcion cruza el eje. Veamos un ejemplo
Ejemplo
Determine la solucion de la ecuacion xex = 0 2.
La ecuacion primero se escribe en la forma: f (x) = xex 0 2. Podemos graficar para tener una
idea de donde esta la raz, con la siguiente instruccion.
31
>> grid on
>> fplot(x*exp(-x)-0.2,[0 8])
La grafica muestra que la funcion corta el eje x ente 0 y 1 y tambien entre 2 y 3, considerando
la anterior, con Matlab podemos encontrar los ceros facilmente.
>> x1=fzero(x*exp(-x)-0.2,0.7)
x1 =
0.2592
Para encontrar el otro cero, vamos hacer una variante
>> f=@(x)x*exp(-x)-0.2
f =
@(x)x*exp(-x)-0.2
>> x2=fzero(f,2.8)
x2 =
2.5426
Matlab nos da la posibilidad de calcular maximos o mnimos locales de una funcion de la forma
y = f (x). Sabemos del calculo que los maximos o mnimos locales se determinan encontrando los
ceros de la derivada de la funcion. El valor de y se determina sustituyendo el valor de x en la
funcion. La sintaxis en Matlab es la siguiente:
A MATLAB
CAPITULO 1. INTRODUCCION
32
x=fminbnd(funcion,x1,x2)
fval =
-11.8043
El comando fminbnd tambien puede ser utilizado para encontrar el maximo de una funcion, esto
se logra multiplicando la funcion por -1 y encontrando el mnimo.
La integracion es una operacion com
un en ciencias e ingeniera. El calculo de areas, vol
umenes,
velocidad a partir de la aceleracion, el trabajo realizado por una fuerza variable, son algunos ejemplos donde surge la integracion.
Matlab dispone de los comando quad, quadl y trapz. Los comandos quad y quadl son usados
para integrar una funcion f (x), y trapz es usada cuando la funcion esta dada por puntos.
La forma del comando quad, el cual usa el metodo adaptativo de Simpson es:
q=quad(funcion,a,b)
donde q es el valor de la integral, a y b son los limites de integracion. La funcion puede ser ingresada
como una expresion cadena o una funcion anonima. El usuario debe estar seguro que la funcion
no tiene una asintota vertical entre a y b.
El comando quadl (la ultima letra es L min
uscula) funciona igual que el comando quad, la diferencia entre ambos es que el comando quadl utiliza el metodo adaptativo de Lobato, el cual es
mas preciso.
33
Ejemplo
Use integracion numerica para calcular la siguiente integral
Z
1 8
xcos (2 45x) ex
1 3
Soluci
on
>> q=quad(x.*cos(2.45*x).*exp(x.^1.3),1,1.8)
q =
-4.3217
>> q=quadl(x.*cos(2.45*x).*exp(x.^1.3),1,1.8)
q =
-4.3217
Ejemplo
Para estimar la cantidad de agua que fluye en un rio durante un a
no, una seccion transversal del
rio tiene forma rectangular. Al principio de cada mes, la altura h del agua y la rapidez v del agua
se miden. El primer da de medicion es tomado como 1, el cual es primero de enero.
Use los datos tabulados para calcula el flujo, integre el flujo para obtener un estimado de la cantidad de agua que fluye en el rio en un a
no.
Soluci
on
El flujo, Q (volumen por unidad de segundo), en cada punto es obtenido multiplicando la rapidez
del agua por el area de la seccion transversal del canal:
A MATLAB
CAPITULO 1. INTRODUCCION
34
Q = vwh
m3 /s
t2
Qdt
El siguiente script primero calcula Q y despues realiza la integral usando el comando trapz, el
programa tambien genera un grafico del flujo en funcion del tiempo.
w=8;
d=[1 32 60 91 121 152 182 213 244 274 305 335 366];
h=[2 2.1 2.3 2.4 3.0 2.9 2.7 2.6 2.5 2.3 2.2 2.1 2.0];
v=[2 2.2 2.5 2.7 5 4.7 4.1 3.8 3.7 2.8 2.5 2.3 2];
Q=v.*w.*h;
V=60*60*24*trapz(d,Q);
fprintf(La cantidad estimada de agua que fluye en el rio en un anio es %g metros cubicos.
plot(d,Q)
xlabel(Dia), ylabel(Flujo (m^{3}/s))
Al salvar y ejecutar el script anterior obtenemos:
La cantidad estimada de agua que fluye en el rio en un anio es 2.03095e+009 metros cubicos.
Las ecuaciones diferenciales juegan un rol crucial en ciencias e ingeniera ya que ellas son el fundamento de virtualmente todo fenomeno fsico que envuelve las aplicaciones en ingeniera. Solo unas
pocas ecuaciones diferenciales pueden resolverse analticamente. Los metodos numericos pueden
resolver de forma aproximada casi cualquier ecuacion diferencial. Matlab tiene libreras que se
pueden utilizar para resolver ecuaciones diferenciales.
Una ecuacion diferencial ordinaria (ode) es una ecuacion que contiene una variable independiente,
una variable dependiente y derivadas de la variable dependiente. Consideremos la ecuacion
dy
= f (x, y)
dx
35
donde x y y son la variable independiente y dependiente respectivamente, una solucion es una funcion que satisface la ecuacion diferencial. Matlab dispone de los siguientes comando para ecuaciones
diferenciales no rgidas: ode45, ode23 y ode113. Para ecuaciones rgidas tenemos los siguientes
comandos: ode15s, ode23s, ode23t y 23tb.
La sintaxis es la siguiente:
[t,y]=metodo(funcion-ode,tspan,y0)
Donde metodo es cualquiera de los comandos para resolver las ecuacion diferencial, funcion-ode,
es la ecuacion diferencial, tspan es un vector que especifica el intervalo de la solucion, y0 es la
condicion inicial y [t, y] es la salida.
Ejemplo
Resuelva la siguiente ecuacion diferencial:
t3 2y
dy
=
dt
t
1t3
con y = 4 2 en t = 1
Soluci
on
>> [t,y]=ode45(@ode1,[1:0.5:3],4.2)
t =
1.0000
1.5000
2.0000
2.5000
3.0000
y =
4.2000
2.4528
2.6000
3.7650
5.8444
donde ode1 es una funcion
function ode1=(t,y)
dydt=(t^3-2*y)/t;
end
La funcion puede ser anonima como se mostro en la solucion mostrada. Cuando la funcion es tipo
cadena, la sintaxis es
A MATLAB
CAPITULO 1. INTRODUCCION
36
>> [t,y]=ode45(ode1,[1:0.5:3],4.2)
t =
1.0000
1.5000
2.0000
2.5000
3.0000
y =
4.2000
2.4528
2.6000
3.7650
5.8444
Ejemplo
Un parachoques de seguridad se coloca al final de una pista de carreras, para detener carros fuera
de control. El parachoques es dise
nado tal que la fuerza que aplica el parachoques a el carro es una
funcion de la velocidad v y el desplazamiento x de la orilla frontal del parachoques de acuerdo a
la ecuacion:
F = Kv 3 (x + 1)3
donde K = 30(s kg)/m5 es una constante. Un carro con masa m de 1500 kg golpea el parachoques
a una rapidez de 90 km/h. Determine y grafique la velocidad del carro en funcion de su posicion
para 0 x 3m.
Soluci
on
La aceleracion del carro una vez que el carro golpea el parachoques se puede calcular a partir de
la segunda ley de Newton
ma = Kv 3 (1 + x)3
a=
Kv 3 (x + 1)3
m
dv
dx
lo cual da:
dv
Kv 2 (x + 1)3
=
dx
m
37
La ultima ecuacion es una ecuacion diferencial de primer orden que vamos a resolver en el intervalo
de 0 x 3 con la condicion inicial v=90m/h en x = 0 La solucion en Matlab la obtenemos con
el siguiente script
global k m
k=30;
m=1500;
v0=90;
v0mps=v0*1000/3600;
xspan=[0:0.2:3];
[x v]=ode45(@edf2,xspan,v0mps)
plot(x,v)
xlabel(x (m));
ylabel(velocidad (m/s))
La salida es la siguiente:
x =
0
0.2000
0.4000
0.6000
0.8000
1.0000
1.2000
1.4000
1.6000
1.8000
2.0000
2.2000
2.4000
2.6000
2.8000
3.0000
v=
25.0000
22.0420
18.4478
14.7561
11.4302
8.6954
6.5733
4.9793
3.7960
2.9220
2.2737
1.7886
1.4226
1.1435
0.9283
0.7807
A MATLAB
CAPITULO 1. INTRODUCCION
38
La grafica es la siguiente:
1.4.
Ejercicios de pr
actica
b2
1 2
b + 16a2 + ln
s=
2
8a
4a +
b2 + 16a2
b
q = 2Lk
T1 T2
r2
ln
r1
1.4. EJERCICIOS DE PRACTICA
39
V (al gl ) g
tanh
k
!
p
V (al gl ) gk
t
V al
A MATLAB
CAPITULO 1. INTRODUCCION
40
3u + 1 5v + w + 0 5x + 4y = 11 75
2u + v + 4w 3 5x + 2y = 19
6u 3v + 2w + 2 5x + y = 23
u + 4v 3w + 0 5x 2y = 1 5
3u + 2v w + 1 5x 3y = 3 5
6. Determine el mnimo y maximo de la funcion
x2
f (x) =
1 8
(x 2)4 + 2
7. Calcule las siguientes integrales utilizando Matlab.
Z
1
2x2 dx
1+x
Z
1
cos (2x) dx
x
ex dx
8. La rapidez de un auto de carreras durante los primeros siete segundos de una carrera estan
dados por:
t(s)
0
v(mi/h) 0
1 2 3 4
5
6
7
14 39 69 95 114 129 139
10. Un mapa aproximado de una region de Centroamerica se muestra. Las mediciones del ancho
estan marcadas a intervalos de 30 millas. Use integracion numerica para estimar el area de
la region. Compare el resultado con el area real la cual es de 44825 millas cuadradas.
1.4. EJERCICIOS DE PRACTICA
41
11. La longitud L del cable principal de un puente de suspension se puede calcular por
Z
L=2
0
4h2 x2
1+
a4
1/2
dx
12. Una armadura esta hecha por miembros unidos por sus extremos. Para la armadura que se
muestra, las fuerzas en los nueve miembros estan determinados por la solucion del siguiente
sistema de nueve ecuaciones.
cos 450 F1 + F4 = 0
F3 sen 450 F1 = 0
F2 + sen 450 F5 + F6 = 0
cos 48 810 F5 + F4 + F8 = 0
sen 48 810 F5 F7 = 600
sen 48 810 F9 = 1800
F8 cos 48 810 F9 = 0
F7 + sen 48 810 F9 = 4800
cos 48 810 F9 F6 = 0
Escriba el sistema anterior en forma matricial y use Matlab para determinar las fuerzas en
los miembros. Una fuerza positiva significa fuerza de tension, y una fuerza negativa significa
fuerzas de compresion.
A MATLAB
CAPITULO 1. INTRODUCCION
42
13. Una armadura esta hecha de miembros unidos por sus extremos. Para la armadura mostrada,
la fuerza en los 11 miembros se determinan resolviendo el siguiente sistema de 11 ecuaciones.
1
F1 + F2 = 0
2
3
F1 = 6
2
1
1
F1 + F3 + F4 = 0
2
2
3
3
F1
F3 = 0
2
2
1
1
F2 F3 + F5 + F6 = 0
2
2
3
3
F3 +
F5 = 5
2
2
1
1
F4 F5 + F7 + F8 = 0
2
2
3
3
F5
F7 = 0
2
2
1
1
F6 F7 + F9 + F10 = 0
2 2
3
3
F7 +
F9 = 8
2
2
1
1
F8 F9 + F11 = 0
2
2
Escriba estas ecuaciones en forma matricial y use Matlab para determinar las fuerzas en los
miembros.
14. Una viga simplemente apoyada es sometida a una carga distribuida constante w sobre la
mitad de la longitud y el momento M se muestra en la figura. La deflexion y, como una
funcion de x, esta dada por las ecuaciones
Para 0 x
L
2
y=
wx
Mx
16x3 24Lx2 + 9L2 +
x2 3Lx + 2L2
384EI
6EIL
1.4. EJERCICIOS DE PRACTICA
para
43
L
xL
2
y=
wL
Mx
8x3 24Lx2 + 17L2 x L3 +
x2 3Lx + 2L2
384EI
6EIL
x2 y
dy
= x+
dt
4
para 1 x 5 con y (1) = 1. Grafique la solucion.
16. Resuelva la siguiente ecuacion diferencial
dy
= xy 0 5ye0 1x
dt
para 0 x 4 con y (0) = 6 5. Grafique la solucion.
17. Resuelva la siguiente ecuacion diferencial
dy
= 80e1 6t cos (4t) 0 4y
dt
para 0 x 4 con y (0) = 0. Grafique la solucion.
18. Un tanque de agua tiene la forma de un elipsoide (a = 1 5m, b = 4 0m, c = 3m), tiene un
hoyo circular en el fondo, como se muestra. De acuerdo a la ley de Torriceli, la rapidez del
agua que sale del agujero es:
v=
p
2gh
A MATLAB
CAPITULO 1. INTRODUCCION
44
donde h es la altura del agua y g = 9 81m/s2 . La razon a la cual la altura del agua en el
tanque cambia esta dada por:
dy
=
dt
r2 2gy
"
(h c)2
ac 1 +
c2
donde r es el radio del agujero. Resuelva la ecuacion diferencial para y. La altura inicial
del agua r = 5 9m. Resuelva el problema cuando h = 0 1m. Construya una grafica de y en
funcion de t.
19. La distancia d del punto (x0 , y0 , z0 ) a el plano Ax + By + Cz + D = 0 esta dada por:
d=
A2 + B 2 + C 2
Cp = a + bT + cT 2 + dT 3
La siguiente tabla da los coeficientes de la ecuacion cubica para cuatro gases, Cp esta en
J/g.0 C
Gas
SO2
SO3
O2
N2
a
b
38.91 3,904 102
48.50 9,188 102
29.10 1,158 102
29.00 0,2199 102
c
3,105 105
8,540 105
0,6076 105
0,5723 105
d
8,606 109
32,40 109
1,311 109
2,871 109
1.4. EJERCICIOS DE PRACTICA
45
sen (x) =
X
(1)k x2k+1
k=0
(2k + 1)!
donde x esta en radianes. Escriba un programa que determine sen (x) usando la serie de
Taylor. El programa debe preguntarle el angulo en grados al usuario. Si ak es el k termino
en la serie entonces la suma Sk del k termino es
Sn = Sn1 + an
En cada paso estime el error E dado por
Sn Sn1
E=
Sn1
El programa se debe detener cuando E 0,000005, programa despliega el valor de sen (x).
Use su programa para calcular:
(a) sen(450 )
(b) sen(1380 )
22. Considere los siguientes datos del famoso experimento de la gota de aceite de Millikan, utilice
mnimos cuadrados para trabajar lo siguiente. En 1910 Millikan publico su famoso trabajo
experimental en la revista Science, Millikan concluyo que la carga que tiene un objeto es un
m
ultiplo de la carga fundamental, la carga del electron. En el articulo Millikan extrajo la
carga fundamental tomando un promedio de las mediciones de la carga que tenan todas las
gotas. En este caso usted va ajustar los datos de Millikan a una linea recta. Basado en el
ajuste, podemos estimar la carga fundamental y la precision de las mediciones de Millikan.
Millikan no utilizo el metodo de los mnimos cuadrados. Cada medicion experimental se le
asigna un entero, la medicion de la carga qk (en unidades de 1019 ) y el correspondiente
A MATLAB
CAPITULO 1. INTRODUCCION
46
entero se alistan en la tabla.
k
qk
k
qk
4
5
6
7
8
9
10
11
6.558 8.206 9.880 11.50 13.14 14.82 16.40 18.04
12
13
14
15
16
17
18
19.68 21.32 22.96 24.60 26.24 27.88 29.52
Del promedio de las cargas de las gotas de aceite, Millikan concluyo que la carga fundamental es e = 1,65 1019 C, el cual es muy cercano al aceptado actualmente, e =
1,60217733(49) 1019 C.
Podemos tomar la ecuacion lineal
qk = ke + 4qk
para aproximar los datos experimentales. Por simplicidad 4qk es tomado como una constante
que representa el error total asociado con las mediciones. El siguiente programa puede ser
utilizado para realizar el ajuste.
function [A,B]=linea(x,y)
% x es el vector de las abscisas
% y es el vector de ordenadas
% A es el coeficiente de x en Ax+B
% B es el termino independiente en Ax+B
xmedia=mean(x);
ymedia=mean(y);
sumax2=(x-xmedia)*(x-xmedia);
sumaxy=(y-ymedia)*(x-xmedia);
A=sumaxy/sumax2
B=ymedia-A*xmedia
23. Muestre que el periodo de un pendulo confinado a un plano vertical es
s
T =4
L
2g
Z
0
d
cos cos0
donde 0 < es el maximo angulo entre el pendulo y la vertical, L es la longitud del pendulo
y g es la aceleracion de la gravedad. Evalue esta integral numericamente con la funcion
trapecio para 0 = /128, /64, /32, /16, /8, r
/4, /2, y compare el resultado numerico
L
con la aproximacion de angulos peque
nos T ' 2
g
1.5.
Referencias
1. John Eaton, David Bateman, Soren Hauberg, GNU Octave: A high level interactive language
for numerical computations, Third edition, 2007.
1.5. REFERENCIAS
47
2. Amos Gilat, Matlab An introduction with applications, fourth edition, Wiley and Sons, 2011.
3. Tao Pang, An introduction to computational physics, second edition, Cambridge University
Press, 2006.
4. S.R. Otto and J.P. Denier, An introduction to programming and numerical methods in
Matlab, Springer, 2005.
5. David Baez Lopez, Matlab con aplicaciones a la ingeniera, fsica y finanzas, Alfaomega, 2006
6. Mark Newman, Computational physics, first edition, 2012.
48
A MATLAB
CAPITULO 1. INTRODUCCION
Captulo 2
Fundamentos Matem
aticos del M
etodo
de Elemento Finito
2.1.
Los problemas de ecuaciones diferenciales ordinarias (EDO) se clasifican en problemas con condiciones iniciales y problemas con condiciones en la frontera. Muchos problemas con condiciones
iniciales dependen del tiempo; en ellos, las condiciones para la solucion estan dadas en el tiempo
inicial. Los metodos numericos para los problemas con condiciones iniciales difieren en forma significativa de los que se utilizan para los problemas con condiciones en la frontera. Un ejemplo de
esto es:
dy
d2 y
+ p (t)
+ q (t) y = R (t)
2
dt
dt
(2.1)
y (a) =
0
y (a) =
2.1.1.
(2.2)
y (a) = ya
y (b) = yb
La diferencia entre los problemas en las ecuaciones (2.1) y (2.2) es que en (2.2) las dos condiciones
se imponen en dos puntos diferentes a y b con digamos a < b. En (2.2) queremos encontrar una
solucion de la ecuacion diferencial en el intervalo (a, b) que satisfaga las condiciones y (a) = ya y
y (a) = ya .
Un caso de interes de EDO con valores en la frontera son los problemas de valores propios, si la
ecuacion diferencial se escribe en la forma
d2 y
dy
+
p
(x)
+ q (x) y = R (x)
dx2
dx
49
(2.3)
y + y = 0;
y (0) = 0,
y (L) = 0
y + 2 y = 0
con solucion general
y (x) = Acosx + Bsenx
La condicion y (0) = 0 de inmediato da A = 0, as que
y (x) = Bsenx
y (x) = B cosx
0
y (L) = B cosL = 0
Esto sera cierto con B 6= 0 con tal que L sea un m
ultiplo entero positivo e impar de /2:
L =
,
2
3
,
2
...,
(2n 1)
2
es decir, si
2
=
,
4L2
9 2
,
4L2
...
(2n 1)2 2
4L2
De este modo el n-esimo valor propio n y su funcion propia asociada del problema estan dadas
por
n =
(2n 1)2 2
4L2
yn (x) = sen
(2n 1) x
2L
para n = 1, 2, 3, ...
Ejemplo analtico 2
Determine los valores propios y las funciones propias asociadas para el problema con condiciones
en los extremos
00
y + y = 0,
y (0) = 0,
y (L) = 0
51
debemos considerar todos los posibles valores reales. Si = 0, entonces la ecuacion es simplemente
00
y = y su solucion general es
y (x) = Ax + B
Entonces las condiciones en los extremos y (0) = y (L) = 0 de inmediato implican que A = B = 0,
de modo que la u
nica solucion en este caso es la solucion trivial y (x) = 0. Por tanto = 0 no es
un valor propio para nuestro problema.
Si = 2 con > 0 para ser especficos. Entonces la ecuacion diferencial toma la forma
00
y 2 y = 0
y su solucion general es
y (x) = c1 ex + c2 ex = A cosh (x) + B senh (x)
donde A = c1 + c2 y B = c1 c2 . Recuerde que cosh x = (ex + ex ) /2 y que senh x =
(ex + ex ) /2.
Entonces la condicion y (0) = 0 da
y + 2 y = 0
con solucion general
L = ,
2 3,
... n
2
,
L2
4 2
,
L2
9 2
,
L2
...
n2 2
L2
As hemos descubierto que el problema tiene una sucesion infinita de valores propios positivos.
Ejemplo analtico 3
La figura 1, muestra una barra uniforme de longitud L, con goznes en cada extremo, que se ha combado a consecuencia de una fuerza axial de compresion P aplicada en un extremo. Supondremos
que este curvado es tan ligero que la curva de deflexion y = y (x) de la barra puede considerarse
definida en el intervalo 0 x L.
EI y + P y = 0,
y (0) = y (L) = 0
para modelar el comportamiento real de la barra, E denota el modulo de Young del material de
la viga e I denota el momento de inercia de cada seccion transversal de la viga con respecto a la
linea horizontal que pasa por su centroide.
Si escribimos
P
EI
y + y = 0;
y (0) = y (L) = 0
que ya estudiamos en el ejemplo 2. Encontramos que sus valores propios n estan dados por
n2 2
,
L2
n = 1, 2, 3, ...
Pn = n EI =
n2 2 EI
,
L2
n = 1, 2, 3, ...
(2.4)
53
son las fuerzas crticas de combamiento de la barra. Solo cuando la fuerza de compresion P es una
de estas fuerzas crticas, la barra de combara dejando su forma recta. La fuerza de compresion
mas peque
na P1 se denomina fuerza combadora de Euler para la varilla; es la cota superior para
aquellas fuerzas de compresion a las que la barra puede someterse sin que se combe.
2.1.2.
Para ilustrar como surgen fsicamente este tipo de ecuaciones diferenciales, consideremos el
movimiento de una masa sujeta a un resorte, sirve como un ejemplo sencillo de las vibraciones que
ocurren en sistemas mecanicos de mayor complejidad. Consideremos un cuerpo de masa m sujeto a
un extremo de un resorte com
un que resiste compresion y estiramiento; el otro extremo del resorte
esta sujeto a una pared fija, como se muestra. Supongase que el cuerpo reposa sobre un plano horizontal sin friccion, de modo que solo puede moverse hacia adelante y hacia atras conforme el resorte
se comprima o se alargue. Denote con x la distancia del cuerpo a su punto de equilibrio, su posicion
cuando el resorte no esta estirado. Tomamos x > 0 cuando el resorte esta estirado y por tanto
x < 0 cuando esta comprimido. De acuerdo con la ley de Hooke, la fuerza de restauracion que el resorte ejerce sobre la masa es proporcional a la distancia x de la masa m de su posicion de equilibrio
F = kx
(2.5)
La figura muestra tambien que la masa esta sujeta a un amortiguador, un dispositivo para
absorber el impacto, que proporciona una fuerza dirigida en sentido opuesto a la direccion instantanea de movimiento de la masa m. Suponemos que el amortiguador esta dise
nado de modo
que su fuerza es proporcional a la velocidad de la masa; esto es:
Fa = cv = c
dx
dt
(2.6)
La constante positiva c es la constante de amortiguamiento del amortiguador, con mayor generalidad podemos, considerar la ecuacion (6) como fuerzas de friccion especificas en nuestro sistema
(incluyendo la resistencia del aire al movimiento de m).
Si ademas de las fuerzas F , Fa , la masa esta sujeta a una fuerza externa Fe , entonces la segunda
ley de Newton se escribe:
F + Fa + Fe = ma
kx c
d2 x
dx
+ Fe = m 2
dt
dt
mx + cx + kx = F (t)
(2.7)
Ejemplo num
erico 1
Ahora vamos a resolver numericamente el problema del oscilador forzado amortiguado con las
rutinas numericas de Matlab, vamos a utilizar, la rutina adaptativa de Runge-Kutta de cuarto
orden ode45. Consideremos que la masa es de 0.5kg, constante de amortiguamiento de 0.20kg/s,
constante de fuerza de 120N/m. La ecuacion diferencial queda as:
00
55
Ejemplo num
erico 2
A mediados de la decada de 1950, la prediccion numerica del clima, es decir la prediccion mediante
la integracion numerica de aproximaciones a las ecuaciones atmosfericas que pudieran controlarse,
estaba muy en boga. Uno de los cientficos interesado en esta metodologa fue Lorentz, el obtuvo
el siguiente sistema de ecuaciones diferenciales
dx1
= x1 (t) + x2 (t) x3 (t)
dt
dx2
= x2 (t) + x3 (t)
dt
dx3
= x1 (t) x2 (t) + x2 (t) x3 (t)
dt
tomemos las constantes con los siguientes valores: = 8/3, = 10, = 28, las condiciones
iniciales son x1 (0) = x2 (0) = 0; x3 (0) = . El script en Matlab es el siguiente:
f=@(t,x)[-(8/3)*x(1)+x(2)*x(3);-10*x(2)+10*x(3);...
-x(1)*x(2)+28*x(2)-x(3)];
t_final=100; x0=[0;0;1e-10];
[t,x]=ode45(f,[0,t_final],x0);
plot(t,x)
plot3(x(:,1),x(:,2),x(:,3));
grid
axis([10 42 -20 20 -20 25]);
La salida en Matlab es la siguiente:
Ejemplo num
erico 3
La velocidad de una partcula que se mueve sobre el eje x esta dada por la siguiente funcion del
v=
dx
= 0 5e0 3t sen (8t)
dt
function dx = g1(t,x)
dx=0.5*exp(-0.5*t)*sin(8*t);
end
Desde la ventana de comandos escribimos lo siguiente
>> tiempo=[0,5];
>> [t,x]=ode45(g1,tiempo,0.1);
>> plot(t,x)
con lo cual obtenemos el siguiente grafico de posicion versus tiempo.
2.2.
2.2.1.
T
ecnicas de aproximaci
on
M
etodo de residuales ponderados
u (1) = 0
(2.8)
2.2. TECNICAS
DE APROXIMACION
57
El primer paso en el metodo de residuales ponderados es asumir una funcion de ensayo la cual
tiene coeficientes desconocidos que tienen que ser encontrados posteriormente. Por ejemplo una
funcion de ensayo es u = ax (1 x) como solucion de la ecuacion (8). Aqu la tilde indica una
solucion aproximada la cual es usualmente diferente de la solucion exacta. La funcion de ensayo
se selecciono de tal manera que satisfaga las condiciones de frontera.
En general, la precision de una solucion aproximada va depender de la seleccion de la funcion de
ensayo. Una vez que tenemos la funcion de ensayo, el residual es calculado por sustitucion directa
en la ecuacion diferencial. Esto es, el residual R se convierte en
d2 u
u + x = 2a ax (1 x) + x
(2.9)
dx2
Ya que u es diferente de la solucion exacta, el residual no se anula para todos los valores de x
dentro del dominio. El siguiente paso es determinar la constante arbitraria a tal que la funcion
escogida aproxime lo mejor posible a la solucion exacta. Para lograr lo anterior se selecciona una
funcion peso y esta se pondera con el residual sobre todo el dominio y se iguala a cero. Esto es
R=
w
wRdx =
I=
d2 u
u + x
dx2
w [2a ax (1 x) + x] dx = 0
(2.10)
(2.11)
3. M
etodo de Galerkin. En el metodo de Galerkin, la funcion de prueba se obtiene de la
funcion de ensayo. Esto es
w=
d
u
da
(2.13)
(2.14)
w2 = (x x2 )
(2.15)
w2 = 2 6x x2 + x3
(2.16)
Metodo de Galerkin:
w2 = x2 (1 x)
w1 = x (1 x) ,
(2.17)
Para el metodo de colocacion, x1 y x2 deben ser seleccionados tal que el residual ponderado, ecuacion (10), produzca dos ecuaciones independientes para determinar a1 y a2 de forma u
nica. El
metodo de mnimos cuadrados produce una matriz simetrica. El metodo de Galerkin no produce
una matriz simetrica cuando se aplica a la ecuacion (8), pero este metodo puede producir una
matriz simetrica bajo ciertas condiciones.
Una ecuacion diferencial se puede escribir como
L (u) = f
(2.18)
n
X
ai gi
(2.19)
i=1
donde gi es una funcion conocida en terminos de las coordenadas espaciales del sistema y se asume
que satisfacen las condiciones de frontera. Sustituyendo la ecuacion (19) en la (18) y agrupando
los terminos del mismo coeficiente ai , el residual queda
R=
n
X
i=1
ai hi + p
(2.20)
2.2. TECNICAS
DE APROXIMACION
59
Aqu, hi y p son funciones en terminos de las coordenadas espaciales. Las funciones de prueba para
el metodo de mnimos cuadrados son
wj = hj ,
j = 1, 2, ..., n
(2.21)
El residual ponderado sobre todo el dominio nos lleva a una ecuacion matricial
Z
I=
wj Rd =
n
X
Ai,j ai bj = 0,
j = 1, 2, ..., n
(2.22)
i=1
donde
Z
Ai,j =
hi hj d
(2.23)
2.2.2.
Formulaci
on D
ebil
w
d2 u
u + x dx
dx2
1
d
u
u
dw d
w
u + xw dx + w
=0
dx dx
dx 0
(2.24)
Como se puede ver en la ecuacion (24), solo se necesita diferenciacion de primer orden en vez de
una segunda derivada. Como resultado, los requerimientos para la funcion de ensayo se reduce
para la ecuacion (24). Esta formulacion se le llama formulacion debil.
La formulacion debil tienen una ventaja con respecto al metodo de Galerkin donde las funciones
de prueba se obtienen directamente de la funcion de ensayo seleccionada. Si la ecuacion diferencial
es descrita por un operador auto-adjunto, el metodo de Galerkin y la formulacion debil resultan en
una matriz simetrica en terminos de los coeficientes desconocidos de la funcion de ensayo. Usando
la funcion de ensayo u = ax (1 x) para la formulacion debil se obtiene el mismo resultado que
ya vimos en la formulacion fuerte. Sin embargo cuando la funcion de ensayo es seccionada, la
formulacion debil tiene ventaja sobre la formulacion fuerte.
2.2.3.
Funci
on de Ensayo Continua por Partes.
3x
0x
1
2
1 = 2 3x
x
3
3
0
x1
3
2 =
3x 1
3 3x
1
3
1
2
x
3
3
2
x1
3
0x
Para la presente funcion de ensayo el dominio es dividido en tres subdominios y dos funciones
seccionadas lineales. Por supuesto se pueden usar mas funciones seccionadas y mas subdominios
para mejorar la precision de la solucion aproximada. La funcion de ensayo puede escribirse como
a1 (3x)
0x
1
2
u = a1 (2 3x) + a2 (3x 1)
x
3
3
a2 (3 3x)
x1
3
2.2. TECNICAS
DE APROXIMACION
61
3x,
0x
2
1
w1 = 2 3x,
x
3
3
0,
x1
3
y
w2 =
1
3
2
1
x
3
3
2
x1
3
0,
0x
3x 1,
3 3x,
dw1 d
u
I1 =
w1 u + xw1 dx = 0
dx dx
0
Z 1
u
dw2 d
w2 u + xw2 dx = 0
I2 =
dx dx
0
Z
(2.25)
(2.26)
1
d
u
donde w
se omite porque w1 (0) = w1 (1) = w2 (0) = w2 (1) = 0. Sustituyendo ambas fundx 0
ciones de ensayo en (25) y (26) respectivamente da
Z
I1 =
1
3
2
3
Z
[3 (3a1 ) 3x (3a1 x) + x (3x)] dx +
1
3
0
1
Z
+ x (2 3x)] dx +
0dx
2
3
Z
I2 =
2
3
Z
0dx +
1
3
0
1
+
2
3
2.2.4.
Formulaci
on de Galerkin: Elementos Finitos.
Como se vio en la seccion previa, usar funciones seccionadas continuas como funcion de ensayo
tiene sus ventajas. Si incrementamos el n
umero de subdominios para la funcion seccionada, podemos representar funciones complejas usando sumas de funciones lineales simples. Despues a estos
subdominios les vamos a llamar elementos finitos. De ahora en adelante vamos a quitar la tilde
para denotar la funcion de ensayo, al menos que haya confusion.
En esta seccion se va mostrar como calcular los residuales ponderados de una forma sistematica
usando elementos finitos y funciones seccionadas continuas. En la seccion previa, la funcion seccionada estaba definida en terminos de los coeficientes a1 y a2 . Para una formulacion sistematica,
la funcion seccionada continua se define en terminos de variables nodales.
Consideremos el dominio o elemento finito mostrado en la figura. El elemento tiene dos nodos,
uno en cada extremo. En cada nodo, los correspondientes valores de coordenadas (xi o xi+1 ) y las
variables nodales (ui o ui+1 ) estan asignados. Asumamos que la funcion de ensayo es
u = c1 x + c2
(2.27)
(2.28)
(2.29)
(2.30)
ui xi+1 ui+1 xi
xi+1 xi
(2.31)
c1 =
c1 =
(2.32)
donde
H1 (x) =
xi+1 x
hi
(2.33)
x xi
hi
(2.34)
H2 (x) =
hi = xi+1 xi
(2.35)
2.2. TECNICAS
DE APROXIMACION
63
La ecuacion (2.32) da una expresion para la variable u en terminos de las variables nodales, y
las ecuaciones (2.33) y (2.34) se les llama funciones lineales de forma. Estas funciones tienen las
siguientes propiedades.
1. Las funciones de forma asociadas con el nodo i tiene valor unitario en el nodo i y desaparece
en los otros nodos
H1 (xi ) = 1,
H1 (xi+1 ) = 0,
H2 (xi ) = 0,
H2 (xi+1 ) = 1
(2.36)
Hi (x) = 1
(2.37)
i=1
Estas son propiedades importantes para las funciones de forma. La primera propiedad ecuacion (2.36), declara que la variable u debe ser igual a la correspondiente variable nodal en
cada nodo ui (xi ) = ui y u (xi+1 ) = ui+1 . La segunda propiedad, ecuacion (2.37) nos dice que
la variable u puede representar una solucion uniforme dentro el elemento.
Ejemplo Vamos a resolver la ecuacion diferencial (2.8), con el metodo descrito arriba.
El residual ponderado puede escribirse como
I=
n Z
X
i=1
xi+1
xi
h 0 i1
dw du
wu + xw dx + u w = 0
dx dx
0
(2.38)
para n elementos. El dominio del problema es discretizado en tres elementos de igual tama
no
la figura muestra los tres elementos.
wu + xw dx
dx dx
xi
(2.39)
La funcion de ensayo es
u = H1 (x) ui + H2 (x) ui+1
(2.40)
y las funciones de prueba para el metodo de Galerkin son w1 = H1 (x) y w2 = H2 (x) Poniendo esto en la ecuacion (38) da
Z xi+1
Z xi +1 0
H1 0
H1
ui
H1
0
H1 H2
dx
+
x
dx
H1 H2 +
0
H2
ui+1
H2
H2
xi
xi
(2.41)
dH
(x)
0
i
donde Hi esta dado por la ecuacion (2.33) y (2.34).
donde Hi denota
dx
1
hi
1
hi
hi
+
+
(xi+1 + 2xi )
hi
3
h
6
u
i
6
i
+
1
hi
1
hi ui+1
hi (2x + x )
+
+
i+1
i
hi
6
hi
3
6
(2.42)
(2.43)
Elemento 2:
3 111 2 9444
2 9444 3 111
3 111 2 9444
2 9444 3 111
u2
u3
u3
u4
+
0 0741
0 0926
0 1296
0 1481
(2.44)
Elemento 3:
+
(2.45)
Como muestra la ecuacion (2.38), necesitamos sumar de la ecuacion (2.43) a la (2.45). Cada
elemento tiene diferentes nodos asociados con el. Como resultado expandimos cada ecuacion
tal que cada ecuacion tiene una matriz y un vector de tama
no m el cual es el n
umero de
grados de libertad en el sistema. Para el presente problema, m = 4. El n
umero de grados de
libertad es el mismo n
umero de nodos porque cada nodo tiene un grado de libertad para el
presente ejemplo.
Escribamos la ecuacion (2.43) expandiendo la
3 111 2 9444 0
2 9444 3 111 0
0
0
0
0
0
0
matriz y el vector
0
u1
0 0185
0
u
0
0370
2
+
0
u3
0
0
u4
0
(2.46)
0
0
0
0
u
0
0
0
0
0
u4
0
0 0
0
0
u
0
0 0
u2
0
0
0
+
0 0 3 1111 2 9444 u3 0 1296
0 0 2 9444 3 1111
u4
0 1481
Sumando de la ecuacion (46) a la (48) resulta en
3 1111 2 9444
0
0
0
2 9444 6 2222 2 9444
0
0
2 9444 3 1111
u1
u2
u3
u4
0
0 0185 u (0)
0 1111
+
0 2222
0 1481 + u (1)
(2.47)
(2.48)
=0
(2.49)
2.2. TECNICAS
DE APROXIMACION
65
Las condiciones de frontera de Neuman se agregaron en el vector del lado derecho de la ecuacion
(38). Para el presente problema, las condiciones de frontera de Dirichlet son en ambos extremos
0
0
u1 = 0 y u4 = 0. Las condiciones de frontera de Neuman u (0) y u (1) no estan dadas en este
ejemplo. La ecuacion (2.49) puede resolverse con las condiciones de frontera, u1 = 0 y u4 = 0, para
encontrar el resto de las variables nodales. Agregando las condiciones de frontera conocidas a la
ecuacion (2.49) se tiene
1
0
0
0
u
0
+
(2.50)
0
2 9444 6 2222 2 9444
u3
0 2222
0
0
0
1
u4
0
Resolviendo la ecuacion (2.50) se obtiene, u1 = 0, u2 = 0 0448, u3 = 0 0569 y u4 = 0. Estas solu0
0
ciones nodales pueden sustituirse en la ecuacion (2.49) para encontrar u (0) y u (1). Una vez que
las variables nodales son determinadas, la solucion dentro de cada elemento puede ser obtenida de
las correspondientes variables nodales y funciones de forma. Por ejemplo, la solucion dentro del
primer elemento:
0x
1
3
es
u = H1 (x) u1 + H2 (x) u2 = 0 1344x
2.2.5.
M
etodo Variacional
El metodo variacional es muy utilizado tambien para derivar la ecuacion matricial de elemento
finito. Necesitamos derivar el funcional de la ecuacion (2.8), para nuestro problema modelo.
d2 u
u = x, 0 < x < 1
dt2
u (0) = 0,
u (1) = 0
du
dx
Z
udx =
udx
(2.53)
(2.54)
2.2.6.
El m
etodo de Rayleigh-Ritz
(2.55)
donde a es un coeficiente desconocido. Esta funcion satisface las condiciones de frontera esenciales.
Substituyendo (2.55) en el funcional, ecuacion (2.54), se llega a
Z
Z 1
1 2 1
2
2
2
(1 2x) + x (1 x) dx a
x2 (1 x) dx
(2.56)
J= a
2
0
0
dJ
Minimizando el funcional respecto a el coeficiente desconocido a,
= 0, se obtiene a = 0 2272.
da
De aqu que la solucion aproximada es u = 0 2272x (1 x) la cual es la misma solucion obtenida
con el metodo de Galerkin. Se puede mejorar la solucion agregando mas terminos. Por ejemplo
u = a1 x (1 x) + a2 x2 (1 x)
(2.57)
2.2. TECNICAS
DE APROXIMACION
67
J
=0
a2
(2.58)
2.2.7.
M
etodo de Elementos Finitos con Rayleigh-Ritz
n Z
X
i=1
xi +1
xi
)
(
2
1 2
1 du
+ u xu dx
2 dx
2
(2.59)
(2.60)
[H] = [H1 H2 ]
(2.61)
i
u = {ui ui+1 }T
(2.62)
donde
y H1 y H2 estan dadas por las ecuaciones (2.33) y (2.34). Substituyendo la ecuacion (2.60) en el
funcional llegamos a
xi +1
xi
(
)
T
Z xi +1 (
2
1 du
1
1 i T dH
dH i 1 i T
+ xu dx =
u
u +
u
[H]T [H] ui
2 dx
2
2
dx
dx
2
xi
o
i T
u
[H]T x dx
donde
dH
dH1 dH2
=
dx
dx
dx
(2.63)
ui
ui+1
hi
(xi+1 + 2xi )
6
{ui ui+1 }
hi
(2xi+1 + xi )
6
(2.64)
La matriz de 2x2 en la ecuacion (2.64) viene del segundo y tercer termino del lado derecho de la
integral, mientras que la expresion vectorial viene del ultimo termino. Sumando sobre e numero
total de elementos y substituyendo los valores apropiados el funcional da
3 1111 2 9444
0
0
u1
1
2 9444 6 2222 2 9444
0
u2
{u1 u2 u3 u4 }
u3
0
2
9444
6
2222
2
9444
2
0
0
2 9444 3 1111
u4
u1 u2 u3
0 0185
0 1111
u4
0 2222
0 1581
Necesitamos minimizar el funcional respecto vector nodal desconocido {u} = {u1 u2 u3 u4 }T . IndJ
= 0 resulta en
vocando
dx
3 1111 2 9444
0
0
0 0185
u1
=
(2.65)
0
2 9444 6 2222 2 9444
u3
0 2222
u4
0
0
2 9444 3 1111
0 1481
aplicando las condiciones de frontera u1 = 0 y u4 = 0 y resolviendo se llega a u2 = 0 0448,
u3 = 0 0569
2.3.
Ejercicios
Los valores propios de cada uno de los problemas 1 al 5 son no negativos. Determine primero
si = 0 es un valor propio; despues, encuentre los valores propios positivos y las funciones propias
asociadas.
00
00
1. y + y = 0; y (0) = 0, y (1) = 0
2. y + y = 0; y (0) = 0, y () = 0
00
3. y + y = 0; y () = 0, y () = 0
00
4. y + y = 0; y () = 0, y () = 0
00
5. y + y = 0; y (2) = 0, y (2) = 0
2.3. EJERCICIOS
69
6. (a) Una viga voladiza esta fija en x = 0 y libre en x = L (el otro extremo). Demuestre que
su forma esta dada por
y (x) =
w
x4 4Lx3 + 6L2 x2
24EI
(b) Demuestre que y (x) = 0 solamente en x = 0 y que de esto se sigue que la maxima
deflexion de la viga voladiza es ymin = y (L) = wL4 /8EI
7. Suponga que una pelota es lanzada directamente hacia arriba a partir del suelo con velocidad inicial v0 = 160pies/seg. Suponga que el efecto de la resistencia del aire acelera a la pelota
dv
= 32 0 001v|v|
dt
Encuentre las aproximaciones de Runge-Kutta a la velocidad y la altura de la pelota en
funcion del tiempo. Cual es la altura maxima que alcanza la pelota, y en que tiempo alcanza
esa altura? Grafique y t y v t
8. En 1940, el puente Tacoma Narrows, se derrumbo con un fuerte viento. El siguiente sistema
de ecuaciones diferenciales es un modelo matematico que trata de explicar como las oscilaciones de torsion pueden ser amplificadas y causar tal calamidad:
00
0
y = y d [k/ (ma)] ea(yLsen) 1 + ea(y+Lsen) 1 + 0 2W sent
00
0
= y d + (3cos/L) [k/ (ma)] ea(yLsen) ea(y+Lsen)
El u
ltimo termino en la ecuacion y es el termino que obliga a que el viento W, agregue una
oscilacion estrictamente vertical del puente. En este caso, la carretera tiene un ancho 2L
colgando entre dos cables suspendidos, y es la distancia actual del centro de la carretera que
cuelga por debajo de su punto de equilibrio y es el angulo que hace la carretera con la horizontal. Utilizando Matlab genere trayectorias numericas para la configuracion de diferentes
parametros. Ilustre los diferentes tipos de fenomenos que hay en este modelo.
9. Un pendulo simple, mide 2 pies de largo y g = 32 17pies/s2 , resuelva numericamente con las
siguientes condiciones iniciales
(a)
g
d2
+ sen = 0,
2
dt
L
(0) =
,
6
(0) = 0
(b)
d2
g
+ = 0,
2
dt
L
(0) =
,
6
(0) = 0
x2
d2 u
2u = 1, 1 < x < 2
dx2
u (1) = 0, u (2) = 0
Use como funcion de ensayo u = a (x 1) (x 2) donde a es una constante que debe calcularse.
15. Resuelva el problema 14 usando el metodo de mnimos cuadrados.
16. Resuelva el problema 14 usando el metodo de Galerkin.
17. Determine una solucion aproximada a la ecuacion diferencial
x2
d2 u
du
2x + 2u = 0,
2
dx
dx
u (1) = 0,
1<x<4
u (4) = 12
2.3. EJERCICIOS
71
d2 u
du
+x
= 2u 1;
2
dx
dx
u (0) = 2;
0x1
u (1) =
du (1)
dx
u + 2 u 2 2 sen (x) = 0, 0 x 1
u (0) = u (1) = 0
La solucion exacta es u (x) = sen (x)
Empezando con un polinomio cuadratico obtenga una solucion aproximada. Compare su
solucion con la solucion exacta.
2xu + 3u = 4; 1 x 2
0
u (1) = 1; u (2) = 2
(a) Obtenga la formulacion debil para este problema, use el metodo de Galerkin.
(b) Empezando con la solucion de la forma u (x) = a0 +a1 x, obtenga una solucion aproximada.
27. Considere el siguiente problema
00
u +u+x=0
u (0) = u (1) = 0
Construya la formulacion debil y obtenga una solucion aproximada utilizando polinomios de
orden dos.
28. Considere el siguiente problema de condiciones de frontera:
00
u + xu u = 1; 0 < x < 1
0
0
u (0) u (0) = 1; u (1) = 1
Construya la formulacion debil para este problema, usando un polinomio de orden dos, encuentre una solucion aproximada.
29. Un problema de ingeniera se formula con la siguiente ecuacion:
0
00
2.4.
Referencias
1. Ecuaciones diferenciales elementales. C. H. Edwards y David E. Penney. Prentice Hall, Tercera edicion.
2. Metodos numericos y computacion. Ward Cheney y David Kincaid. Cengage Learning. Sexta
edicion.
2.4. REFERENCIAS
73
3. Analisis numerico. Richard Burden y Douglas Faires. Cengage Learning, novena edicion.
4. The finite element method. Young W. Kwon, Hyochoong Bang. CRC, second edition.
5. Fundamental Finite Element Analysis and Applications. M. Asghar Bhatti, wiley and sons,
2005.