Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Libro Metodos Numericos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 73

Captulo 1

Introducci
on a Matlab
1.1.

Objetivos

1. Manipular matrices en Matlab.

2. Crear y usar sus propias funciones en Matlab.

3. Crear entradas y salidas controladas por el usuario.

4. Desarrollar estructuras de seleccion en Matlab.

5. Desarrollar estructuras de repeticion en Matlab.

6. Graficar con Matlab.

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

La ventana de comando es la ventana principal y se abre cuando Matlab inicia. Cuando un


comando se escribe en la ventana de comandos y se le da Enter, el comando se ejecuta. Si colocamos
punto coma (;) el resultado no se despliega. Si queremos escribir un comentario utilizamos el smbolo
de porcentaje al inicio de la linea y esta no es tomada en cuenta en los calculos.

1.2.1.

Manipulando matrices en Matlab.

Una de las principales fortalezas de Matlab, es la manipulacion de matrices y arreglos. Podemos


definir una matriz escribiendo una serie de n
umeros separados por un espacio o por comas, de esta
forma ingresamos los elementos de la matriz. Para pasar a un nuevo renglon usamos punto y coma,
consideremos los siguientes ejemplos.
>>
>>
>>
>>

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]

Al correr el script anterior se obtiene

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

Observe que los vectores renglones t, y, v se transpusieron usando t, y y v y de esa manera se


logra la tabla.
Octave tiene algunas matrices especiales que pueden ser de utilidad al programar, comencemos
con la matriz de ceros

>> 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.

Funciones creadas por el usuario.

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

(b) Para evaluacion de la funcion movimiento en un arreglo de t desde 0 hasta 3 en pasos de


uno, se escribe

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.

La funcion log(x), calcula el logaritmo natural ln(x), ejemplo.

>> 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.

Entradas y salidas controladas por el usuario.

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)

La corrida del script anterior da

>> 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

La estructura de comparacion mas simple es if, la sintaxis es:

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

Al ingresar los valores de nuestra ecuacion se tiene la siguiente salida.


Ingrese a, el coeficiente del termino cuadratico: -4.9
Ingrese b, el coeficiente del termino lineal: 10
Ingrese c, el termino independiente: 60
El tiempo es 4.665 segundos
Cuando tenemos decisiones m
ultiples, tambien podemos usar elseif, veamos la estructura
if (expresion)
comandos
elseif (expresion)
comandos
elseif (expresion)
comandos
else
comandos
end
Ejemplo 5 En fsica suelen aparecer funciones seccionadas, suponga que tiene la siguiente funcion
y quiere evaluarla utilizando Octave

|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

Ejemplo 6: tenemos dos n


umeros x y y, podemos seleccionar entre varias operaciones, las opcioy
nes son las siguientes, primera opcion multiplicar los n
umeros, segunda opcion dividir , opcion
x
p
tres calcular r = x2 + y 2 . El script para realizar lo anterior es

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

Un ciclo es la ejecucion de un comando o un grupo de comandos, que se repiten varias veces


de manera consecutiva. Cada ronda de ejecucion se le llama paso. En cada paso al menos una
variable, pero usualmente mas de una variable, o inclusive todas las variables que estan definidas
dentro de cada ciclo, se le asignan nuevos valores.
En los ciclos for-end la ejecucion de un comando o grupos de comandos, se repite un n
umero de

1.2. DESARROLLO.

13

veces predeterminado. La sintaxis es la siguiente.

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)!

Escribamos una funcion que calcule cos(x), el usuario ingresa x en grados y n el n


umero de terminos a utilizar en la serie.

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);

Al correr la funcion trapecio se tiene


>> trapecio(fun1,0,1,100)
ans = 0.30118
El ciclo while-end se usa cuando se requiere un ciclo pero el n
umero de pasos no es conocido
con anticipacion. En el ciclo while-end el numero de pasos no se especifica cuando comienza el
proceso, el proceso del ciclo continua hasta que se satisface una condicion. La estructura del ciclo
while-end es
while (expresion condicionante)
comandos
end
Ejemplo 9 consideremos el mapa unidimensional:
xn+1 =

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

las cuales son xn = 3. Para probarlo usemos el siguiente script.

xanterior=2;
xnuevo=1;
while abs(xnuevo-xanterior)> 1e-5
xanterior=xnuevo;
xnuevo=xnuevo/2+3/(2*xnuevo)
end

El script anterior se salvo con el nombre mapa.m, la salida es

>> mapa
xnuevo=2
xnuevo=1.7500
xnuevo=1.7321

1.2.6.

Graficando con Matlab

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

>> t=[0 1.1 2.2 3.3 4.4 5.5 7 8.2];


>> x=[1 4 8.3 12.7 15 19.6 23.4 28];
Para graficar estos puntos, use el comando plot, con t y x como argumentos, plot(t,x), ademas
podemos agregar etiquetas a los ejes y darle un titulo a el grafico, veamos el script

>>
>>
>>
>>
>>
>>

t=[0 1.1 2.2 3.3 4.4 5.5 7 8.2];


x=[1 4 8.3 12.7 15 19.6 23.4 28];
plot(t,x);
xlabel(Tiempo t en segundos);
ylabel(Posicion x en metros);
title(Posicion vs tiempo);

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));

al graficar lo anterior se tiene

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.

La distribucion de temperatura en la placa se determina resolviendo la ecuacion de calor en


dos dimensiones, al hacerlo se tiene

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

el siguiente script nos grafica la distribucion de temperaturas

a=5; b=4; na=20; nb=16; k=5; T0=80;


clear T
x=linspace(0,a,na);
y=linspace(0,b,nb);
[X,Y]=meshgrid(x,y);
for i=1:nb
for j=1:na
T(i,j)=0;
for n=1:k
ns=2*n-1;
T(i,j)=T(i,j)+sin(ns*pi*X(i,j)/a).*sinh(ns*pi*Y(i,j)/
a)/(sinh(ns*pi*b/a)*ns);
end
T(i,j) = T(i,j)*4*T0/pi;
end
end
mesh(X,Y,T)
xlabel(x (m)); ylabel(y (m)); zlabel(T ( ^oC))
la grafica es

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

el siguiente script nos genera las lneas de campo

% 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.

x=[0.9 1.5 3 4 6 8 9.5];


y=[0.9 1.5 2.5 5.1 4.5 4.9 6.3];
p=polyfit(x,y,3)
xp=0.9:0.1:9.5;
yp=polyval(p,xp);
plot(x,y,o,xp,yp)
xlabel(x);
ylabel(y);

En el script anterior los datos se estan ajustando a un polinomio de grado tres, el grafico para ese
ajuste es el siguiente

1.3. APLICACIONES EN EL ANALISIS


NUMERICO

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

1.3. APLICACIONES EN EL ANALISIS


NUMERICO

>>
>>
>>
>>

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

El ajuste parece ser bueno.


Por otra parte tenemos la interpolacion. La interpolacion es la estimacion de valores entre los datos.
Matlab tiene funciones interpoladoras que estan basadas en polinomios. En una dimension cada
punto tiene una variable independiente x y una dependiente y, en dos dimensiones cada punto dos
variables independientes (x, y) y una variable dependiente z. En una dimension Matlab interpola
con la funcion interp1 el ultimo caracter es un uno, y tiene esta forma:
yi=interp1(x,y,xi,metodo)
Donde yi es el valor interpolado, x es un vector ah estan almacenados los datos de la variable
independiente, y es un vector donde estan almacenados los datos de la variable dependiente y la
opcion que dice metodo, ah seleccionamos el metodo a utilizar.
Matlab dispone de los siguientes metodos:
nearest: retorna el valor del punto de los datos mas cerca del punto de interpolacion.
linear: usa splines lineales
spline: usa splines o cerchas c
ubicas.
pchip: usa secciones c
ubicas de Hermite, tambien se le puede invocar como cubic
Ejemplo
Los siguientes puntos son generados con la funcion f (x) = 1 5x cos (2x). Use interpolacion lineal,
spline y pchip. Haga una figura para cada metodo de interpolacion, mostrando los puntos interpolados y la funcion real.
x
y

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);

1.3. APLICACIONES EN EL ANALISIS


NUMERICO

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:

Matlab tambien nos da la posibilidad de calcular races de polinomios de orden superior, el


siguiente ejemplo lustra como.
Ejemplo
Un cascaron esferico de aluminio es usado como boya de marca. La esfera tiene de 60 cm y un
espeso de 12 mm. La densidad del aluminio es al = 2690kg/m3 . La boya es puesta en el oceano,
donde la densidad es 1030kg/m3 . Determine la altura h entre la parte superior de la boya y la
superficie del agua.

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 solucion en Matlab es la siguiente:


re=0.60;
ri=0.588;
roal=2690;
roagua=1030;
a0=4*re^3-4*roal*(re^3-ri^3)/roagua;
p=[1 -3*re 0 a0];
h=roots(p)
al correr el script anterior se obtiene
h =
1.4542
0.9029
-0.5570

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.

1.3. APLICACIONES EN EL ANALISIS


NUMERICO

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)

donde x, es el mnimo de la funcion, x1 y x2 es el intervalo donde se busca el mnimo local. La


funcion puede ser ingresada como una expresion cadena o una funcion anonima.
El valor de la funcion en el mnimo puede ser agregado a la salida usando la opcion
[x,fval]=fminbnd(funcion,x1,x2)
el valor de la funcion en x es asignado a la variable fval. Consideremos el siguiente ejemplo
Ejemplo
Calcule el mnimo local de la funcion f (x) = x3 12x2 + 40 25x 36 5 en el intervalo 3 x 8.
Soluci
on
>> [x,fval]=fminbnd(x^3-12*x^2+40.25*x-36.5,3,8)
x =
5.6073

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.

1.3. APLICACIONES EN EL ANALISIS


NUMERICO

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.

La siguiente data fue medida en un a


no
Dia
1
32 60 91 121 152 182 213
h(m) 2.0 2.1 2.3 2.4 3.0 2.9 2.7 2.6
v(m/s) 2.0 2.2 2.5 2.7 5
4.7 4.1 3.8

244 274 305 335 366


2.5 2.3 2.2 2.1 2.0
3.7 2.8 2.5 2.3 2.0

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

La cantidad de agua es estimada por la integral


Z

t2

Qdt

V = (60) (60) (24)


t1

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

1.3. APLICACIONES EN EL ANALISIS


NUMERICO

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

la aceleracion se puede escribir como


a=v

dv
dx

lo cual da:
dv
Kv 2 (x + 1)3
=
dx
m

1.3. APLICACIONES EN EL ANALISIS


NUMERICO

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 funcion hay que definirla y salvarla:


function dvdx= edf2(x,v)
global k m
dvdx=-(k*v^2*(x+1)^3)/m;
end

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

1. La longitud de arco s del segmento parabolico BOC esta dada por:

b2
1 2
b + 16a2 + ln
s=
2
8a

4a +

b2 + 16a2
b

Calcule la longitud de arco de una parabola con a = 12 pulgadas y b = 8 pulgadas.

2. La conduccion de calor en estado estable q para un cilindro de solido es determinada por:

q = 2Lk

T1 T2
 
r2
ln
r1


1.4. EJERCICIOS DE PRACTICA

39

donde k es la conductividad termica. Calcule q para el un tubo de cobre (k = 401 W/mC) de


longitud L = 300 cm con radio externo r2 = 5 cm y radio interno r1 = 3cm. La temperatura
externa es T2 = 200 C y la temperatura interna es T1 = 1000 C.
3. Una esfera de aluminio (r = 0,2cm) se deja caer en un cilindro de vidrio lleno con glicerina.
La velocidad de la esfera como una funcion del tiempo v (t) se puede modelar por la ecuacion
r
v (t) =

V (al gl ) g
tanh
k

!
p
V (al gl ) gk
t
V al

donde V es el volumen de la esfera, g = 9,8m/s2 es la aceleracion de la gravedad, k = 0,0018


es una constante, y al = 2700kg/m3 y al = 1260g/m3 son la densidad del aluminio y
glicerina respectivamente. Determine la velocidad de la esfera para los siguientes tiempos 0,
0.05, 0.15, 0.25, 0.3, 0.35. Note que la velocidad crece rapidamente al inicio, pero luego crece
mas lento debido a la resistencia de la glicerina. Eventualmente la velocidad se aproxima a
un limite esa es la llamada velocidad terminal.
4. Resuelva el siguiente sistema de tres ecuaciones.
3x 2y + 5z = 7 5
4 5x + 2y + 3z = 5 5
5x + y 2 5z = 4 5

A MATLAB
CAPITULO 1. INTRODUCCION

40

5. Resuelva el siguiente sistema de cinco ecuaciones lineales:

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

Determine la distancia recorrida durante los primeros seis segundos.

9. La seccion transversal de un rio con mediciones de profundidad en intervalos de 40 pies. Use


integracion numerica para estimar el area de seccion transversal del rio.

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

donde E es el modulo elastico, I es el momento de inercia y L es la longitud de la viga.


Para la viga que se muestra en la figura L = 20m, E = 200 109 Pa, I = 348 106 m4 ,
w = 5 4 103 N/m, M = 200 103 N.m. Haga un grafico de la deflexion de la viga y como
funcion de x.
15. Resuelva la siguiente ecuacion diferencial

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=

|Ax0 + By0 + Cz0 + D|

A2 + B 2 + C 2

Determine la distancia del punto (8, 3, 10) a el plano 2x + 23y + 13z 24 = 0


20. La dependencia del calor especifico con la temperatura para varios gases puede describirse
en terminos de la ecuacion c
ubica:

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

Escriba un programa que haga lo siguiente:


Imprima los cuatro gases en la pantalla y pregunte al usuario a cual gas quiere calcularle
Cp .
Pregunte al usuario por una temperatura.
Pregunte al usuario si es necesaria otra temperatura (si o no), si la respuesta es si, el
usuario debe ingresar otra temperatura, este proceso debe continuar hasta que el usuario dice no.
Desplegar una tabla que contenga las temperaturas que se ingresaron y las correspondientes capacidades calorficas.
21. La serie de Taylor de sen(x) es

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.

Tipos de Ecuaciones Diferenciales

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.

EDO Con Valores En La Frontera

Un problema de condiciones de frontera se puede escribir como:


d2 y
dy
+ p (x)
+ q (x) y = R (x)
2
dx
dx

(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)

50CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
y (a) = ya
y (b) = yb
La pregunta que nos hacemos en un problema de valor propio es esta: para que valores reales del
parametro existe una solucion no trivial del problema con condiciones en la frontera? Tal valor
de se llama valor propio valor o caracterstico del problema.
Ejemplo analtico 1
Determine los valores propios y las funciones propias del problema.
00

y + y = 0;

y (0) = 0,

y (L) = 0

Tomemos = 2 ( > 0). Entonces la ecuacion diferencial es


00

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

Ahora, la segunda condicion en la frontera y (L) = 0 produce


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

2.1. TIPOS DE ECUACIONES DIFERENCIALES

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 (0) = A cosh (0) + B senh (0) = A = 0


as que y (x) = B (x). Pero ahora la segunda condicion de valor extremo, y (L) = 0, produce
y (L) = B senh (L) = 0. Esto implica que B = 0, ya que 6= 0. As la u
nica solucion del problema en el caso de que < 0 es la solucion trivial y = 0, y por lo tanto podemos concluir que el
problema no tiene valores propios negativos.
La u
nica posibilidad restante es que = 2 > 0 con > 0. En este caso la ecuacion diferencial es
00

y + 2 y = 0
con solucion general

y (x) = A cos (x) + B sen (x)


La condicion y (0) = 0 implica que A = 0, de modo que y (x) = B sen (x). La condicion y (L) = 0
produce

y (L) = B sen (L) = 0


Si B 6= 0, lo anterior se cumple solo si

L = ,

2 3,

... n

52CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
esto es, si
= 2 =

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.

En teora de elasticidad se utiliza el problema lineal con condiciones en la frontera.


00

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

entonces el problema se convierte en el problema de valor propio


00

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, ...

con la funcion propia yn sen (nx/L) asociada con n


Para interpretar este resultado en terminos de la barra combada, sabemos que P = EI. Las
fuerzas

Pn = n EI =

n2 2 EI
,
L2

n = 1, 2, 3, ...

(2.4)

2.1. TIPOS DE ECUACIONES DIFERENCIALES

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.

EDO Con Valores Iniciales

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 constante positiva de proporcionalidad k se denomina constante del resorte. Observe que F y


x tienen signos contrarios: F < 0 cuando x > 0, F > 0 cuando x < 0

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

54CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
obtenemos la ecuacion diferencial lineal de segundo orden
00

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

0 5x + 0 20x + 120x = 0 30sen (7t)


La ecuacion anterior la podemos escribir como un sistema de dos ecuaciones diferenciales de primer
orden, haciendo los siguientes cambios de variables.
x 1 = x2
x 2 = 0 60sen (7t) 0 40x2 240x1
El script en Matlab para el sistema anterior es
f=@(t,x)[x(2);0.20*sin(10*t)-0.40*x(2)-240*x(1)];
t_final=20;
x0=[1.2;0];
[t,x]=ode45(f,[0,t_final],x0);
plot(t,x(:,1));
xlabel(Tiempo);
ylabel(Posicion x(t) );
title(Oscilador forzado y amortiguado);
La salida de Matlab es la siguiente:

2.1. TIPOS DE ECUACIONES DIFERENCIALES

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

56CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
tiempo, grafique x vr t, para esta partcula.

v=

dx
= 0 5e0 3t sen (8t)
dt

Primero definimos una funcion para nuestra ecuacion diferencial

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

El metodo de residuales ponderados es u


til para obtener soluciones aproximadas de ecuaciones
diferenciales. Para explicar los diferentes metodos vamos a tomar la siguiente ecuacion diferencial.
d2 u
u = x, 0 < x < 1
dt2
u (0) = 0,

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)

El siguiente paso es seleccionar la funcion de prueba o de peso w. La solucion aproximada resultante


difiere dependiendo de la funcion de prueba w. Los metodos de residuales ponderados pueden ser
clasificados basados en como se determina la funcion de prueba w. Veamos algunos de los metodos
de residuales ponderados.
1. M
etodo de colocaci
on. La funcion delta de Dirac, (x xi ) es usada como funcion de
prueba, donde los puntos de muestreo xi deben estar dentro del dominio, 0 < x < 1 en otras
palabras
w = (x xi )

(2.11)

Tomando x = 0 5 y sustituyendo la funcion de prueba en el residual ponderado, ecuacion


(10), encontramos a = 0 2222
Entonces la solucion aproximada se convierte en u = 0 2222x (1 x)
2. M
etodo de mnimos cuadrados. La funcion de prueba es determinada del residual tal que
dR
(2.12)
da
Aplicando la ecuacion (12) a la ecuacion (9) llegamos a w = 2 x (1 x). Sustituyendo la
funcion de prueba en (10) resulta a = 0 2305. Entonces u = 0 2305x (1 x).
w=

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)

58CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
Para el presente ejercicio obtenemos w = x (1 x). Aplicando esta funcion de prueba a la
ecuacion (10) se obtiene a = 0 2272 as u = 0 2270x (1 x)
Para mejorar la solucion aproximada, podemos agregar mas terminos a la funcion de ensayo. Por
ejemplo, otra funcion de ensayo posible es u = a1 x (1 x) + a2 x2 (1 x). Esta funcion de ensayo
tiene dos constantes desconocidas que tienen que ser determinadas. El calculo del residual usando
la presente funcion de ensayo se tiene


R = a1 2 x + x2 + a2 2 6x x2 + x3 + x

(2.14)

Necesitamos el mismo de funciones de prueba como constantes desconocidas tengamos, dicho lo


anterior podemos resumir los diferentes metodos as
Metodo
Descripcion
Colocacion
wi = (x xi ), i = 1, 2, ..., n
Mnimos cuadrados wi = R/ai , i = 1, 2, ..., n
Galerkin
wi = u/ai , i = 1, 2, ..., n
Aplicando la tabla anterior a la u
ltima funcion de ensayo, obtenemos las siguientes funciones de
prueba
Metodo de colocacion:
w1 = (x x1 ) ,

w2 = (x x2 )

(2.15)

Metodo de mnimos cuadrados:


w1 = 2 x + x2 ,

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)

donde L es un operador diferencial. Una funcion de ensayo se escoge tal que


u =

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)

La ecuacion (23) muestra que Ai,j = Aj,i , una matriz simetrica.

2.2.2.

Formulaci
on D
ebil

Consideremos la ecuacion diferencial (8) otra vez. La formulacion descrita


R 1 en la seccion anterior
es llamada la formulacion fuerte. La formulacion fuerte requiere evaluar 0 w( 2 u/x2 )dx, lo cual
incluye derivadas de orden superior en la ecuacion diferencial. La integral debe tener un valor finito
diferente de cero, para que la solucion aproximada tenga sentido. Esto significa que la funcion de
ensayo debe ser diferenciable doblemente y la segunda derivada debe ser diferente de cero.
Para reducir los requerimientos para la funcion de ensayo en terminos del orden de diferenciacion,
integramos por partes la formulacion fuerte. Entonces la ecuacion (10) se convierte en
Z
I=


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.

Independientemente de la formulacion debil o fuerte, la precision de una solucion aproximada


depende de la seleccion de la funcion de ensayo. Sin embargo, asumir una funcion de ensayo apropiada no es una tarea facil. Esto es especialmente cierto cuando la solucion exacta tenga grandes
variaciones sobre todo el dominio del problema, el dominio tienen una forma compleja en dos

60CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
dimensiones o en un problema de tres dimensiones o tiene condiciones de frontera complicadas.
Para superar estos problemas la funcion de ensayo puede ser descrita usando funciones seccionadas
continuas.
Consideremos una funcion seccionada lineal en un dominio unidimensional definida as:
(
(x xi ) /hi
para xi1 x xi
i =
(xi+1 x) /hi+1 para xi x xi+1

El siguiente ejemplo va ilustrar como trabajar con este tipo de funciones.


Ejemplo
Consideremos la misma ecuacion diferencial (8), la funcion de ensayo se escoge como u = a1 1 (x)+
a2 2 (x) en la cual a1 y a2 son constantes desconocidas a ser determinadas y 1 y 2 se definen a
continuacion.

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

Usando el metodo de Galerkin, llegamos a las siguientes funciones de prueba

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,

los residuales ponderados son


1



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 +

[3 (3a1 + 3a2 ) (2 3x) (2a1 3a1 x + 3a2 x a2 )

1
3

0
1

Z
+ x (2 3x)] dx +

0dx
2
3

I1 = 6 222a1 + 2 9444a2 + 0 1111 = 0


1
3

Z
I2 =

2
3

Z
0dx +

[3 (3a1 + 3a2 ) (3x 1) (2a1 3a1 x + 3a2 x a2 ) + x (3x 1)] dx

1
3

0
1

[3 (3a2 ) (3 3x) (3a2 3a2 x) + x (3 3x)] dx

+
2
3

I2 = 2 9444a1 6 2222a2 + 0 2222 = 0


Resolviendo las ecuaciones anteriores obtenemos a1 = 0 0488 y a2 = 0 0569, as la solucion aproximada queda u = 0 04481 (x)+0 05692 (x). Si la funcion de ensayo seccionada se hubiera utilizado
d2 u
con la formulacion fuerte, no dara un resultado razonable, ya que 2 desaparece completamente
dx
sobre el dominio.

62CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO

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)

Expresemos la ecuacion (2.27) en terminos de las variables nodales. En otras palabras, c1 y


c2 necesitan ser reemplazadas por wi y wi+1 . Para hacer lo anterior, evaluamos u en x = xi y
x = xi+1 . Entonces
u (xi ) = c1 xi + c2 = ui

(2.28)

u (xi+1 ) = c1 xi+1 + c2 = ui+1

(2.29)

Resolviendo simultaneamente las ecuaciones (28) y (29) para c1 y c2 da


ui+1 ui
xi+1 xi

(2.30)

ui xi+1 ui+1 xi
xi+1 xi

(2.31)

c1 =
c1 =

sustituyendo (2.30) y (2.31) en (2.27) y agrupando se tiene


u = H1 (x) ui + H2 (x) ui+1

(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)

2. La suma de todas las funciones de forma es 1


2
X

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.

En este caso tenemos los elementos i = 1, 2, 3. La integral para estos elementos es



Z xi+1 
dw du

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

64CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
Calculando estas integrales se obtiene

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)

Para cada elemento, la ecuacion (2.42) puede escribirse como


Elemento 1:


 

3 111 2 9444
u1
0 0185
+
2 9444 3 111
u2
0 0370

(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)

Similarmente la ecuacion (2.44) y (2.45) se escriben

0
0
0
0
u
0

0 3 111 2 9444 0 u2 0 0741

0 2 9444 3 1111 0 u3 + 0 0926

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

2 9444 6 2222 2 9444

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 9444 6 2222 2 9444


u2 0 1111
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

La expresion variacional de la ecuacion anterior es:




1
Z 1 2
du
du
u
(2.51)
J =
2 + u x udx +
dx
dx
0
0
donde es el operador operacional. El primer termino de la ecuacion (2.51) es la ecuacion diferencial y el segundo termino son las condiciones de frontera de Neuman desconocidas. Aplicando
integracion por partes al primer termino de la ecuacion (2.51) se obtiene

Z 1
du d (u)
J =
(2.52)
+ uu xu dx
dx dx
0
Ya que el operador variacional es conmutativo con respecto a los operadores de integracion y derivacion
d (u)
=
dx

du
dx

66CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
y
Z

Z
udx =

udx

La ecuacion (2.52) la podemos escribir como


)
Z 1 (  2
1 du
1 2
+ u xu dx
J =
2 dx
2
0
El funcional se obtiene de la ecuacion (2.53) y queda as
)
Z 1 (  2
1 du
1 2
J=
+ u xu dx
2 dx
2
0

(2.53)

(2.54)

Tomando la variacion de la ecuacion (2.54) obtenemos la ecuacion (2.8). El funcional representa la


energa en muchos problemas de fsica e ingeniera, por ejemplo la energa potencial en un solido
mecanico es un funcional. La solucion de las ecuaciones que gobiernan se obtienen minimizando el
funcional.

2.2.6.

El m
etodo de Rayleigh-Ritz

El metodo de Rayleigh-Ritz obtiene una solucion aproximada a la ecuacion diferencial con


condiciones de frontera dada usando el funcional de la ecuacion diferencial. El procedimiento para
esta tecnica puede resumirse en dos paso dados a continuacion:
1. Asumir una solucion admisible la cual satisface las condiciones de frontera de Dirichlet y
contiene coeficientes desconocidos.
2. Sustituir la solucion asumida en el funcional y encontrar los coeficientes desconocidos que
minimizan el funcional.
Ejemplo
Resolvamos la ecuacion diferencial (2.8) usando el metodo de Rayleigh-Ritz. Asumamos la siguiente funcion como una solucion aproximada.
u = ax (1 x)

(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

donde a1 y a2 son dos coeficientes desconocidos. Substituyamos la expresion anterior en el funcional


y tomemos las derivadas respecto a a1 y a2 para minimizar el funcional.
J
= 0,
a1

J
=0
a2

(2.58)

Esta operacion nos da la solucion de los coeficientes desconocidos a1 y a2 .

2.2.7.

M
etodo de Elementos Finitos con Rayleigh-Ritz

El metodo de Rayleigh-Ritz puede ser aplicado a un problema de dominio usando funciones


seccionadas continuas. Como resultado, el dominio es dividido en subdominios de elementos finitos.
Para elementos con dos nodos de una pieza, las funciones lineales de forma como las ecuaciones
(2.33) y (2.34) pueden ser utilizadas para el metodo de Rayleigh-Ritz. El siguiente ejemplo explica
el procedimiento de elemento finito usando el metodo de Rayleigh-Ritz.
Ejemplo
Vamos a resolver la ecuacion diferencial (2.8) usando el metodo de Rayleigh-Ritz, nuevamente el
dominio lo vamos a subdividir en tres elementos. El funcional puede ser expresado para el dominio
discretizado como
J=

n Z
X
i=1

xi +1

xi

)
(  
2
1 2
1 du
+ u xu dx
2 dx
2

(2.59)

donde n = 3, x1 = 0, x2 = 1/3, x3 = 2/3 y x4 = 1, como en la figura. Usando funciones lineales de


forma, la solucion u para el i elemento es expresada como

u = H1 (x) ui + H2 ui+1 = [H] ui

(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)

68CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
evaluando las integrales se obtiene
1
hi
1
hi
+
+
hi
3
hi
6
1
{ui ui+1 }
1
2
hi
1
hi
+
+
hi
6
hi
3

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 9444 6 2222 2 9444


u2 0 1111
0

=
(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

70CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
10. Aplique Runge-Kutta para el siguiente sistema de ecuaciones diferenciales
0

u1 = u1 + 2u2 2u3 + et , u1 (0) = 3


0
u2 = u2 + u3 2et , u2 (0) = 1
0
u3 = u1 + 2u2 + et , u3 (0) = 1
en el intervalo 0 t 1
11. Encuentre una solucion aproximada al problema de valores en la frontera
d2 u
= x; 0 < x < 1
dx2
u (0) = u (1) = 0
Use la funcion de ensayo u = ax (1 x) donde a es una constante que tiene que ser determinada. Aplique el metodo de colocacion en el punto x = 0 .
12. Resuelva el problema el problema 11, usando el metodo de mnimos cuadrados.
13. Resuelva el problema 11, usando el metodo de Galerkin.
14. Resuelva el siguiente problema usando el metodo de colocacion

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

Use un polinomio de grado dos para la funcion de ensayo y el metodo de colocacion.


18. Resuelva la problema 17 usando mnimos cuadrados.

2.3. EJERCICIOS

71

19. Resuelva el problema 17 usando el metodo de Galerkin.


20. Aplique el metodo de Galerkin para encontrar una solucion aproximada a la siguiente ecuacion
d2 u du
2u = 0, 0 < x < 1
+
dx2 dx
u (0) = 0, u (1) = 1
Asuma (a) un polinomio cuadratico y (b) un polinomio cubico como funcion de ensayo respectivamente.
21. Resuelva el problema 20 usando el metodo de colocacion.
22. Resuelva el problema 20 usando mnimos cuadrados.
23. Use el metodo de Galerkin para determinar una solucion aproximada a
d2 u du
+
2u = x 0 < x < 1
dx2 dx
u (0) = 0,
u (1) = 1
Asuma un polinomio cuadratico como funcion de ensayo.
24. Un problema de ingeniera se formula en terminos de la ecuacion diferencial

d2 u
du
+x
= 2u 1;
2
dx
dx
u (0) = 2;

0x1

u (1) =

du (1)
dx

(a) Obtenga la formulacion debil para este problema.


(b) Empezando con un polinomio lineal obtenga una solucion aproximada del problema.
25. Un problema de ingeniera se formula en terminos de la ecuacion diferencial
00

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.

72CAPITULO 2. FUNDAMENTOS MATEMATICOS


DEL METODO
DE ELEMENTO FINITO
26. Un problema de ingeniera se formula en terminos de la ecuacion diferencial
00

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

u (x) u (x) + u (x) = 1; 0 < x < 2


0
u (0) = u (0) , u (2) = 1
Obtenga la formulacion debil para este problema con el metodo de Galerkin. Empezando con
la solucion de la forma u (x) = a0 + a1 x para obtener una solucion aproximada.
30. (a) Desarrolle el funcional de la ecuacion diferencial dada en el problema 11. (b) con el
funcional obtenido en (a) resuelva la ecuacion diferencial usando el metodo de Rayleigh-Ritz.

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.

También podría gustarte