Вы находитесь на странице: 1из 111

Ecuaciones y sistemas

En las pginas previas, hemos hecho clculos numricos, con una precisin limitada. En estas pginas vamos a
explicar como se utiliza la herramienta Symbolic Math Toolbox, que emplearemos para realizar clculos
smblicos, es decir, transformaciones de expresiones matemticas.
Las posibilidades son enormes: integracin definida e indefinida, diferenciacin, resolucin de ecuaciones
diferenciales, series, lmites, clculo matricial, operaciones con polinomios, simplificacin de expresiones
algebraicas. Finalmente, las expresiones algebraicas se pueden convertir en valores numricos con precisin
variable.
Declaracin de variables simblicas
La herramienta Symbolic Math Toolbox define un nuevo tipo de dato denominado objeto simblico, que
representan a variables, expresiones y matrices.
El comando sym se usa para crear objetos simblicos en MATLAB. El argumento de sym es una cadena de
caracteres (string) entre comillas simples. Por ejemplo,
>> sym( ' x' )
>> sym( ' 2' )
>> sym( ' 1/ 3' )
Hemos creado tres objetos simblicos, x es una variable, 2 es un nmero y 1/3 es una fraccin. Vamos a apreciar
la diferencia entre operar con nmeros a operar con objetos simblicos.
>> sqr t ( 2)
ans = 1. 4142
>> sqr t ( sym( ' 2' ) )
ans =2^( 1/ 2)
>> 2/ 3+1/ 2
ans = 1. 1667
>> sym( ' 2/ 3' ) +sym( ' 1/ 2' )
ans =7/ 6
>> si n( pi )
ans = 1. 2246e- 016
>> si n( sym( ' pi ' ) )
ans =0
En la ltima lnea, vemos claramente la diferencia entre los valores que devuelve el seno de .
Supongamos que queremos evaluar una funcin f(x) para un determinado valor de x
>> x=sym( ' 1- sqr t ( 2) ' ) ;
>> y=x^2- 2*x
y =( 2^( 1/ 2) - 1) ^2 + 2*2^( 1/ 2) - 2
>> si mpl i f y( y)
ans =1
sym nos permite crear y dar un valor inicial a una variable simb&oaclica x.
Se ha creado una variable simblica x y otra variable simblica y, tal como puede verse en la ventana Workspace.
El comando simplify que estudiaremos ms adelante simplifica la expresin resultante.
y = 2x x
2
x =1 2
y = 2(1 ) (1 ) 2
2
2
El comando syms permite declarar ms de una variable simblica y no precisa de comillas simples, por lo que se
utilizar con mayor frecuencia.
>> syms x y;
>> s=x+2*y- x
s =2*x
>> r =sqr t ( x^2+y^2) ;
Se han creado dos variables simblicas nuevas s y r tal como podemos apreciar en la ventana Workspace. Los
comandos s=x+2*y+x, r=sqrt(x^2+y^2), son ejemplos de expresiones simblicas.
Funciones que trabajan con expresiones simblicas.
Vamos ahora a estudiar las funciones que trabajan con expresiones simblicas
expand
Realiza operaciones con expresiones simblicas tal como vemos en el siguiente ejemplo
>> syms x;
>> y=( x- 1) ^3+3*x^2+1;
>> expand( y)
ans =x^3 + 3*x
Se ha declarado una variable simblica x con syms y se crea una variable simblica y y otra variable simblica,
por defecto, ans donde se guarda el resultado de expand.
simplify
En un ejemplo anterior hemos visto como trabaja la funcin simplify. Ahora vamos a ver cmo simplifica una
expresin algebraica.
>> syms x;
>> y=( x^2- x+1/ x- 1/ x^2) / ( x- 1+1/ x) ;
>> si mpl i f y( y)
ans =x - 1/ x
En la pgina, Sistema de ecuaciones diferenciales lineales, realizaremos largas operaciones con expresiones
algebraicas, por ejemplo
y = +3 +1 (x 1)
3
x
2
( x + ) : (x 1+ ) x
2
1
x
1
x
2
1
x
x = =
80+25i
16
1 8i
5
e
(28i)t
80+25i
16
1+8i
5
e
(2+8i)t
x = (24cos(8t) + sin(8t))
1
8
e
2t
133
8
>> syms t ;
>> x=( - 80+25*i ) *( 1- 8*i ) *exp( ( 2- 8*i ) *t ) / 80- ( 80+25*i ) *( 1+8*i ) *exp( ( 2+8*i ) *t ) / 80;
>> si mpl i f y( x)
ans =( exp( 2*t ) *( 24*cos( 8*t ) + 133*si n( 8*t ) ) ) / 8
Como ejercicio se sugiere, simplificar las siguientes expresiones
factor
Como su nombre indica, factoriza una expresin
Primero vamos a probar con nmeros y a continuacin, con expresiones simblicas
>> f act or ( 360)
ans =
2 2 2 3 3 5
>> f act or ( sym( ' 360' ) )
ans =2^3*3^2*5
>> syms x;
>> f act or ( x^8- 2*x^6- 9*x^4+2*x^2+8)
ans =( x - 1) *( x - 2) *( x + 2) *( x + 1) *( x^2 + 2) *( x^2 + 1)
subs
Evala numricamente una expresin simblica, para un determinado valor de la variable simblica x.
>> syms x;
>> y=x^8- 2*x^6- 9*x^4+2*x^2+8;
>> subs( y, x, 2)
ans = 0
>> subs( y, x, - 0. 5)
ans = 7. 9102
Valores que se asignan a los parmetros a, b y c para resolver una determinada ecuacin de segundo grado. Una
tabla de valores de la funcin y=x
2
-x-6.
>> syms a b c x;
>> y=a*x^2+b*x+c;
>> yy=subs( y, {a, b, c}, {1 - 1 - 6})
yy =x^2 - x - 6
>> subs( yy, [ - 2: 0. 5: 2] )
ans =
0 - 2. 2500 - 4. 0000 - 5. 2500 - 6. 0000 - 6. 2500 - 6. 0000
- 5. 2500 - 4. 0000
Hay que tener cuidado con la funcin subs, ya que nos puede pasar de un objeto simblico a una variable
MATLAB. Los objetos simblicos aparecen claramente diferenciados de las variables en la ventana Wokspace,
tal como vemos en la figura, ms abajo.
>> syms a x;
>> y=sqr t ( a*( x- 2) )
y =( a*( x - 2) ) ^( 1/ 2)
>> yy=subs( y, a, 5)
yy =( 5*x - 10) ^( 1/ 2)
>> z=subs( yy, x, 3)
z = 2. 2361
( ) ( + )
x
y
3
1
y
2
x y
y
2x
x y
x
2
xy y
2
( ) ( 1) ( )
3
x +y
x
2
y
2
x +y
x y
x y
x +y
360= 5 2
5
3
2
y = 2 9 +2 +8 x
8
x
6
x
4
x
2
Hemos declarado dos variables simblicas a y x en la primera lnea. En la segunda, y es una nueva variable
simblica que depende de a y x. A la variable a le damos el valor 3. En la tercera, yy depende de la variable
simblica x. Sin embargo, en la cuarta lnea, asignamos a x un valor 3 y la nueva variable z deja de ser simblica,
tal como vemos en la ventana Workspace y guarda el nmero decimal 2.2361 que es una aproximacin decimal
de la raz cuadrada de 5.
Si queremos que z siga siendo simblica, tenemos que escribir
>> z=subs( yy, x, sym( ' 3' ) )
z =5^( 1/ 2)
La respuesta exacta es raz cuadrada de cinco. Por tanto, tenemos que manejar con cuidado la funcin subs y
fijarnos en la ventana Wokspace de las variables.
Una variable simblica puede ser sustituida por otra variable simblica. Por ejemplo, la variable x se sustituye
por u+v y la variable y se sustituye por u-v.
>> syms x y;
>> z=x^2- y^2;
>> syms u v;
>> z=subs( z, {x, y}, {u+v, u- v})
z =( u + v) ^2 - ( u - v) ^2
>> si mpl i f y( z)
ans =4*u*v
solve
Resuelve una ecuacin o un sistema de ecuaciones. Por ejemplo, calcular las races de la ecuacin
>> syms x;
>> sol ve( x^2+x/ 6- 1/ 3)
ans =
1/ 2
- 2/ 3
Por defecto, solve iguala la expresin simblica a cero
Una forma equivalente de hacer lo mismo es la siguiente:
>> eq=' x^2+x/ 6- 1/ 3=0' ;
>> sol ve( eq)
ans =
1/ 2
- 2/ 3
Vamos a resolver la conocida ecuacin de segundo grado
>> syms a b c x;
>> eq=' a*x^2+b*x+c=0' ;
>> sol ve( eq, x)
ans =
- ( b + ( b^2 - 4*a*c) ^( 1/ 2) ) / ( 2*a)
- ( b - ( b^2 - 4*a*c) ^( 1/ 2) ) / ( 2*a)
Hemos aadido un segundo argumento a solve para indicarle que deber resolver la ecuacin de segundo grado
respecto de la variable simblicax, que previamente hemos declarado con syms.
Resolver el sistema de dos ecuaciones con dos incgnitas
>> syms x y;
>> eq1=' 3*x+2*y=- 1' ;
>> eq2=' x- y=2' ;
>> [ x1 y1] =sol ve( eq1, eq2, x, y)
x1 =3/ 5
y1 =- 7/ 5
Resolvemos el sistema de dos ecuaciones con dos incgnitas
+ =0 x
2
x
6
1
3
a +bx +c =0 x
2
= x
1,2
b 4ac b
2

2a
{
3x +2y =1
x y =2
>> syms x y;
>> eq1=' x^2+y^2=2' ;
>> eq2=' x+y=1' ;
>> [ x1 y1] =sol ve( eq1, eq2)
x1 =
3^( 1/ 2) / 2 + 1/ 2
1/ 2 - 3^( 1/ 2) / 2
y1 =
1/ 2 - 3^( 1/ 2) / 2
3^( 1/ 2) / 2 + 1/ 2
Resolucin de un sistema de ecuaciones lineales
En la pgina Matrices ya hemos resuelto sistemas lineales de ecuaciones, mediante el operador divisin por la
izquierda, y hemos establecido los criterios que determinan si un sistema es compatible (determinado,
indeterminado) o incompatible. En esta seccin vamos a clasificar el sistema
segn los valores de un parmetro a y calcular las soluciones para los valores de a que hacen el sistema
compatible.
Calculamos el determinante de la matriz de los coeficientes A
>> syms a;
>> A=[ a 1 1; 1 a 1; 1 1 a] ;
>> b=[ a; a^2; a^3] ;
>> Ab=[ A b]
>> det er =det ( A)
det er =a^3 - 3*a + 2
>> sol ve( det er )
ans =
1
1
- 2
>> f act or ( det er )
ans =( a + 2) *( a - 1) ^2
El determinante de la matriz se hace cero para a=-2 y a=1, resolviendo la ecuacin a
3
-3a+2=0, mediante solve o
bien, transformando el polinomio en producto de factores mediante la funcin factor.
Estudiemos el sistema para los distintos casos:
1. Paraa=-2
Obtenemos una matriz A_p que guarda el valor de los elementos de la matriz A para a=-2, calculamos el
rango de A_p mediante rank.
Obtenemos una matriz Ab_p que guarda el valor de los elementos de la matriz ampliadaAb para a=-2,
calculamos el rango de Ab_p mediante rank.
>> A_p=subs( A, a, - 2)
A_p =
- 2 1 1
1 - 2 1
1 1 - 2
>> r ank( A_p)
ans = 2
>> Ab_p=subs( Ab, a, - 2)
Ab_p =
- 2 1 1 - 2
1 - 2 1 4
1 1 - 2 - 8
>> r ank( Abp)
ans = 3
{
+ =2 x y
x +y =1
= = x
1,2
1 3
2
y
1,2
1 3
2
?
?
?
?
?
ax +y +z =a
x +ay +z =a
2
x +y +az =a
3
A = b =
?
?
?
a
1
1
1
a
1
1
1
a
?
?
?
?
?
?
a
a
2
a
3
?
?
?
Ab =
?
?
?
a
1
1
1
a
1
1
1
a
a
a
2
a
3
?
?
?
2 2
El sistema es incompatible
2. Para a=1
Obtenemos una matriz A_p que guarda el valor de los elementos de la matriz A para a=1, calculamos el
rango de A_p mediante rank.
Obtenemos una matriz Ab_p que guarda el valor de los elementos de la matriz ampliadaAb para a=1,
calculamos el rango de Ab_p mediante rank.
>> A_p=subs( A, a, 1)
A_p =
1 1 1
1 1 1
1 1 1
>> r ank( A_p)
ans = 1
>> Ab_p=subs( Ab, a, 1)
Ab_p =
1 1 1 1
1 1 1 1
1 1 1 1
>> r ank( Ab_p)
ans = 1
El sistema es compatible pero indeterminado, ya que el rango, 1 es menor que el nmero de incgnitas, 3. El
sistema es equivalente a una nica ecuacin x+y+z=1.
3. Para a-2, a1
>> x=A\ b
x =
- ( a^2 + a) / ( a + 2)
a/ ( a + 2)
( a^3 + 2*a^2 + a) / ( a + 2)
>> f act or ( x( 1) )
ans =- ( a*( a + 1) ) / ( a + 2)
>> f act or ( x( 3) )
ans =( a*( a + 1) ^2) / ( a + 2)
Las solucin para este caso es
Para a =0 el sistema es homogneo y tiene la solucin trivial [0;0;0]
Sistema de ecuaciones lineales homogneo
Estudiar segn los valores dew el siguiente sistema
Hacemos el determinante de los coeficientes igual a cero y despejamos w.
Paraw5 la nica solucin es la trivial x=0, y=0, z=0.
Paraw=5 tomamos las dos primeras ecuaciones y calculamos y y z en trminos de x.
En forma matricial
La solucin de este sistema es y=x/2, z=3x/2
>> syms w x;
>> A=[ 6 18 - 2*w; 7 - 2 - 4; 4 10 - 6] ;
x = y = z =
a(a +1)
a +2
a
a +2
a(a +1)
2
a +2
?
?
?
?
?
6x +18y 2wz =0
7x 2y 4z =0
4x +10y 6z =0
=0
|
|
|
|
6
7
4
18
2
10
2w
4
6
|
|
|
|
w =5
{
18y 2wz =6x
2y 4z =7x
( ) ( ) =( )
18
2
2w
4
y
z
6x
7x
>> w1=sol ve( det ( A) , w)
w1 =5
>> B=A( 1: end- 1, 2: end)
B =
[ 18, - 2*w]
[ - 2, - 4]
>> b=- A( 1: end- 1, 1) *x
b =
- 6*x
- 7*x
>> B1=subs( B, w, w1) ;
>> X=B1\ b
X =
x/ 2
( 3*x) / 2
Como podemos apreciar la matriz B es una submatriz de A, que va de la fila 1 a la 2 ambas inclusive y de la
columna 2 a la 3. El vector b es primer vector columna de A, cambiado de signo, multiplicado por x y sin el
ltimo elemento.
Vectores linealmente dependientes
Sean los vectores x
1
,x
2
,x
3
...x
n
. Si podemos encontar constantes c
1
,c
2
,c
3
...c
n
que al menos dos sean no nulas se
denominan linealmente dependientes.
Si los vectores x
1
,x
2
,x
3
...x
n
son linealmente independientes, el determinate de la matriz X de dimensin n
formada por los vectores columna x
1
,x
2
,x
3
...x
n
es distinta de cero.
>> x1=[ 1; - 3; 5] ;
>> x2=[ - 2; 1; 4] ;
>> x3=[ 6; - 2; 1] ;
>> X=[ x1 x2 x3] ;
>> det ( X)
ans = - 79
Los vectores x
1
,x
2
y x
3
son linealmente independientes.
>> syms c1;
>> x1=sym( ' [ 1; - 1; 3] ' ) ;
>> x2=sym( ' [ - 4; 1; - 6] ' ) ;
>> x3=sym( ' [ 2; - 1; 4] ' ) ;
>> X=[ x1 x2 x3] ;
>> det ( X)
ans =0
Los vectores x
1
,x
2
y x
3
son linealmente dependientes. Ahora vamos a calcular la relacin entre estos vectores, los
valores de las constantes c
1
,c
2
,c
3
. Tenemos que resolver el sistema homogneo
Tomamos las dos primeras ecuaciones, calculamos c
2
, c
3
en funcin de c
1
.
>> B=X( 1: end- 1, 2: end) ;
>> b=- X( 1: end- 1, 1) *c1;
>> C=B\ b
C =
- c1/ 2
- ( 3*c1) / 2
+ +... + =0 c
1
x
1
c
2
x
2
c
n
x
n
+ + =0 c
1
x
1
c
2
x
2
c
3
x
3
?
?
?
?
?
4 +2 =0 c
1
c
2
c
3
+ =0 c
1
c
2
c
3
3 6 +4 =0 c
1
c
2
c
3
{
4 +2 = c
2
c
3
c
1
= c
2
c
3
c
1
=0
1
x
1
1
2
c
1
x
2
3
2
c
1
x
3
2 3 =0 x
1
x
2
x
3
Valores y vectores propios
El clculo de los valores propios y de los vectores propios de una matriz simtrica tiene gran importancia en las
matemticas y en la ingeniera, entre los que cabe destacar, el problema de la diagonalizacin de una matriz, el
clculo de los momentos de inercia y de los ejes principales de inercia de un slido rgido, o de las frecuencias
propias de oscilacin de un sistema oscilante.
Sea la matriz cuadrada A de dimensin n
Se denominan valores propios o races caractersticas de una matriz cuadrada A, a los valores de tales que.
I es la matriz identidad, cuyos elementos son ceros, exceptode la diagonal principal que son unos.
Desarrollando el determinante tenemos un polinomio en de grado n. Las races del polinomio (valores propios)
pueden ser distintas o repetidas. Para calcular los vectores propios tenemos que resolver el sistema homogneo
(A-I)X=0, para cada una de las races
1
....
n
tal como vamos a ver en el ejercicio que viene a continuacin.
Valores y vectores propios
Antes de utilizar la funcin eig, vamos a calcular paso a paso los valores y vectores propios de una matriz.
Valores propios distintos
Vamos a calcular los valores propios y vectores propios de la matriz
Estudiamos el sistema lineal homogneo (A-I)X=0 de tres ecuaciones con tres incgnitas
Igualamos a cero el determinante de la matriz A1 y calculamos las races de la ecuacin cbica en
Creamos la matriz A1=A-I a partir de la matriz A y de la matriz identidad I. Calculamos su determinante det y
A =
?
?
?
?
?
a
11
a
21
...
a
n1
a
12
a
22
...
a
n2
...
...
...
...
a
1n
a
2n
...
a
nn
?
?
?
?
?
det(A I) = = 0
|
|
|
|
|
|
a
11
a
21
...
a
n1
a
12
a
22
...
a
n2
...a
1n
...a
2n
...
a
nn
|
|
|
|
|
|
A =
?
?
?
2
2
1
2
8
2
1
2
2
?
?
?
?
?
?
?
?
(2 )x 2y + z = 0
2x (8 + )y + 2z = 0
x + 2y + (2 )z = 0
A1 =
?
?
?
3
1
0
2

0
0
0
1
?
?
?
= 0
|
|
|
|
3
1
0
2

0
0
0
1
|
|
|
|
4 + 29 24 = 0
3

2
lo igualamos a cero, para calcular mediante solve, las tres races de . Sustituimos en el cdigo por la variable
simblica w.
>> syms w;
>> A=[2 -2 1;2 -8 2; 1 2 2];
>> A1=A-w*eye(3);
>> y=det(A1)
y =- w^3 - 4*w^2 + 29*w - 24
>> r=solve(y)
r =
1
3
-8
Los valores propios son distintos

1
=1,
2
=3 y
3
=-8
Para calcular el vector propio V
1
correspondiente al valor propio
1
, sustitumos el valor de la variable en la
matriz A1 y se la pasamos a la funcin rref de MATLAB
>> B=subs(A1,w,r(1))
B =
[ 1, -2, 1]
[ 2, -9, 2]
[ 1, 2, 1]
>> rref(B)
ans =
[ 1, 0, 1]
[ 0, 1, 0]
[ 0, 0, 0]
Tenemos el sistema equivalente al de tres las ecuaciones homogneas con tres incgnitas
El vector propio es (x, 0,-x) por ejemplo V
1
=[1; 0; -1]
Calculamos el vector propio V
2
correspondiente al valor propio
2
>> B=subs(A1,w,r(2))
B =
[ -1, -2, 1]
[ 2, -11, 2]
[ 1, 2, -1]
>> rref(B)
ans =
[ 1, 0, -7/15]
[ 0, 1, -4/15]
[ 0, 0, 0]
Tenemos el sistema equivalente
El vector propio es V
2
=[7; 4; 15]
Calculamos el vector propio V
3
correspondiente al valor propio
3
>> B=subs(A1,w,r(3))
B =
[ 10, -2, 1]
[ 2, 0, 2]
[ 1, 2, 10]
>> rref(B)
ans =
[ 1, 0, 1]
[ 0, 1, 9/2]
[ 0, 0, 0]
Tenemos el sistema equivalente
El vector propio es V
3
=[2; 9;-2]
Los valores propios se colocan en la diagonal principal de la matriz D, y los vectores propios correspondientes se
{
x + z = 0
y = 0
?
?
?
?
?
?
?
x z = 0
7
15
y z = 0
4
15
?
?
?
x + z = 0
y + z = 0
9
2
colocan como vectores columnas de la matriz V.
Comprobamos que el resultado de V
-1
A V es una matriz diagonal D formada por los valores propios
>> V=[1 7 2; 0 4 9; -1 15 -2];
>> D=inv(V)*A*V
D =
1.0000 -0.0000 -0.0000
0 3.0000 0
0.0000 0 -8.0000
Valores propios iguales
Vamos a calcular los valores propios y vectores propios de la matriz
Estudiamos el sistema lineal homogneo (A-I)X=0 de tres ecuaciones con tres incgnitas
Igualamos a cero el determinante de la matriz A1 y calculamos las races de la ecuacin cbica en
>> syms w;
>> A=[3 2 0;-1 0 0; 0 0 1];
>> A1=A-w*eye(3)
A1 =
[ 3 - w, 2, 0]
[ -1, -w, 0]
[ 0, 0, 1 - w]
>> y=det(A1)
y =- w^3 + 4*w^2 - 5*w + 2
>> r=solve(y)
r =
1
1
2
Dos valores propios son iguales

1
=1,
2
=1 y
3
=2
Calculamos los vectores propios V
1
y V
2
correspondienets al valor propio doble
1
=1
>> B=subs(A1,w,r(1))
B =
[ 2, 2, 0]
[ -1, -1, 0]
[ 0, 0, 0]
>> rref(B)
ans =
[ 1, 1, 0]
[ 0, 0, 0]
[ 0, 0, 0]
Tenemos el sistema equivalente
D =
?
?
?
1
0
0
0
3
0
0
0
8
?
?
?
V =
?
?
?
1
0
1
7
4
15
2
9
2
?
?
?
A =
?
?
?
3
1
0
2
0
0
0
0
1
?
?
?
?
?
?
?
?
(3 )x + 2y = 0
x y = 0
(1 )z = 0
A1 =
?
?
?
3
1
0
2

0
0
0
1
?
?
?
= 0
|
|
|
|
3
1
0
2

0
0
0
1
|
|
|
|
+ 4 5 + 2 = 0
3

2
Los vectores propios correspondientes al vector propio
1
=1, tienen la forma (-y,y,z). Dos de ellos podran ser
V
1
=[-1; 1; 0] y V
2
=[0; 0;1].
Calculamos el vector propio V
3
correspondiente al valor propio
3
>> B=subs(A1,w,r(3))
B =
[ 1, 2, 0]
[ -1, -2, 0]
[ 0, 0, -1]
>> rref(B)
ans =
[ 1, 2, 0]
[ 0, 0, 1]
[ 0, 0, 0]
Tenemos el sistema equivalente
El vector propio es de la forma (-2y, y, 0), por ejemplo V
3
=[-2; 1; 0]
Los valores propios se colocan en la diagonal principal de la matriz D, y los vectores propios correspondientes se
colocan como vectores columnas de la matriz V.
Comprobamos que el resultado de V
-1
A V es una matriz diagonal D formada por los valores propios
>> V=[-1 0 -2; 1 0 1; 0 1 0];
>> D=inv(V)*A*V
D =
1 0 0
0 1 0
0 0 2
Teorema de Caley-Hamilton.
Toda matriz verifica su ecuacin caracterstica
>> A=[4 2 1; 2 4 2; 2 4 8];
>> -A^3+16*A^2-66*A+72*eye(3)
ans =
0 0 0
0 0 0
0 0 0
>> p=poly(A)
p = 1.0000 -16.0000 66.0000 -72.0000
>> polyvalm(p,A)
ans =
1.0e-012 *
0.0142 0.0284 0.0568
0.0284 0.0568 0.0711
0.1137 0.1421 0.1563
Cuando se le pasa una matiz cuadrada A a la funcin poly, devuelve los coeficientes de su ecuacin caracterstica.
La funcin polyvalm es similar a polyval, pero con matrices en vez de con nmeros, realiza las operaciones con
la matriz A que se indican en la segunda lnea, con lo que se confirma que la matriz A verifica su ecuacin
caracterstica.
{x + y = 0
{
x + 2y = 0
z = 0
D =
?
?
?
1
0
0
0
1
0
0
0
2
?
?
?
V =
?
?
?
1
1
0
0
0
1
2
1
0
?
?
?
A =
?
?
?
4
2
2
2
4
4
1
2
8
?
?
?
+ 16 66 + 72 = 0
3

2
+ 16 66A+ 72I = 0 A
3
A
2
La funcin eig
MATLAB dispone de la funcin [V D]=eig(A), que calcula los valores y vectores propios y que hemos aplicado
en la pgina Valores y Vectores propios
La matriz V contiene los vectores propios en columnas, y la matriz diagonal D contiene los valores propios
correspondientes en la diagonal principal. Se puede verificar que D=V
-1
A V
1.-Hallar los valores propios y vectores propios de la matriz
>> A=[3 2 -2; -3 -1 3; 1 2 0];
>> [V D]=eig(A)
V =
0.5774 -0.7071 -0.0000
-0.5774 0.0000 0.7071
0.5774 -0.7071 0.7071
D =
-1.0000 0 0
0 1.0000 0
0 0 2.0000
>> inv(V)*A*V
ans =
-1.0000 0 0.0000
0.0000 1.0000 0
0.0000 0 2.0000
Los valores propios son
1
=-1,
2
=1,
3
=2,
Los vectores propios son los vectores columna de la matriz V correspondientes a cada valor propio
Para
1
=-1, V
1
=[0.5774;-0.5774;0.5774] o bien V
1
=[1;-1;1]
Para
2
=1, V
2
=[-0.7071;0.0000;-0.7071] o bien V
2
=[-1;0;-1]
Para
3
=2, V
3
=[-0.0000;0.7071;0.7071] o bien V
3
=[0;1;1]
Comprobamos que D=V
-1
AV
2.-Hallar los valores propios y vectores propios de la matriz
>> A=[1 0 1 0; 0 1 -2 0; 1 -2 5 0; 0 0 0 6];
>> [V D]=eig(A)
V =
-0.4082 0.8944 0.1826 0
0.8165 0.4472 -0.3651 0
0.4082 0 0.9129 0
0 0 0 1.0000
D =
-0.0000 0 0 0
0 1.0000 0 0
0 0 6.0000 0
0 0 0 6.0000
Los valores propios son
1
=0,
2
=1,
3
=6,
4
=6
Los vectores propios son los vectores columna de la matriz V correspondientes a cada valor propio
Para
1
=0, V
1
=[-0.4082;0.8165;0.4082;0] o bien V
1
=[-1;2;1;0]
Para
2
=1, V
2
=[0.8944;0.4472;0;0] o bien V
2
=[2;1;0;0]
Para
3
=6, V
3
=[0.1826; -03651; 0.9129; 0] o bien V
3
=[1;-2;5;0]
Aunque el valor propio
4
=6 es doble, la funcin eig de MATLAB determina correctamente los vectores propios
linealmente independientes. La matriz V de la vectores propios es
?
?
?
3
3
1
2
1
2
2
3
0
?
?
?
V =
?
?
?
1
1
1
1
0
1
0
1
1
?
?
?
A =
?
?
?
?
?
1
0
1
0
0
1
2
0
1
2
5
0
0
0
0
6
?
?
?
?
?
3.-Hallar los valores propios y vectores propios de la matriz
>> A=sym('[4 2 1; 2 4 2; 2 4 8]');
>> [V D]=eig(A)
V =
[ 2^(1/2)/2 + 1, 1 - 2^(1/2)/2, -1]
[ - 2^(1/2) - 1, 2^(1/2) - 1, -1/2]
[ 1, 1, 1]
D =
[ 6 - 3*2^(1/2), 0, 0]
[ 0, 3*2^(1/2) + 6, 0]
[ 0, 0, 4]
La matriz diagonal D de los vectores propios es
La matriz V de los valores propios es
Diagonalizacin
Una matriz A se dice que es diagonal si los elementos no pertenecientes a la diagonal principal son todos nulos.
Para que una matriz A sea diagonalizable es preciso que el rango de la matriz R obtenida sustituyendo en
R=A-
i
I el valor de
i
considerado sea igual a n-k
i
siendo n la dimensin de la matriz A y k
i
el orden de
multiplicidad del valor propio
i.
I se denomina matriz identidad, una matriz diagonal cuyos elementos valen 1.
Estudiar para qu valores de a y b la matriz A es digonalizable
>> syms a b;
>> A=[5 0 0; 0 -1 b; 3 0 a];
>> [V D]=eig(A)
V =
[ 0, 5/3 - a/3, 0]
[ 1, b/6, b/(a + 1)]
[ 0, 1, 1]
D =
[ -1, 0, 0]
[ 0, 5, 0]
[ 0, 0, a]
Los valores propios son
1
=-1,
2
=5,
3
=a
1.-Si a5 y a-1 los valores popios son diferentes y la matriz es diagonalizable. Los vectores propios seran
Para
1
=-1, V
1
=[0; 1;0]
Para
2
=5, V
2
=[(5-a)/3; b/6; 1] o bien V
2
=[10-2a; b; 6]
Para
3
=a, V
3
=[0; b/(a+1); 1] o bien V
3
=[0; b; a+1]
V =
?
?
?
?
?
1
2
1
0
2
1
0
0
1
2
5
0
0
0
0
1
?
?
?
?
?
A =
?
?
?
4
2
2
2
4
4
1
2
8
?
?
?
D =
?
?
?
6 3 2
0
0
0
6 + 3 2
0
0
0
4
?
?
?
V =
?
?
?
?
?
?
?
1 +
2
2
1 2
1
1
2
2
1 + 2
1
1

1
2
1
?
?
?
?
?
?
?
A =
?
?
?
5
0
3
0
1
0
0
b
a
?
?
?
V =
?
?
0
1
10 2a
b
0
b
?
?
2.-Si a=5
Los valores propios son
1
=-1,
2
=5,
3
=5, uno de ellos se repite
Calculamos el rango de la matriz R=A-I, con =5, y debera dar 3-2=1 para que la matriz fuera diagonalizable,
donde n=3 es la dimensin de la matriz A y k=2 es el grado de multiplicidad del valor propio considerado =5,
>> A1=subs(A,a,5)
A1 =
[ 5, 0, 0]
[ 0, -1, b]
[ 3, 0, 5]
>> R=A1-5*eye(3)
R =
[ 0, 0, 0]
[ 0, -6, b]
[ 3, 0, 0]
>> rank(R)
ans =2
Cualquiera que sea el valor de b, el rango de la matriz R=A-I, con =5 es dos, y por tanto la matriz A no es
diagonalizable para a=5.
3.-Si a=-1
Los valores propios son
1
=-1,
2
=-1,
3
=5, uno de ellos se repite
Calculamos el rango de la matriz R=A-I, con =-1, y debera dar 3-2=1 para que la matriz fuera diagonalizable,
donde n=3 es la dimensin de la matriz A y k=2 es el grado de multiplicidad del valor propio considerado =-1,
>> A1=subs(A,a,-1);
>> R=A1+eye(3)
R =
[ 6, 0, 0]
[ 0, 0, b]
[ 3, 0, 0]
>> rank(R)
ans =2
>> R1=subs(R,b,0)
R1 =
6 0 0
0 0 0
3 0 0
>> rank(R1)
ans = 1
Si b0 entonces el rango de la matriz R es 2, y la matriz A no es diagonalizable, la misma situacin que con
a=5.
Si b=0, el rango de la matriz R es uno y por tanto la matriz A es diagonalizable.
?
0 6 a + 1
?
Rectas y planos
Recta en el espacio (3D)
Una recta viene determinada por un punto A (x
0
,y
0
,z
0
) y un vector u, cuya direccin es la recta que pasa por los
puntos A y P (x,y,z). Llamando v al vector de origen A y extremo P, tendremos que
Considrese la recta r que pasa por el punto A (2,1,3) y tiene por vector director u (-1,1,2). Sus ecuaciones
paramtricas son
El punto P(1,2,3) no est en la recta, pues el sistema
es incompatible. En cambio, el punto Q(-1,4,9) si est en la recta
t=-0.5:0.1:3.5;
hold on
plot3(2-t,1+t,3+2*t)
plot3(2,1,3,'ro','markersize',4,'markerfacecolor','r');
plot3(1,2,3,'bo','markersize',4,'markerfacecolor','b');
plot3(-1,4,9,'bo','markersize',4,'markerfacecolor','b');
grid on
xlabel('x')
ylabel('y')
zlabel('z')
title('Lnea')
hold off
view(120,30)
En la figura, vemos el punto A de color rojo, los puntos P y Q de color azul, P no pertenece a la recta y Q si
pertenece.
Seleccionado en el men Tools/Rotate 3D o el icono, sealado en color rojo
v = tu
?
?
?
?
?
x = + t x
0
u
x
y = + t y
0
u
y
z = + t z
0
u
z
?
?
?
?
?
x = 2 t
y = 1 + t
z = 3 + 2t
?
?
?
?
?
2 t = 1
1 + t = 2
3 + 2t = 3
?
?
?
?
?
t = 1
t = 1
t = 0
?
?
?
?
?
2 t = 1
1 + t = 4
3 + 2t = 9
?
?
?
?
?
t = 3
t = 3
t = 3
con el ratn podemos establecer distintas vistas view de la figura tridimensional. A medida que actuamos con el
puntero del ratn, en la parte inferior izquierda de la ventana, se muestran dos nmeros Az: y El: que
corresponden a los parmetros del comando view.
La eliminacin del parmetro t da lugar a un sistema de dos ecuaciones lineales independientes
Por ejemplo, las ecuaciones paramtricas de la recta del ejemplo anterior podemos escribirlas, alternativamente
x=-1:0.1:3;
y=3-x;
z=7-2*x;
plot3(x,y,z)
grid on
xlabel('x')
ylabel('y')
zlabel('z')
title('Recta')
view(120,30)
Obtenemos un representacin grfica similar de la recta
En general, escribimos la ecuacin de la recta
donde el rango de la mariz A es dos. En el ejemplo, anterior
>> A=[1,1,0;2,0,1];
>> rank(A)
ans = 2
Recta que pasa por dos puntos
Hallar la ecuacin de la recta que pasa por los puntos, A(2,-1 3) y B(5,0,4),.
= =
x x
0
u
x
y y
0
u
y
z z
0
u
z
2 x = y 1 =
z 3
2
{
x + y = 3
2x + z = 7
{ A = ( )
x + y + z = a
1
b
1
c
1
d
1
x + y + z = a
2
b
2
c
2
d
2
a
1
a
2
b
1
b
2
c
1
c
2
A es el punto de coordenadas (x
0
,y
0
,z
0
) y el vector u tiene origen en A y extremo en B
x
0
=2, y
0
=-1; z
0
=3, u
x
=5-2, u
y
=0-(-1),u
z
=4-3
>> ezplot3('2+3*t','-1+t','3+t',[-1,3])
>> view(120,30)
ezplot3 representa en tres dimensiones una funcin expresada en trminos de un parmetro t: x(t), y(t) y z(t) en el
intervalo 0<t<2, por defecto o bien, en el intervalo [t
min
,t
max
] que se le indique explcitamente.
Plano en el espacio (3D)
Para calcular la ecuacin de un plano en el espacio 3D es necesario conocer un punto A (x
0
,y
0
,z
0
) y dos vectores
u y v linealmente independientes. Llamamos w al vector de origen A y extremo P (x,y,z)
Considrese el plano que pasa por el punto A(2,1,-1) y tiene por vectores directores u (1,-1,2) y v (-1,2,1). Sus
ecuaciones paramtricas son:
tt=-0.5:0.1:1.5;
ss=-0.5:0.1:1.5;
hold on
[s,t]=meshgrid(ss,tt);
mesh(2+t-s,1-t+2*s,-1+2*t+s)
plot3(2,1,-1,'ro','markersize',4,'markerfacecolor','r');
plot3(4,3,-2,'bo','markersize',4,'markerfacecolor','b');
plot3(2,2,2,'bo','markersize',4,'markerfacecolor','b');
grid on
xlabel('x')
ylabel('y')
zlabel('z')
title('Plano')
hold off
view(120,30)
Como podemos apreciar el punto P (4,3,-2) no est en el plano, sin embargo, si lo est el punto Q(2,2,2).
Seleccionado en el men Tools/Data Cursor o el icono, marcado en color rojo
Con el puntero del ratn sealamos un punto en el grfico tridimensional y se nos proporcionan las coordenadas
de dicho punto, tal como vemos en la figura.
?
?
?
?
?
x = 2 + 3t
y = 1 + t
z = 3 + t
w = tu + sv
?
?
?
?
?
x = + t + s x
0
u
x
v
x
y = + t + s y
0
u
y
v
y
z = + t + s z
0
u
z
v
z
?
?
?
?
?
x = 2 + t s
y = 1 t + 2s
z = 1 + 2t + s
El punto P (4,3,-2) no est en el plano por que el rango de la matriz de los coeficientes que es dos
por ser u y v dos vectores linealmente independientes no es igual al rango de la matriz ampliada
>> A=[1,-1;-1,2;2,1];
>> b=[2;2;-3];
>> rank(A)
ans = 2
>> Ab=[A b];
>> rank(Ab)
ans = 3
>> det(Ab)
ans = -19
En el caso del punto Q (2,2,2)
>> A=[1,-1;-1,2;2,1];
>> b=[0;1;3];
>> rank(A)
ans = 2
>> Ab=[A b];
>> rank(Ab)
ans = 2
>> det(Ab)
ans = -1.1102e-015
En general un punto P(x,y,z) pertenecer al plano, si el determinante de la matriz ampliada es cero. Obtenemos la
ecuacin del plano, ax+by+cz+d=0
?
?
?
?
?
4 = 2 + t s
3 = 1 t + 2s
2 = 1 + 2t + s
?
?
?
?
?
t s = 2
t + 2s = 2
2t + s = 3
?
?
?
?
?
2 = 2 + t s
2 = 1 t + 2s
2 = 1 + 2t + s
?
?
?
?
?
t s = 0
t + 2s = 1
2t + s = 3
?
?
?
?
?
t + s = x u
x
v
x
x
0
t + s = y u
y
v
y
y
0
t + s = z u
z
v
z
z
0
= 0
|
|
|
|
|
u
x
u
y
u
z
v
x
v
y
v
z
x x
0
y y
0
z z
0
|
|
|
|
|
| u
y
v
y
| | u v | | u
x
v
x
|
Hallar la ecuacin del plano que pasa por los puntos A(2,1,0), B(1,1,3) y C(0,0,2).
A es el punto de coordenadas (x
0
,y
0
,z
0
), el vector u tiene origen en A y extremo en B, el vector v tiene origen en
A y extremo en C.
x
0
=2, y
0
=1; z
0
=0, u
x
=1-2, u
y
=1-1,u
z
=3-0, v
x
=0-2, v
y
=0-1,v
z
=2-0.
>> syms x y z;
>> A=[-1,-2;0,-1;3,2];
>> b=[x-2;y-1;z];
>> Ab=[A b];
>> det(Ab)
ans =3*x - 4*y + z - 2
La ecuacin del plano es 3x-4y+z-2=0
ezmesh representa en tres dimensiones una funcin expresada en trminos de los parmetros t y s: x(t,s), y(t,s) y
z(t,s) en el intervalo [t
min
,t
max,
s
min
,s
max
].
>> syms t s;
>> ezmesh('2-t-2*s','1-s','3*t+2*s',[-0.5,1.5,-0.5,1.5])
>> view(120,30)
Incidencia y paralelismo
Sean dos planos. Formemos la matriz A y la matriz ampliada Ab
Planos coincidentes
Dos planos coinciden si el rango de la matriz A y de la matriz Ab valen la unidad
Sean los planos: x-2y+z=1 y -3x+6y-3z=-3
>> A=[1,-2,1;-3,6,-3];
>> b=[1;-3];
>> Ab=[A b];
>> rank(A)
ans = 1
>> rank(Ab)
ans = 1
Como podemos apreciar el segundo plano se obtiene multiplicando el primero por -3, por lo que coinciden
Planos paralelos
Dos planos son paralelos si el rango de la matriz A es uno pero no son coincidentes es decir, el rango de la matriz
Ab es dos. Sean los planos: x-2y+z=1 y -2x+4y-2z=6
>> A=[1,-2,1;-2,4,-2];
>> b=[1;6];
>> Ab=[A b];
>> rank(A)
ans = 1
>> rank(Ab)
(x ) (y ) + (z ) = 0
|
|
u
z
v
z
|
| x
0
|
|
x
u
z
x
v
z
|
| y
0
|
|
u
y
v
y |
| z
0
a(x ) + b(y ) + c(z ) = 0 x
0
y
0
z
0
ax + by + cz + d = 0
?
?
?
?
?
x = 2 t 2s
y = 1 s
z = 3t + 2s
= 0
|
|
|
|
1
0
3
2
1
2
x 2
y 1
z
|
|
|
|
{
x + y + z = a
1
b
1
c
1
d
1
x + y + z = a
2
b
2
c
2
d
2
A = ( ) Ab = ( )
a
1
a
2
b
1
b
2
c
1
c
2
a
1
a
2
b
1
b
2
c
1
c
2
d
1
d
2
ans = 2
[x,y] = meshgrid(0:0.1:3);
z = 1-x+2*y;
hold on
mesh(x,y,z)
z = 3-x+2*y;
mesh(x,y,z)
xlabel('x')
ylabel('y')
zlabel('z')
title('Planos paralelos')
grid on
hold off
view(120,30)
Podemos utilizar la funcin ezmesh de MATLAB para hacer una representacin similar
>> hold on
>> ezmesh('1-x+2*y',[-1,2,-1,2])
>> ezmesh('3-x+2*y',[-1,2,-1,2])
>> view(120,30)
>> hold off
Planos que se cortan
Sean los planos: x-y+z=2 y 2x-2y+z=1
Para determinar la recta interseccin de los dos planos eliminamos z entre las dos ecuaciones, se obtiene y=x+1.
Eliminamos y entre las dos ecuaciones, se obtiene z=3
Se representan los planos y la recta interseccin
%dos planos
[x,y] = meshgrid(0:0.1:3);
z = 2-x+y;
hold on
mesh(x,y,z)
z = 1-2*x+2*y;
mesh(x,y,z)
%recta interseccin
x=0:0.1:3;
y=x+1;
z=3*ones(length(x),1);
plot3(x,y,z,'k')
xlabel('x')
ylabel('y')
zlabel('z')
title('Planos que se cortan')
grid on
hold off
view(120,30)
Recta y plano
Sea la recta
donde el rango de la mariz A es dos.
y el plano,
La recta y el plano se denominan incidentes si tienen un punto P en comn, se tiene que cumplir que
Sea la recta y el plano
>> A=[1 1,0;2,0,-1]; %recta
>> rank(A)
ans = 2
>> B=[A;[1,-1,1]]; %recta y plano
>> det(B)
ans = -4
>> b=[1;1;1];
>> X=B\b
X =
0.7500
0.2500
0.5000
Representamos, la recta el plano y el punto de interseccin y vemos sus coordenadas con Tools/Data Cursor
%plano
[x,y] = meshgrid(0:0.1:3);
z = 1-x+y;
{ A = ( )
x + y + z = a
1
b
1
c
1
d
1
x + y + z = a
2
b
2
c
2
d
2
a
1
a
2
b
1
b
2
c
1
c
2
x + y + z = a
3
b
3
c
3
d
3
0
|
|
|
|
a
1
a
2
a
3
b
1
b
2
b
3
c
1
c
2
c
3
|
|
|
|
{
x + y = 1
2x z = 1
x y + z = 1
hold on
mesh(x,y,z)
%recta
mesh(x,y,z)
x=-1:0.1:3;
y=1-x;
z = 2*x-1;
plot3(x,y,z,'r')
%punto de interseccin
B=[1,1,0;2,0,-1;1,-1,1];
b=[1;1;1];
X=B\b
plot3(X(1),X(2),X(3),'bo','markersize',4,'markerfacecolor','b');
xlabel('x')
ylabel('y')
zlabel('z')
title('Recta corta a plano')
grid on
hold off
view(120,30)
Si la recta y el plano no son incidentes se denominan paralelos y pueden ocurrir los siguientes casos:
Sea la matriz B
1. Que la recta est contenida en el plano
El rango de la matriz B ser dos
2. Que la recta no tenga puntos en comn con el plano
El rango de la matriz B ser tres. El determinante
Sea la recta y el plano
Determinar el valor de a para que el plano sea paralelo a la recta.
B =
?
?
?
a
1
a
2
a
3
b
1
b
2
b
3
c
1
c
2
c
3
d
1
d
2
d
3
?
?
?
= 0
|
|
|
|
a
1
a
2
a
3
b
1
b
2
b
3
c
1
c
2
c
3
|
|
|
|
{
2x + y + z = 1
x 2y + z = 1
ax + 6y + 3z = b
>> syms a;
>> C=[2,1,1;1,-2,1;a,6,3];
>> solve(det(C),a)
ans =7
Comprobar que cuando el valor de b=5 el plano contiene a la recta.
El rango de la matriz B tiene que ser dos.
>> B=[2,1,1,1;1,-2,1,-1;7,6,3,5];
>> rank(B)
ans = 2
%plano
[x,y] = meshgrid(-1:0.1:3);
z=(5-7*x-6*y)/3;
hold on
mesh(x,y,z)
%recta
mesh(x,y,z)
x=-1:0.1:3;
y=(2-x)/3;
z =(1-5*x)/3;
plot3(x,y,z,'k')
xlabel('x')
ylabel('y')
zlabel('z')
title('Recta paralela a plano')
grid on
hold off
view(120,30)
Posiciones relativas de dos rectas
Sean dos rectas r
1
y r
2
. Formamos la matriz A de los coeficientes y la matriz Ab ampliada.
{ r
1
x + y + z = a
1
b
1
c
1
d
1
x + y + z = a
2
b
2
c
2
d
2
{ r
2
x + y + z = a
3
b
3
c
3
d
3
x + y + z = a
4
b
4
c
4
d
4
A = Ab =
?
?
?
?
a
1
a
2
a
3
b
1
b
2
b
3
c
1
c
2
c
3
?
?
?
?
?
?
?
?
a
1
a
2
a
3
b
1
b
2
b
3
c
1
c
2
c
3
d
1
d
2
d
3
?
?
?
?
?
a
4
b
4
c
4
? ?
a
4
b
4
c
4
d
4
?
Se pueden producir las situaciones siguientes:
rango Ab\rango A 2 3
2 Coincidentes Imposible
3
Paralelas. No
coincidentes
Secantes
4 Imposible Se cruzan
Las rectas se cruzan
Sean las rectas r
1
y r
2
.
Calculamos el rango de la matriz A y de la matriz ampliada Ab
>> A=[1,1,1;2,-1,1;2,1,1;1,1,2];
>> b=[1;2;1;2];
>> Ab=[A b];
>> rank(A)
ans = 3
>> rank(Ab)
ans = 4
Rectas secantes
>> A=[1,1,1;2,-1,1;1,1,1;1,0,2];
>> b=[1;2;1;2];
>> Ab=[A b];
>> rank(A)
ans = 3
>> rank(Ab)
ans = 3
Vemos que la tercera ecuacin es idntica a la primera. Construimos la matriz de los coeficientes de las
ecuaciones primera, segunda y cuarta, y el vector de los trminos independientes de estas tres ecuaciones.
Obtenemos el punto de interseccin mediante el operador divisin por la izquierda.
>> A=[1,1,1;2,-1,1;1,0,2];
>> b=[1;2;2];
>> X=A\b
X =
0.5000
-0.2500
0.7500
Representamos las rectas y obtenemos las coordendas del punto de interseccin mediante Tools/Data Cursor
{ { r
1
x + y + z = 1
2x y + z = 2
r
2
2x + y + z = 1
x + y + 2z = 2
{ { r
1
x + y + z = 1
2x y + z = 2
r
2
x + y + z = 1
x + 2z = 2
x=-2:0.1:2;
%primera recta
y=(x-1)/2;
z=3*(1-x)/2;
hold on
plot3(x,y,z,'r')
%segunda recta
y=-x/2;
z=(2-x)/2;
plot3(x,y,z,'k')
%Punto de interseccin
A=[1,1,1;2,-1,1;1,0,2];
b=[1;2;2];
X=A\b
plot3(X(1),X(2),X(3),'bo','markersize',4,'markerfacecolor','b');
grid on
xlabel('x')
ylabel('y')
zlabel('z')
title('Dos rectas')
hold off
view(120,30)
Rectas paralelas
>> A=[1,1,1;2,-1,1;1,1,1;1,4,2];
>> b=[1;2;1;2];
>> Ab=[A b];
>> rank(A)
ans = 2
>> rank(Ab)
ans = 3
{ { r
1
x + y + z = 1
2x y + z = 2
r
2
x + y + z = 1
x + 4y + 2z = 2
x=-2:0.1:2;
%primera recta
y=(x-1)/2;
z=3*(1-x)/2;
hold on
plot3(x,y,z,'r')
%segunda recta
y=x/2;
z=(2-3*x)/2;
plot3(x,y,z,'b')
grid on
xlabel('x')
ylabel('y')
zlabel('z')
title('Dos rectas')
hold off
view(120,30)
Angulos y distancias
Distancia entre dos puntos
Calcular la distancia entre los puntos A (1,2,3) y B (4,-1,3)
La distancia entre dos puntos es el mdulo del vector diferencia de los vectores u-v
>> u=[1,2,3];
>> v=[4,-1,3];
>> norm(u-v)
ans = 4.2426
Vector normal a un plano
Primero calculamos la ecuacin del plano que pasa por un punto A y es perpendicular a un vector n tal como se
muestra en la figura. El vector u va del punto P(x,y,z) y el punto A(x
0
,y
0
,z
0
)
El producto escalar de los vectores n y u deber ser cero.
u=(x-x
0
)i+(y-y
0
)j+(z-z
0
)k
n=ai+bj+ck
u n=a(x-x
0
)+b(y-y
0
)+c(z-z
0
)=0
ax+by+cz=d
que es la ecuacin del plano. Las componentes del vector n normal al plano son los coeficientes a, b, c de x, y y z
en la ecuacin del plano. El vector unitario normal al plano es
d = + + ( ) x
2
x
1
2
( ) y
2
y
1
2
( ) z
2
z
1
2

Angulo entre dos planos


El producto escalar nos permite determinar el ngulo entre dos vectores u y v.
Si n
1
y n
2
son los vectores perpendiculares a cada uno de los dos planos, el ngulo entre estos dos vectores es el
mismo que el ngulo entre los dos planos. El ngulo entre los dos planos se calcula mediante la siguiente
frmula
Calcular el ngulo determinado por los planos: x+2y-z=0, x-y+z=3.
>> n1=[1,2,-1];
>> n2=[1,-1,1];
>> coseno=abs(dot(n1,n2)/(norm(n1)*norm(n2)));
>> ang=acosd(coseno)
ang = 61.8745
Angulo entre una recta y un plano
Sea n un vector perpendicular al plano y sea u un vector cuya direccin es la recta. El ngulo entre el plano y la
recta es el complementario al ngulo entre los vectores n y u.
Calcular el ngulo entre le plano x+y+z=0, y la recta: x=1+t, y=1+2t, z=1+4t.
>> n=[1,1,1];
>> u=[1,2,4];
>> coseno=abs(dot(n,u)/(norm(n)*norm(u)))
coseno = 0.8819
>> ang=90-acosd(coseno)
ang = 61.8745
= + + n
a
+ + a
2
b
2
c
2

b
+ + a
2
b
2
c
2

c
+ + a
2
b
2
c
2

u v = u v cos
u v = + + u
x
v
x
u
y
v
y
u
z
v
z
cos =
u v
u v
x + y + z = = + + a
1
b
1
c
1
d
1
n
1
a
1
i

b
1
j

c
1
k

x + y + z = = + + a
2
b
2
c
2
d
2
n
2
a
2
i

b
2
j

c
2
k

cos =
|
|
|
n
1
n
2
n
1
n
2
|
|
|
ax + by + cz = dn = a + b + c i

?
?
?
?
?
x = + t x
0
u
x
y = + t y
0
u
y
z = + t z
0
u
z
cos ( ) =

2
|
|
n u
n u
|
|
Calculamos la interseccin entre el plano y la recta, de ecuaciones
En la figura, vemos el plano, la recta en color rojo, el vector perpendicular al plano en color azul y el punto de
interseccin de coordendas x=0.5714, y=0.1429, z=-0.7143.
%plano
[x,y] = meshgrid(-1:0.1:1);
z = -x-y;
hold on
mesh(x,y,z)
%recta
x=0.5:0.1:1;
y=2*x-1;
z=4*x-3;
plot3(x,y,z,'r')
%punto de interseccin
B=[1,1,1;2,-1,0;4,0,-1];
b=[0;1;3];
X=B\b
plot3(X(1),X(2),X(3),'bo','markersize',4,'markerfacecolor','b');
quiver3(X(1),X(2),X(3),1,1,1) %vector normal al plano
xlabel('x')
ylabel('y')
zlabel('z')
title('Recta corta a plano')
grid on
hold off
view(120,30)
Distancia de un punto a un plano
Distancia de un plano al origen
Queremos calcular la distancia h del origen O al plano de ecuacin ax+by+cz=d. Tomemos un punto P (x,y,z) del
plano,
La distanacia h del origen al plano (segmento en color rojo) es la proyeccin del vector u=xi+yj+zk a lo largo de
la direccin del vector unitario n normal al plano, tal como apreciamos en la figura
x + y + z = 0
{
2x y = 1
4x z = 3
Distancia de un punto a un plano
La distancia h del punto A (x
1
,y
1
,z
1
) al plano de ecuacin ax+by+cz=d (segmento en color rojo), es la diferencia
entre la proyeccin del vector u a lo largo de la direccin n, (segmento OQ) y la distancia del origen a dicho
plano, (segmento OM). h=|OQ|-|OM|
Calcular la distancia h del punto A (1,3,-2) al plano x-y+z=1
>> n=[1,-1,1];
>> u=[1,3,-2];
>> d=1;
>> h=abs((dot(n,u)-d)/norm(n))
h = 2.8868
Utilizando variables simblicas
>> n=sym('[1,-1,1]');
>> u=sym('[1,3,-2]');
>> d=sym('1');
>> h=abs((dot(n,u)-d)/sqrt(dot(n,n)))
h =(5*3^(1/2))/3
El mdulo de un vector que se calcula con la funcin norm no funciona con variables simblicas, se utiliza la
operacin equivalente: la raz cuadrada sqrt del producto escalar dot de un vector consigo mismo.
h = u = x + y + z = n
a
+ + a
2
b
2
c
2

b
+ + a
2
b
2
c
2

c
+ + a
2
b
2
c
2

d
+ + a
2
b
2
c
2

h = u d = + + = n
a
+ + a
2
b
2
c
2

x
1
b
+ + a
2
b
2
c
2

y
1
c
+ + a
2
b
2
c
2

z
1
d
+ + a
2
b
2
c
2

a + b + c d x
1
y
1
z
1
+ + a
2
b
2
c
2

Distancia de un punto a una recta


Queremos calcular la distancia h desde el punto A (x
1
,y
1
,z
1
) a la recta. Sea u un vector cuya direccin es la la
recta y v el vector con origen en un punto P (x
0
,y
0
,z
0
) de la recta y extremo en el punto A.
v=(x
1
-x
0
)i+(y
1
-y
0
)j+(z
1
-z
0
)k.
Calcular la distancia entre el punto A (1,2,3) y la recta
El vector u=2i+3j+5k
El vector v=(1-1)i+(2-1)j+(3-4)k=j-k
>> u=[2,3,5];
>> v=[0,1,-1];
>> h=norm(cross(u,v))/norm(u)
h = 1.3765
Utilizando variables simblicas
>> u=sym('[2,3,5]');
>> v=sym('[0,1,-1]');
>> u_v=cross(u,v);
>> h=sqrt(dot(u_v,u_v)/dot(u,u))
h =(6*19^(1/2))/19
Distancia entre dos rectas que se cruzan
En la figura se muestra cmo se calcula un rea a partir del mdulo del producto vectorial de los vectores u y v.
rea=ud=u v sin=|uv|
h = v sin =
|u v|
u
?
?
?
?
?
x = 1 + 2t
y = 1 + 3t
z = 4 + 5t
El volumen de un paraleppedo formado por tres vectores u,v y w, es igual al rea de la base |uv| por la altura
h=w cos. El mdulo del producto mixto (uv) w.
Si r
1
y r
2
son dos rectas que se cruzan. Denominamos w al vector de origen P (x
1
,y
1
,z
1
) en la recta r
1
y extremo Q
(x
2
,y
2
,z
2
) en la recta r
2
. El volumen del paraleppedo formado por los vectores u,v y w es el mdulo del producto
mixto (uv) w. Por otra parte, el volumen del paraleppedo es igual al producto del rea de la base |uv| por la
altura h que es la distancia entre las dos rectas que se cruzan.
Calcular la distancia h entre las rectas que se cruzan
Comprobamos que se cruzan
>> A=[3,-2,0;1,0,-1;2,-1,0;3,0,-1];
>> b=[-1;0;2;4];
>> Ab=[A b];
>> rank(A)
ans = 3
>> rank(Ab)
ans = 4
Definimos los vectores u,v y w.
u=2i+3j+2k, de la recta r
1
v=i+2j+3k, de la recta r
2
El punto P de la recta r
1
es (1,2,1). El punto Q de la recta r
2
es (2,2,2). El vector w de origen P y extremo Q es
w=i+k,
>> u=[2,3,2];
r
1
?
?
?
?
?
x = 1 + 2t
y = 2 + 3t
z = 1 + 2t
r
2
?
?
?
?
?
x = 2 + t
y = 2 + 2t
z = 2 + 3t
{ { r
1
3x 2y = 1
x z = 0
r
2
2x y = 2
3x z = 4
h =
|(u v) w|
|u v|
>> v=[1,2,3];
>> w=[1,0,1];
>> h=abs(dot(w,cross(u,v)))/norm(cross(u,v))
h = 0.9258
Utilizando variables simblicas
>> u=sym('[2,3,2]');
>> v=sym('[1,2,3]');
>> w=sym('[1,0,1]');
>> u_v=cross(u,v);
>> h=abs(dot(w,u_v))/sqrt(dot(u_v,u_v))
h =42^(1/2)/7
Referencias
Matemticas. Curso de Orientacin Universitaria. Joaqun Arregui Fernndez, Javier Lafuente Lpez, Isabel
Morales Gonzlez, Francisco Padilla Garvi. Editorial Magisterio Espaol S.A. (1978)
Lmites, derivadas.
En esta pgina, vamos realizar el estudio completo de una funcin
Lmites
Calcular el lmite
Lmites indeterminados de la forma 0/0 o /. Regla de L'Hpital
Otras formas indeterminadas son 0 y - que se transforman en 0/0 o /.
Ejemplos:
>> sym x a;
>> y=(x^2+2*x-1)/(x^2+1);
>> limit(y,x,1)
ans =1
>> limit(sin(a*x)/x,x,0) % alternativamente, limit(sin(a*x)/x)
ans =a
>> limit((1+a/x)^x,x,inf) %alternativamente, limit((1+a/x)^x,inf)
ans =exp(a)
>> y=1/(sin(x)^2)-1/x^2;
>> limit(y,x,0)
ans =1/3
>> y=cos(2*x)^(3/x^2);
>> limit(y,x,0)
ans =1/exp(6)
inf representa en MATLAB el infinito, x representa la variable respecto de la cual se calcula el lmite. La funcin
limit requiere tres parmetros pero asume valores por defecto, como puede probarse en los comentarios al
cdigo..
La derivada de una funcin f(x) es el lmite
La derivada de y=sin(x) es y'=cos(x)
>> syms x h;
>> limit((sin(x+h)-sin(x))/h,h,0)
ans =cos(x)
De forma alternativa, podemos calcular las derivadas definiendo la funcin f(x) como funcin annima y
aplicando la definicin de derivada.
>> syms x h;
>> f=@(x) sin(x)
( ) = 1 lim
x1
+ 2x 1 x
2
+ 1 x
2
= lim
xa
f(x)
g(x)
lim
xa
f'(x)
g'(x)
= = a lim
x0
sin(ax)
x
lim
x0
acos(ax)
1
( ) lim
x0
1
x sin
2
1
x
2
lim
x
(1 + )
a
x
x
lim
x0
(cos(2x))
3/x
2
f'(x) = lim
h0
f(x + h) f(x)
h
>> limit((f(x+h)-f(x))/h,h,0)
ans =cos(x)
Definimos la funcin annima f(x) con cualquier expresin y podemos calcular su derivada.
Lmites por la izquierda y por la derecha
>>syms x;
>> limit(x/abs(x),x,0,'left')
ans =-1
>> limit(x/abs(x),x,0,'right')
ans =1
Derivada de una funcin
La funcin diff calcula la derivada de una funcin respecto a una variable x. Por defecto, calcula la derivada
primera, pero tambin puede calcular la derivada segunda, tercera, etc., indicndoselo en su segundo argumento.
>> syms x;
>> y=(sin(x))^2;
>> yp=diff(y)
yp =2*cos(x)*sin(x)
>> ypp=diff(yp)
ypp =2*cos(x)^2 - 2*sin(x)^2
>> diff(y,2)
ans =2*cos(x)^2 - 2*sin(x)^2
Derivadas parciales (respecto de una variable)
>> syms x y;
>> diff(x*sin(x*y),x)
ans =sin(x*y) + x*y*cos(x*y)
>> diff(x*sin(x*y),y)
ans =x^2*cos(x*y)
Comprobar que la funcin es la solucin de la ecuacin diferencial que describe las
oscilaciones amortiguadas, donde A y b son constantes que se determinan a partir de las condiciones iniciales
(posicin inicial y velocidad inicial).
>> syms x A b;
>> y=A*exp(-2*x)*cos(3*x+b);
>> diff(y,2)+4*diff(y)+13*y
ans =0
Representacin grfica
ezplot('f(x)',[xmin xmax]) representa grficamente una funcin f(x) en el intervalo especificado [xmin xmax].
Representamos la funcin
en el intervalo [0 5].
>> syms x;
>> ezplot('exp(-0.3*x)*cos(4*x)',[0 5*pi -1 1])
= 1 = 1 lim
x0

x
|x|
lim
x0
+
x
|x|
y = A cos(3x + b) e
2x
+ 4 + 13y = 0
y d
2
dx
2
dy
dx
y = cos(4x) e
0.3x
Estudio de una funcin
Sea la funcin
La representamos grficamente
>> syms x;
>> y=x^2/(x^2-x-6);
>> ezplot(y,[-10 10])
y =
x
2
x 6 x
2
Puntos de corte con el eje X
son las races de la ecuacin
El nico punto de corte es (0,0)
>> solve(y)
ans =
0
0
Asntotas
La asntota horizontal se calcula tomando el lmite de f(x) cuando x se aproxima al infinito positivo
>> limit(y,inf)
ans =1
La asntota horizontal es la recta de ecuacin y=1
Las asntotas verticales se encuentran buscando las races del denominador, es decir resolviendo la ecuacin
x
2-
x-6=0
>> solve(x^2-x-6)
ans =
3
-2
Las asntotas verticales son las rectas de ecuacin x=3, x=-2.
Mximos, mnimos y puntos de inflexin
Los extremos de un funcin se calculan haciendo la derivada de la funcin igual a cero.
>> yp=diff(y)
yp =- (2*x)/(- x^2 + x + 6) - (x^2*(2*x - 1))/(- x^2 + x + 6)^2
>> solve(yp)
ans =
= 0
x
2
x 6 x
2
= 1 lim
x+
x
2
x 6 x
2
y' = =
2x( x 6) (2x 1) x
2
x
2
( x 6) x
2
2
x(x 12)
( x 6) x
2
2
0
-12
Para determinar si es un mximo o un mnimo, calculamos la derivada segunda y determinamos su signo para
x=0 y x=-12.
Para determinar los puntos de inflexin igualamos la derivada segunda a cero y obtenemos las races
>> ypp=diff(y,2)
ypp =
- 2/(- x^2 + x + 6) - (2*x^2)/(- x^2 + x + 6)^2 - (2*x^2*(2*x - 1)^2)...
/(- x^2 + x + 6)^3 - (4*x*(2*x - 1))/(- x^2 + x + 6)^2
>> simplify(ypp)
ans =18/(5*(x - 3)^3) - 8/(5*(x + 2)^3)
>> subs(ypp,x,0)
ans = -0.3333
>> subs(ypp,x,-12)
ans = 5.3333e-004
>> solve(ypp) %puntos de inflexin
ans =
- 6/7 + (6*6^(1/2)*i)/7
- 6/7 - (6*6^(1/2)*i)/7
Para x=0, y''<0 hay un mximo
Para x=-12, y''>0 hay un mnimo
La curva no tiene puntos de inflexin, la ecuacin y''=0, no tiene races reales.
Creamos el script func_estudio, para dibujar la funcin, los ejes y las asntotas.
syms x;
y=x^2/(x^2-x-6);
hold on
ezplot(y,[-15 10])
asint=limit(y,inf);
raices=solve('x^2-x-6');
line([-15 10],[0 0]) %eje horizontal
line([0 0],[-5 10]) %eje vertical
plot([-15 10],[asint asint],'g') %asntota horizontal
plot(raices(1)*[1 1],[-5 10],'r') %asntotas verticales
plot(raices(2)*[1 1],[-5 10],'r')
hold off
Ejercicio
y'' =
2(7 + 12x + 36) x
2
( x 6) x
2
3
La ley de distribucin de las velocidades moleculares de Maxwell es
La expresin de v
max
corresponde a la velocidad de las molculas para la cual la funcin presenta un mximo y
est directamente relacionada con la temperatura absoluta T.
Calcular la velocidad v
max
de las molculas para la cual la funcin presenta un mximo
Calcular el valor de esta velocidad para las molculas de oxgeno: m=5.3 10
-26
kg, T=300 K, k=1.38 10
-23
J/K
Representar la funcin f(v) para las molculas de oxgeno en el intervalo (0, 1500) m/s.
>> syms m v k T pi;
>> y=sqrt((2/pi)*(m/(k*T))^3)*v^2*exp(-m*v^2/(2*k*T));
>> yp=diff(y,v);
>> simplify(yp)
ans =(2^(1/2)*v*(2*T*k - m*v^2)*
(m^3/(T^3*k^3))^(1/2))/(pi^(1/2)*T*k*exp((m*v^2)/(2*T*k)))
>> vp=solve(yp)
vp =
0
(2^(1/2)*(T*k*m)^(1/2))/m
-(2^(1/2)*(T*k*m)^(1/2))/m
>> subs(vp(2),{m,k,T},{5.3e-26,300,1.38e-23})
ans = 395.2549
>> yy=subs(y,{m,k,T},{5.3e-26,300,1.38e-23})
>> ezplot(yy,[0 1500])
>> title('ley de distribucin de las velocidades moleculares de Maxwell')
>> xlabel('v')
>> ylabel ('y')
>> grid on
Funciones implcitas
La funcin MATLAB ezplot puede representar tambin funciones implcitas f(x,y)=0
La siguiente funcin se estudia en la asignatura Energa Solar Fotovoltaica (tercer curso).
Donde x representa la diferencia de potencial e y la intensidad de la corriente elctrica..
f(v) = exp( )
2

( )
m
kT
3

v
2
mv
2
2kT
= v
mx
2kT
m

y = 3 5 (exp( ) 1) 10
12
x + 0.01y
0.025
x + 0.01y
1000
Representamos la funcin f(x,y) el intervalo [0,0.7] en el eje X y en el intervalo [0,3.1] en el eje Y
>> eq='3-5e-12*(exp((x+y*0.01)/0.025)-1)-(x+y*0.01)/1000-y';
>> hg=ezplot(eq,[0,0.7,0,3.1]);
>> set(hg,'color','r')
>> grid on
>> xlabel('d.d.p. V')
>> ylabel('Intensidad')
>> title('Fotovoltaica')
Ejercicio: representar la funcin x
3
+xy+y
2
-36=0 en el intervalo [-7,7] en el eje X y en el intervalo [-10,10] en el
eje Y
Series. Integrales
Series
La funcin symsum(f,a,b) suma la expresin f a medida que la variable simblica vara de a a b.
>> symsum(k^2,1,5)
ans =55
>> syms k N;
>> symsum(k,0,N)
ans =(N*(N + 1))/2
>> symsum(k^2,0,N)
ans =(N*(2*N + 1)*(N + 1))/6
>> syms x k
>> symsum(x^k/sym('k!'),k,0,inf)
ans =exp(x)
Dado que hay dos variables simblicas x y k, especificamos en el segundo parmetro de la funcin sysmsum que
la suma se refiere a k
>> syms k x;
>> f=(-1)^k*x^(2*k+1)/sym('(2*k+1)!');
>> symsum(f,k,0,inf)
ans =sin(x)
Probar los siguientes resultados
Desarrollo en serie de Taylor
La frmula general del desarrollo en serie de la funcin f(x) alrededor de x=a es
s = = + + + + = 55
k=1
5
k
2
1
2
2
2
3
2
4
2
5
2
k = =
k=0
N
N(N + 1)
2

k=0
N
k
2
N(N + 1)(2N + 1)
6
=
k=0

x
k
k!
e
x
sin(x) = x + + ... =
1
3!
x
3
1
5!
x
5
1
7!
x
7

k=0

(1)
k
(2k + 1)!
x
2k+1
=
k=1

1
k
2

2
6
= cos(x)
k=0

(1)
k
(2k)!
x
2k
k(k + 1) =
k=0
N
N(N + 1)(N + 2)
3
=
k=0

(1)
k
2k + 1

4

(a) f
'k
(x a)
k
donde el numerador es la derivada k-sima de f(x) evaluada en x=a.
taylor(f,n+1,a), proporciona los primeros n trminos del desarrollo en serie de Taylor de la funcin f alrededor del
punto x=a. Si se omite a se toma x=0, por defecto
>> syms x;
>> taylor(exp(x),4)
ans =x^3/6 + x^2/2 + x + 1
>> taylor(log(1+x),7)
ans =- x^6/6 + x^5/5 - x^4/4 + x^3/3 - x^2/2 + x
>> taylor(log(x),x,5,1)
ans =x - (x - 1)^2/2 + (x - 1)^3/3 - (x - 1)^4/4 - 1
En el ltimo caso, se muestran 5 trminos del desarollo es serie de log(x) alrededor de a=1
Representamos grficamente la funcin exp(-2 x
2
) en color rojo y los primeros trminos de su desarrollo en serie
en color azul. Escribimos el script des_serie.
syms x;
y=exp(-2*x^2);
y1=taylor(y,x,6) %desarrollo en serie
hold on
g1=ezplot(y,[-1 1]);
set(g1,'color','red')
g2=ezplot(y1,[-1 1]);
set(g2,'color','blue')
legend('exp(-2*x^2)','desarrollo en serie','Location','South')
title('Serie de Taylor')
hold off
Corremos el script des_serie en la ventana de comandos
y1 =2*x^4 - 2*x^2 + 1
Integral de una funcin
El comando int(f,x,a,b) calcula la integral de la expresin f, respecto de la variable x, en el intervalo [a,b] donde a
y b pueden ser cantidades numricas o variables simblicas.
Integrales indefinidas
k=0
k!
log(1 + x) =
k=1

(1)
k+1
x
k
k
Si no ponemos lmites a la integral, obtenemos la integral indefinida, la funcin cuya derivada es el integrando
>> syms x;
>> y=sin(x)^2;
>> z=int(y)
z =x/2 - sin(2*x)/4
>> y=diff(z)
y =1/2 - cos(2*x)/2
>> simplify(y)
ans =sin(x)^2
Calculamos la derivada con diff, simplificamos la expresin obtenida con simplify y obtenemos el integrando.
Integales definidas
Para calcular la integral
>> syms x;
>> y=sin(x)^2;
>> int(y,0,pi)
ans =pi/2
En este ejemplo,
la integral no se puede calcular salvo que el parmetro a se declare positivo
>> syms x a;
>> y=exp(-a*x^2);
>> int(y,x,-inf,inf)
Warning: Explicit integral could not be found.
>> clear
>> syms x;
>> syms a positive;
>> y=exp(-a*x^2);
>> int(y,x,-inf,inf)
ans =pi^(1/2)/a^(1/2)
>> yy=subs(y,a,sym('1/2'))
yy =1/exp(x^2/2)
>> ezplot(yy)
>> grid on
(x) dx = dx = x + c sin
2
1 cos(2x)
2
1
2
sin(2x)
4
(x) dx = dx = =
0

sin
2

0

1 cos(2x)
2
x
1
2
sin(2x)
4
|
|
|

0

2
exp(a ) dx

+
x
2
En este ejemplo, uno o los dos lmites de integracin respecto de la variable por defecto son simblicos.
Un cuerpo se mueve a lo largo de una lnea recta de acuerdo a la ley v=t
3
-4t
2
+5 m/s. Si en el instante t
0
=2 s est
situado a x
0
=4 m del origen. Calcular la posicin x del mvil en cualquier instante.
>> syms t;
>> v=t^3-4*t^2+5;
>> x=int(v,2,t)+4
x =t*(t^2*(t/4 - 4/3) + 5) + 2/3
>> expand(x)
ans =t^4/4 - (4*t^3)/3 + 5*t + 2/3
x 4 = ( 4 + 5)dt
2
t
t
3
t
2
x = + 5t + m
1
4
t
4
4
3
t
3
2
3
Series de Fourier
Las ondas armnicas continuas no existen realmente, ya que todos los movimientos ondulatorios estn limitados
tanto espacial como temporalmente. Utilizando el anlisis de Fourier y la transformada de Fourier se pueden
describir formas de ondas ms complejas como las que producen los instrumentos musicales.
El anlisis de Fourier surgi a partir del intento de ste matemtico francs por hallar la solucin a un problema
prctico, la conduccin del calor en un anillo de hierro. Demostr que se puede obtener una funcin discontinua
a partir de la suma de funciones continuas. Esta tesis fue defendida por Fourier ante la Academia Francesa, lo
que motiv severas objeciones de los matemticos ms importantes de su poca como Lagrange, Laplace, etc.
Funciones armnicas
En primer lugar, vamos a distinguir entre las magnitudes: amplitud A, frecuencia f y fase en la funcin
armnica
x=Asin(2f t+).
Dos amplitudes distintas, A=10 y A=5 y la misma frecuencia f=100 Hz, (el tiempo se mide en milisegundos, ms)
subplot(2,1,1)
t=0:0.1:50;
x=10*sin(2*pi*0.1*t); %amplitud 10
plot(t,x,'r')
xlabel('t(ms)')
ylabel('x')
title('Distinta amplitud')
ylim([-11,11])
grid on
subplot(2,1,2)
x=5*sin(2*pi*0.1*t); %amplitud 5
plot(t,x,'r')
ylim([-10,10])
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
La misma amplitud A=10, dos frecuencias distintas f=100 y f=200 Hz
subplot(2,1,1)
t=0:0.1:50;
x=10*sin(2*pi*0.1*t); %frecuencia, 100 Hz
plot(t,x,'r')
xlabel('t(ms)')
ylabel('x')
title('Distinta frecuencia')
ylim([-11,11])
grid on
subplot(2,1,2)
x=10*sin(2*pi*0.2*t); %frecuencia, 200 Hz
plot(t,x,'r')
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
Fases iniciales distintas: 0, /2, ,3/2, misma frecuencia f=100 Hz y misma amplitud A=10
subplot(4,1,1)
t=0:0.1:50;
x=10*sin(2*pi*0.1*t);
plot(t,x,'r')
xlabel('t(ms)')
ylabel('x')
title('Distinta fase inicial')
ylim([-11,11])
grid on
subplot(4,1,2)
x=10*sin(2*pi*0.1*t+pi/2);
plot(t,x,'r')
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
subplot(4,1,3)
x=10*sin(2*pi*0.1*t+pi);
plot(t,x,'r')
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
subplot(4,1,4)
x=10*sin(2*pi*0.1*t+3*pi/2);
plot(t,x,'r')
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
Una funcin peridica resultado de la superposicin de tres funciones armnicas con distintas frecuencias,
amplitudes y fases iniciales
x=200sin(2f 100+/2)+100sin(2f 200+)+100sin(2f 400+3/2)
f=[100,200,400]; %frecuencias
A=[200,100,100]; %amplitudes
phi=[90,180,270]; %fases
subplot(2,2,1)
stem(f,A)
axis([0,500,0,210])
xlabel('Frecuencia')
ylabel('Amplitud')
subplot(2,2,2)
stem(f,phi)
axis([0,500,0,360])
xlabel('Frecuencia')
set(gca,'YTick',0:90:360)
set(gca,'YTickLabel',{'0',90','180','270','360'})
ylabel('Fase')
subplot(2,2,3:4) %resultante
t=(0:0.1:30)/1000; %milisegundos
x=zeros(1,length(t));
for i=1:length(f)
x=x+A(i)*sin(2*pi*f(i)*t+phi(i)*pi/180);
end
plot(t,x,'r')
xlabel('t(ms)')
ylabel('x')
title('Resultante')
ylim([-410,410])
set(gca,'XTick',(0:5:30)/1000)
set(gca,'XTickLabel',{'0','5','10','15','20','25','30'})
grid on
Funcin peridica
Una funcin es peridica de periodo P si hay un nmero P>0 tal que f(t+P)=f(t). Cualquier mltiplo n entero de P
es tambin periodo f(t+nP)=f(t)
La funcin f(t)=cos(2t)+cos(4t)/2, es la suma de dos funciones peridicas de periodos 1 y 0.5, respectivamente.
Como podemos ver en la grfica f(t) es peridica con periodo P=1.
Las funciones cos(t) y son peridicas de periodo 2 y respectivamente, pero la suma
no es peridica.
t=0:0.05:10;
x=cos(2*pi*t)+cos(4*pi*t)/2;
subplot(2,1,1)
plot(t,x);
xlabel('t')
ylabel('x')
subplot(2,1,2)
x=cos(2*pi*t)+cos(2*pi*sqrt(2)*t);
plot(t,x);
xlabel('t')
ylabel('x')
cos ( t) 2 2/ 2
f(t) = cos (t) + cos ( t) 2
Serie de Fourier
A primera vista, parece que el problema de analizar formas de ondas complejas representa una tarea formidable.
Sin embargo, si la forma de la onda es peridica, se puede representar con una precisin arbitraria, mediante la
superposicin de un nmero suficientemente grande de ondas senoidales que forman una serie armnica.
Toda funcin f(t) peridica de periodo 2P, se puede representar en forma de una suma infinita de funciones
armnicas, es decir,
donde a
0
a
1
...a
k
... y b
1
b
2
.... b
k
.... son los denominados coeficientes de Fourier.
Teniendo en cuenta los resultados de las integrales
>> syms t m n;
>> evalin(symengine,'assume(n,Type::Integer)');
>> evalin(symengine,'assume(m,Type::Integer)');
>> int('sin(m*t)*cos(n*t)',t,-pi,pi)
ans =0
>> y=int('cos(m*t)*cos(n*t)',t,-pi,pi)
y=(2*(m*cos(pi*n)*sin(pi*m) - n*cos(pi*m)*sin(pi*n)))/(m^2 - n^2)
>> limit(y,m,n)
ans =pi*cos(pi*n)^2
Como n es entero, la respuesta es pi ()
f(t) = + ( cos + sin )
a
0
2

k=1

a
k
kt
P
b
k
kt
P
cos sin dt = cos(mt) sin(nt)dt = 0
P
P
mt
P
nt
P
P

cos cos dt = cos(mt) cos(nt)dt


P
P
mt
P
nt
P
P

(cos ((m+ n)t) + cos ((m n)t)) dt = {


P
2

0m n
Pm = n
P
mt nt P

>> y=int('sin(m*t)*sin(n*t)',t,-pi,pi)
y =-(2*(m*cos(pi*m)*sin(pi*n) - n*cos(pi*n)*sin(pi*m)))/(m^2 - n^2)
>> limit(y,m,n)
ans =pi*cos(pi*n)^2
Los coeficientes del desarrollo en serie valen
La suma parcial de las series de Fourier es
Si la funcin f(t) tiene simetra, algunos de los coeficientes resultan nulos.
Si f(t) es una funcin par,f(t)=f(-t), los trminos b
k
son nulos
Si f(t) es impar f(t)=-f(-t), los coeficientes a
k
son nulos
Funcin par
Por ejemplo, para el pulso rectangular simtrico de anchura 1, y periodo 2 se obtienen los siguientes coeficientes.
Vamos a reconstruir la funcin f(t) a partir del desarrollo en serie de Fourier.
Elaborar el script fourier_1 en el que
Se establezca mediante el comando input el nmero n de trminos del desarrollo en serie, sin contar el primero
a
0
/2.
Dibuje la funcin f(t) entre -1 y +1 en color azul y con ancho de lnea 2.
Dibuje la aproximacin a la funcin sumando n trminos del desarrollo en serie en color rojo de anchura de
lnea 1.
sin sin dt = sin(mt) sin(nt)dt
P
P P

(cos ((m+ n)t) + cos ((m n)t)) dt = {


P
2

0m n
Pm = n
= f(t) cos dt a
k
1
P

P
P
kt
P
= f(t) sin dt b
k
1
P

P
P
kt
P
(t) = + ( cos + sin ) s
n
a
0
2

k=1
n
a
k
kt
P
b
k
kt
P
= dt = 1 a
0
1
1

0.5
0.5
= cos (kt) dt = (sin( )) a
k
1
1

0.5
0.5
2
k
k
2
?
?
?
0kpar
kimpar
2
k
(1)
(k1)/2
(t) = + + + ... s
n
1
2
2cos(t)

2cos(3t)
3
2cos(5t)
5
2cos(7t)
7
n=input('Nmero de trminos: ');
hold on
x=[-1 -0.5 -0.5 0.5 0.5 1];
y=[0 0 1 1 0 0];
plot(x,y,'b')
x=linspace(-1,1,100);
y=zeros(length(x),1);
for i=1:length(x)
y(i)=1/2;
for k=1:2:n
y(i)=y(i)+(-1)^((k-1)/2)*2*cos(k*pi*x(i))/(k*pi);
end
end
plot(x,y, 'r');
title(sprintf('Aproximacin de Fourier: %i trminos',n))
xlabel('t'); ylabel('f(t)')
hold off
Funcin impar
Sea ahora la funcin
Es una funcin impar, los coeficientes a
k
son nulos
= sin(kt) dt sin(kt) dt = (2 + 2cos(k)) = b
k

1
0

0
1
1
k
?
?
?
0kpar
kimpar
4
k
Escribir el script fourier_2 en el que
Se establezca mediante el comando input el nmero n de trminos del desarrollo en serie.
Dibuje la funcin f(t) entre -1 y +1 en color azul y con ancho de lnea 2.
Dibuje la aproximacin a la funcin sumando n trminos del desarrollo en serie en color rojo de anchura de
lnea 1.
n=input('Nmero de trminos: ');
hold on
x=[-1 -1 0 0 1 1];
y=[0 1 1 -1 -1 0];
plot(x,y,'b','linewidth',2)
x=linspace(-1,1,100);
y=zeros(length(x),1);
for i=1:length(x)
y(i)=0;
for k=1:2:n
y(i)=y(i)-4*sin(k*pi*x(i))/(k*pi);
end
end
plot(x,y, 'r');
title(sprintf('Aproximacin de Fourier: %i trminos',n))
xlabel('t'); ylabel('f(t)')
hold off
Desarrollo en serie de Fourier con MATLAB
En MATLAB la funcin heaviside(t) se define del siguiente modo:
Vamos a elaborar un script que nos permita obtener el desarrollo en serie de Fourier de una funcin f(t) peridica
de periodo 2P.
Definimos primero, la funcin escaln
Describimos la funcin escaln mediante la llamada a la funcin heaviside(t-a)
La funcin pulso rectangular del primer ejemplo,
la definimos en MATLAB como heaviside(t+a)-heaviside(t-a), tal como vemos en la figura
(t) = + ... s
n
3 5 7
u(t) =
?
?
?
?
?
0t < 0
0.5t = 0
1t > 0
f(t) = {
0t < a
1t a
f(t) =
?
?
?
?
?
0t < a
1 a t a
0t > a
El desarrollo en serie es
4sin(t) 4sin(3t) 4sin(5t) 4sin(7t)
La funcin f(t) cualesquiera que toma valores distintos de cero en el intervalo [a,b] se escribe
syms t k P n;
evalin(symengine,'assume(k,Type::Integer)');
a=@(f,t,k,P) int(f*cos(k*pi*t/P),x,-P,P)/P;
b=@(f,t,k,P) int(f*sin(k*pi*t/P),x,-P,P)/P;
fs=@(f,t,n,P)
a(f,t,0,P)/2+symsum(a(f,t,k,P)*cos(k*pi*t/P)+b(f,t,k,P)*sin(k*pi*t/P),k,1,n);
f=heaviside(t+0.5)-heaviside(t-0.5);
P=1; %semiperiodo
pretty(fs(f,t,10,P))
En la ventana de comandos vemos el desarrollo en serie de Fourier de esta funcin peridica para n=10 trminos
2 cos(pi t) 2 cos(3 pi t) 2 cos(5 pi t) 2 cos(7 pi t) 2 cos(9 pi t)
----------- - ------------- + ------------- - ------------- + ------------- + 1/2
pi 3 pi 5 pi 7 pi 9 pi
Para obtener el desarrollo en serie del segunda funcin solamente tenemos que cambiar la definicin de la
funcin f(t) y del semiperiodo P.
Esta funcin se escribe en MATLAB como, heaviside(t+1)-heaviside(t)-heaviside(t)+heaviside(t-1)=
heaviside(t+1)-2 heaviside(t)+heaviside(t-1)
....
f=heaviside(t+1)-2*heaviside(t)+heaviside(t-1);
P=1; %semiperiodo
pretty(fs(f,x,10,P))
En la ventana de comandos vemos el desarrollo en serie de Fourier de esta funcin peridica para n=10 trminos
4 sin(pi t) 4 sin(3 pi t) 4 sin(5 pi t) 4 sin(7 pi t) 4 sin(9 pi t)
- ----------- - ------------- - ------------- - ------------- - -------------
pi 3 pi 5 pi 7 pi 9 pi
Sea la funcin peridica f(t)=t entre -1 y 1, vamos a dibujar la funcin y sus distintas aproximaciones.
syms t k P n;
evalin(symengine,'assume(k,Type::Integer)');
a = @(f,t,k,P) int(f*cos(k*pi*t/P),t,-P,P)/P;
b = @(f,t,k,P) int(f*sin(k*pi*t/P),t,-P,P)/P;
fs=@(f,t,n,P)
a(f,t,0,P)/2+symsum(a(f,t,k,P)*cos(k*pi*t/P)+b(f,t,k,P)*sin(k*pi*t/P),k,1,n);
%definicin de la fuerza y su semiperiodo P
(u(t a) u(t b)) f(t) =
?
?
?
?
?
0t < a
f(t)a t b
0t > b
f(t) =
?
?
?
?
?
?
?
?
?
?
?
0t < 1
1 1 t < 0
10 t < 1
0t 1
%f=heaviside(t+0.5)-heaviside(t-0.5);
%f=heaviside(t+1)-2*heaviside(t)+heaviside(t-1);
f=t;
P=1;
N=6; %trminos del desarrollo en serie
pretty(fs(f,t,N,P))
hold on
ezplot(f,[-P P])
hg=ezplot(fs(f,t,N,P),[-P P]);
set(hg,'color','r')
hold off
xlabel('t')
ylabel('f(t)')
title('Serie de Fourier')
%armnicos
figure
k=1:N;
ak=a(f,t,k,P);
bk=b(f,t,k,P);
subplot(2,1,1)
stem(ak)
xlabel('k');
ylabel('a(k)')
subplot(2,1,2)
stem(bk)
xlabel('k');
ylabel('b(k)')
Para estudiar otra funcin peridica basta cambiar la definicin de la funcin f y el valor de su semiperiodo P.
Cambiando el valor de N se muestran ms o menos trminos del desarrollo en serie.
2 sin(pi t) sin(2 pi t) 2 sin(3 pi t) sin(4 pi t) 2 sin(5 pi t) sin(6 pi t)
----------- - ----------- + ------------- - ----------- + ------------- - -----------
pi pi 3 pi 2 pi 5 pi 3 pi
En la grfica se representa la contribucin de los N=6 primeros armnicos cada uno de los armnicos, en la parte
superior los coeficientes a
k
, y en la parte inferior los coeficientes b
k
. Por ser f(t)=t una funcin impar, a
k
=0,
La forma compleja de las series de Fourier
Teniendo en cuenta las relaciones
El desarrollo en serie de Fourier
se expresa de la siguiente forma alternativa
donde P es el semiperiodo de la funcin peridica de periodo 2P
Pulso rectangular
= cos t i sint e
it
= cos t + i sint e
it
f(t) = + ( cos ( ) + sin( ))
a
0
2

k=1

a
k
kt
P
b
k
kt
P
f(t) = + ( ( + ) + ( ))
a
0
2

k=1

a
k
2
e
ikt/P
e
ikt/P
b
k
2i
e
ikt/P
e
ikt/P
= = = c
0
a
0
2
c
k
i a
k
b
k
2
c
k
+ i a
k
b
k
2
f(t) = + ( + ) c
0

k=1

c
k
e
ikt/P
c
k
e
ikt/P
f(t) = exp(ik ) = f(t) exp(ik ) dt

c
k
t
P
c
k
1
2P

P
P
t
P
Escribir el script fourier_3 en el que
Se establezca mediante el comando input
el nmero n de trminos del desarrollo en serie.
La semianchura a del pulso rectangular (menor que )
Dibuje la funcin f(t) entre - y + en color azul y con ancho de lnea 2.
Dibuje la aproximacin a la funcin sumando n trminos del desarrollo en serie (positivos y negativos) en color
rojo de anchura de lnea 1.
Tomar A=1
a=input('Semianchura del pulso rectangular a<pi: ');
n=input('Nmero de trminos: ');
hold on
x=[-pi -a -a a a pi];
y=[0 0 1 1 0 0];
plot(x,y,'b','linewidth',2)
x=linspace(-pi,pi,100);
y=zeros(length(x),1);
for j=1:length(x)
y(j)=0;
for k=-n:n
if k==0
y(j)=y(j)+a/pi;
else
y(j)=y(j)+sin(k*a)*exp(i*k*x(j))/(k*pi);
end
end
end
%ejes
plot([-4 4],[0 0],'k')
plot([0 0],[-0.2 1.2],'k')
%serie de Fourier
plot(x,real(y),'r');
title(sprintf('Aproximacin de Fourier: %i trminos',n))
xlabel('t'); ylabel('f(t)')
hold off
Pulso diente de sierra
Escribir el script fourier_3 en el que
Se establezca mediante el comando input
el nmero n de trminos del desarrollo en serie.
Dibuje la funcin f(t) entre - y + en color azul y con ancho de lnea 2.
Dibuje la aproximacin a la funcin sumando n trminos del desarrollo en serie (positivos y negativos) en color
rojo de anchura de lnea 1.
Tomar A=1
n=input('Nmero de trminos: ');
hold on
P =
= A dt = sin(ka) = c
k
1
2

a
a
e
ikt
A
k
?
?
?
?
?
?
?
k = 0 = a c
0
A

k 0 = sin(ka) c
k
A
k
P =
= t dt = i cos (k) = i c
k
1
2

e
ikt
A
k
A
k
(1)
k
plot([-pi,pi],[-1 1],'b','linewidth',2)
x=linspace(-pi,pi,100);
y=zeros(length(x),1);
for j=1:length(x)
y(j)=0;
for k=-n:n
y(j)=y(j)+(-1)^k*1i*exp(i*k*x(j))/(k*pi);
end
end
%ejes
plot([-4 4],[0 0],'k')
plot([0 0],[-1.5 1.5],'k')
%serie de Fourier
plot(x,real(y), 'r');
title(sprintf('Aproximacin de Fourier: %i trminos',n))
xlabel('t'); ylabel('f(t)')
hold off
Transformada de Fourier
Para una funcin no peridica P-->
La primera integral que obtiene F() se denomina transformada de Fourier de f(t), y la segunda se denomina
transformada inversa de Fourier.
El cuadrado f
2
(t) nos da una idea de cmo la energa contenida en la onda se distribuye en el tiempo, mientas que
F
2
() nos da una idea de como la energa se distribuye en el espectro de frecuencias. Naturalmente,
Pulso rectangular
Sea un pulso rectangular tal que f(t) es cero excepto en el intervalo [-a,a] que vale A, tal como se muestra en la
figura
La transformada de Fourier de f(t) vale
>> syms a t w;
>> int('exp(-i*w*t)',t,-a,a)
ans =(2*sin(a*w))/w
Alternativamente, utilizamos la funcin fourier de MATLAB
syms a t;
ft=heaviside(t+a)-heaviside(t-a);
Fw=fourier(ft)
Fw=simplify(Fw)
ft=subs(ft,a,1);
subplot(2,1,1)
ezplot(ft,[-2,2]);
ylim([-0.2 1.2])
xlabel('t');
ylabel('f(t)')
title('Pulso rectangular')
Fw=subs(Fw,a,1);
subplot(2,1,2)
hg=ezplot(Fw,[-10,10]);
set(hg,'color','r')
ylim([-1 2.2])
xlabel('\omega');
ylabel('F(\omega)')
F() = f(t) dtf(t) = F() d

e
it
1
2

e
it
dt = d

|f(t)|
2

|F()|
2
F() = f(t) exp(it) dt

F() = Aexp(it) dt = sin(a)


a
a
2A

title('Transformada de Fourier')
grid on
En la figura vemos un pulso rectangular de semianchura a=1 y su transformada de Fourier
No es necesario utilizar Math Symbolic Toolbox para dibujar la funcin y su transformada de Fourier como
vemos en este script.
t=[-2 -1 -1 1 1 2];
ft=[0 0 1 1 0 0];
subplot(2,1,1)
plot(t,ft,'b');
ylim([-0.2 1.2])
xlabel('t');
ylabel('f(t)')
title('Pulso rectangular')
w=linspace(-10,10,100);
fw=2*sin(w+eps)./w;
subplot(2,1,2)
plot(w,fw,'r');
ylim([-1,2.2])
xlabel('\omega');
ylabel('F(\omega)')
grid on
Pulso triangular
La transformada de Fourier es
f(t) =
?
?
?
?
?
?
?
?
?
?
?
?
?
1 + a t < 0
t
a
1 0 t < a
t
a
0otros t
>> syms t a w;
>> f1=(1+t/a)*(heaviside(t+a)-heaviside(t))*exp(-i*w*t);
>> f2=(1-t/a)*(heaviside(t)-heaviside(t-a))*exp(-i*w*t);
>> Fw=int(f1,t,-a,0)+int(f2,t,0,a)
Fw =1/(a*w^2) - (1/exp(a*w*i))/(a*w^2) - (exp(a*w*i) - 1)/(a*w^2)
>> Fw=simplify(Fw)
Fw =(4*sin((a*w)/2)^2)/(a*w^2)
syms t;
ft=(1-t)*(heaviside(t)-heaviside(t-1))+(1+t)*(heaviside(t+1)-heaviside(t));
Fw=fourier(ft);
Fw=simplify(Fw)
subplot(2,1,1)
ezplot(ft,[-2,2]);
ylim([-0.2 1.2])
xlabel('t');
ylabel('f(t)')
title('Pulso triangular')
subplot(2,1,2)
hg=ezplot(Fw,[-10,10]);
set(hg,'color','r')
ylim([-0.1 1.1])
xlabel('\omega');
ylabel('F(\omega)')
title('Transformada de Fourier')
grid on
En la ventana de comandos aparece la transformada de Fourier, que es la misma que hemos deducido con a=1
Fw =-(1/exp(w*i) + exp(w*i) - 2)/w^2
>> simplify(Fw)
ans =-(2*cos(w) - 2)/w^2
Funcin exponencial
Transformada de Fourier de la funcin f(t)=Aexp(-|t|)
F() = f(t) exp(it)dt =

(1 + ) exp(it)dt + (1 ) exp(it)dt =
a
0
t
a

0
a
t
a
4 (a/2) sin
2
a
2
Primero, calculamos la transformada de Fourier de la funcin f(t)=Aexp(-t) u(t). La integracin de f(t) se
extiende entre 0 e
A continuacin, tenemos en cuenta la propiedad de la transformada de Fourier de la funcin f(-t) es F(-), la
transformada de las dos exponenciales es la suma
g=1;
t=-5:0.05:5;
ft=exp(-g*abs(t));
subplot(2,1,1)
plot(t,ft,'b');
ylim([-0.1 1.1])
xlabel('t');
ylabel('f(t)')
title('Exponencial')
w=linspace(-10,10,100);
Fw=2*g./(g^2+w.^2);
subplot(2,1,2)
plot(w,Fw,'r');
ylim([-0.1 2.1])
xlabel('\omega');
ylabel('F(\omega)')
grid on
Oscilacin amortiguada
F() = A dt = Aexp(( + i)t) dt = =
0

e
t
e
it

0

exp(( + i)t)
A
+ i
|
|
|

0
> 0
A
+ i
F() = + = A
A
+ i
A
i
2
+
2

2
En este ejemplo calculamos la trasnformada de Fourier de la funcin que describe una oscilacin amortiguada
que parte del instante t=0.
Escribimos f(t) en forma equivalente y calculamos su transformada de Fourier
g=1; %amortiguamiento
w0=6; %frecuencia angular
t=0:0.05:5;
ft=exp(-g*t).*cos(w0*t);
subplot(2,1,1)
plot(t,ft,'b');
ylim([-1 1.1])
xlabel('t');
ylabel('f(t)')
title('Oscilacin amortiguada')
w=linspace(-10,10,100);
Fw=((g-i*(w-w0))./(g^2+(w-w0).^2)+(g-i*(w+w0))./(g^2+(w+w0).^2))/2;
subplot(2,1,2)
plot(w,abs(Fw),'r');
ylim([-0.1 0.6])
xlabel('\omega');
ylabel('F(\omega)')
title('Transformada')
grid on
Como F() es complejo, representamos el mdulo
Funcin de Gauss
f(t) = exp(t) cos( t)
0
f(t) = exp(t) (exp(i t) + exp(i t))
1
2

0

0
F() = f(t) exp(it)dt = exp(t i( )t) dt + exp(t i(+ )t) dt =

1
2
?
?
?

0

0

0

0
?
?
?
=
1
2
( + )
exp(t i( )t)
0
i( )
0
exp(t i(+ )t)
0
i(+ )
0

0
( + ) = ( + )
1
2
1
+ i( )
0
1
+ i(+ )
0
1
2
i( )
0
+
2
( )
0
2
i(+ )
0
+
2
(+ )
0
2
La funcin de Gauss es una de las funciones ms importantes, se define
donde es la media y es la desviacin estndar de acuerdo con su interpretacin estadstica.
x=-5:0.05:5;
s2=[0.2,1,5,0.5]; %cuadrado de la desviacin estndar
mu=[0,0,0,-2]; %media
col=['b','g','r','k'];
hold on
for k=1:length(s2)
y=exp(-(x-mu(k)).^2/(2*s2(k)))/sqrt(s2(k)*2*pi);
str=sprintf('\\mu=%1.1f, \\sigma^2=%1.1f',mu(k),s2(k));
plot(x,y,col(k),'displayName',str)
end
hold off
xlabel('x')
ylabel('f(x)')
legend('-DynamicLegend','location','NorthEast')
title('Funcin de Gauss')
grid on
El mximo de la funcin se produce para x=. Denominamos x a la anchura de la funcin de Gauss para una
ordenada igual a la mitad del mximo. Por ejemplo, en la curva de color verde el mximo vale y=0.4,
aproximadamente. Determinamos el intervalo de valores de x, x cuya ordenada y0.2.
Sea f(t) una funcin de Gauss
>> syms t;
>> syms s2 positive;
>> f=exp(-t^2/(2*s2))/(sqrt(2*pi*s2));
>> int(f,t,-inf,inf)
ans =1
Para calcular la transformada de Fourier tenemos que partir del resultado de la integral
f(x) = exp( )
1
2

(x )
2
2
2
= exp( )
1
2
1
2

1
2

x
2
1
2
2
= x
1
2ln2

x = 2 2ln2

f(t) = exp( ) f(t) dt = 1


1
2

t
2
2
2

que se justifica del siguiente modo:


Con ayuda de este resultado calculamos la transformada de Fourier de un pulso descrito por una funcin de Gauss
La tansformada de Fourier de una funcin de Gauss es otra funcin de Gauss
>> syms t;
>> syms s positive;
>> ft=exp(-t^2/(2*s^2))/(s*sym('sqrt(2*pi)'));
>> Fw=fourier(ft)
Fw =1/exp((s^2*w^2)/2)
I = exp( )dx =
0

x
2
1
2

I = exp( )dxI = exp( )dx


0

x
2

0

y
2
= exp(( + )) dx dy I
2

0

x
2
y
2
+ = dx dy = r dr d x
2
y
2
r
2
= exp( ) r dr d = exp( ) r dr = I
2

0
/2

r
2

2

0

r
2

4
I = exp( )dx =
0

x
2
1
2

F() = f(t) exp(it) dt = exp( ) exp(it) dt =

1
2

t
2
2
2
exp( it) dt
1
2

t
2
2
2
F() = exp( ) exp dt
1
2

2
2

?
?
(t + i )
2
2
2
2
?
?
F() = exp( )

2
2
Se sugiere comprobar que cuanto es mayor , ms ancha es la curva f(t) y ms estrecha es la curva F() y
viceversa.
t=linspace(-7,7,100);
sigma=2;
ft=exp(-t.^2/(2*sigma^2))/(sigma*sqrt(2*pi));
subplot(2,1,1)
plot(t,ft,'b');
ylim([-0.05 0.25])
xlabel('t');
ylabel('f(t)')
title('Funcin de Gauss')
w=linspace(-7,7,100);
fw=exp(-w.^2*sigma^2/2);
subplot(2,1,2)
plot(w,fw,'r');
ylim([-0.2,1.2])
xlabel('w');
ylabel('F(w)')
grid on
Funcin delta de Dirac (t)
La funcin delta de Dirac tiene la siguiente definicin
La podemos considerar como una funcin de Gauss cuyo parmetro tiende a cero
Vamos ahora a calcular la transformada inversa de Fourier de la funcin delta de Dirac.
(t) = {
0t 0
t = 0
(t) dt = 1

f(t)(t a) dt = f(a)

f(t) = exp( )
1
2

t
2
2
2
lim = (t) f(t, )
0
F() es cero para todos los valores de , excepto para =
0
. El rea bajo la curva (-
0
) es la unidad.
>> syms w w0;
>> Fw=2*pi*dirac(w-w0);
>> ft=ifourier(Fw)
ft =exp(w0*x*i)
Teniendo en cuenta que
la transformada de Fourier F()=[(-
0
)+(+
0
)]
>> syms w w0;
>> Fw=pi*(dirac(w-w0)+dirac(w+w0));
>> ft=ifourier(Fw)
ft =(1/exp(w0*x*i))/2 + exp(w0*x*i)/2
>> simplify(ft)
ans =cos(w0*x)
Tabla de transformadas de Fourier
f(t) F()
exp(-at) u(t)
t exp(-at) u(t)
(t) 1
1 2()
exp(-i
0
t) 2(-
0
)
cos(
0
t) ((+
0
)+(-
0
))
sin(
0
t) i((+
0
)-(-
0
))
u(t) ()+1/(i)
exp(-at) sin(
0
t) u(t)
exp(-at) cos(
0
t) u(t)
>> ft=sym('1');
>> Fw=fourier(ft)
Fw =2*pi*dirac(w)
>> syms t;
>> ft=heaviside(t);
>> Fw=fourier(ft)
Fw =pi*dirac(w) - i/w
>> ft=dirac(t);
>> Fw=fourier(ft)
Fw =1
>> syms a positive;
>> ft=exp(-a*t)*heaviside(t);
>> Fw=fourier(ft)
Fw =1/(a + w*i)
>> ft=t*exp(-a*t)*heaviside(t);
F() = 2 ( )
0
f(t) = ( ) exp(it)dt = exp(i t) ( ) dt = exp(i t)

0

0

+
0

0

0
cos ( t) = (exp(i t) + exp(i t))
0
1
2

0

0
1
a + i
1
(a + i)
2

0
+ (a + i)
2

2
0
a + i
+ (a + i)
2

2
0
>> Fw=fourier(ft)
Fw =1/(a + w*i)^2
Transformada de Fourier de una funcin peridica f(t) de semiperiodo P.
Transformada de f(t-T)
Transformada de exp(i
0
t)f(t)
Transformada de f(at) para a>0
f(t) = exp(ik ) F() = 2 ( k ) =

c
k
t
P

c
k

0

0

P
f(t T) exp(it) dt = f() exp(i( + T)) d =

exp(iT) f() exp(i) d = exp(iT) F()

f(t) exp(i t) exp(it) dt = f(t) exp(i( )t) dt = F( )

0

0
f(at) exp(it) dt = f() exp(i/a) d = F ( )

1
a

1
a

a
Propagacin de las ondas en un medio
dispersivo
En esta pgina, se explica la propagacin de las ondas en un medio dispersivo, el concepto de velocidad de grupo.
En primer lugar, vamos a obtener el resultado de la integral
Haciendo el cambio de variable
Obtenemos
Sabiendo el resultado de la integral (vase la pgina anterior)
Obtenemos el resultado
que utlizaremos ms adelante.
Transformada de Fourier
Ya hemos estudiado la transformada de Fourier de la funcin coseno.
Dos funciones delta de Dirac situadas en +k
0
y en -k
0
.
>> syms k0 x;
>> fx=cos(k0*x);
>> Fk=fourier(fx)
Fk =pi*(dirac(k0 - w) + dirac(k0 + w))
Vamos a obtener la transformada de Fourier de la funcin
En primer lugar, obtenemos la transformada de Fourier F
1
(k) de la funcin f
1
(x)
I = exp( + iuy) du = exp du =

u
2
2
2

?
?
( i )
u
2
y
2
2
y
2

2
2
?
?
exp( ) exp du
y
2

2
2

?
?
( i )
u
2
y
2
2
?
?
x = i dx = du
u
2
y
2
1
2
I = exp( ) exp( ) dx 2
y
2

2
2

x
2
exp( ) dx =

x
2

I = exp( ) 2

y
2

2
2
f(x) = cos( x) = (exp(i x) + exp(i x)) k
0
1
2
k
0
k
0
F(k) = f(x) exp(ikx)dx = exp(i(k )x) dx + exp(i(k + )x) dx =

1
2
?
?
?

k
0

k
0
?
?
?
((k ) + (k + )) k
0
k
0
f(x) = exp( ) cos ( x)
(x ) x
0
2
2
2
x
k
0
= exp( ) (exp(i x) + exp(i x))
1
2
(x ) x
0
2
2
2
x
k
0
k
0
(x) = exp(i x ) f
1
k
0
(x ) x
0
2
2
2
x
(k) = f(x) exp(ikx)dx = exp(ikx + i x) exp( ) dx F
1

k
0
(x ) x
0
2
2
2
Tenemos una integral del tipo descrito al principio de esta pgina con
De modo anlogo, obtenemos la transformada de Fourier de la funcin f
2
(x)
La transformada de Fourier de la funcin f(x)= f
1
(x)+ f
2
(x) es F(k)=(F
1
(k)+F
2
(k))/2
x0=0;
k0=2;
s2=5;
x=-10:0.05:10;
fx=exp(-(x-x0).^2/(2*s2)).*cos(k0*x);
subplot(2,1,1)
plot(x,fx,'b')
grid on
xlabel('x')
ylabel('f(x)')
title('Funcin')
k=-5:0.05:5;
Fk=sqrt(2*pi*s2)*exp(-1i*k*x0).*(exp(1i*k0*x0)*exp(-(k-k0).^2*s2/2)...
+exp(-1i*k0*x0)*exp(-(k+k0).^2*s2/2))/2;
subplot(2,1,2)
plot(k,abs(Fk),'r')
grid on
xlabel('k')
ylabel('F(k)')
title('Transformada')

x
(k) = exp(i(k ) ) exp(i( k)(x ) ) dx F
1
k
0
x
0

k
0
x
0
(x ) x
0
2
2
2
x
u = x du = dx x
0
y = k = k
0

x
(k) = exp(i(k ) ) exp(iyu ) du F
1
k
0
x
0

u
2
2
2
(k) = exp(i ) exp(ik ) exp( ) F
1
2


x
k
0
x
0
x
0
( k) k
0
2

2
x
2
(x) = exp(i x ) f
2
k
0
(x ) x
0
2
2
2
x
(k) = f(x) exp(ikx)dx = exp(ikx i x) exp( ) dx F
2

k
0
(x ) x
0
2
2
2
x
(k) = exp(i(k + ) ) exp(i( k)(x ) ) dx F
2
k
0
x
0

k
0
x
0
(x ) x
0
2
2
2
x
u = x du = dx x
0
y = ( + k) = k
0

x
(k) = exp(i ) exp(ik ) exp( ) F
2
2


x
k
0
x
0
x
0
( + k) k
0
2

2
x
2
En la parte superior de la figura vemos la funcin coseno, cuya envolvente (amplitud) es la funcin de Gauss.
No hay cambio apreciable en el valor absoluto de F(k) cuando se modifica la posicin del centro de la funcin de
Gauss, x
0
a un valor distinto de cero. La transformada de Fourier de esta funcin consiste en dos picos centrados
en k
0
.
Si incrementamos el parmetro
2
a una valor grande por ejemplo, 100, vemos que la amplitud de la funcin f(x)
es casi constante, y su transformada de Fourier son dos picos puntiagudos centrados en k
0
que se van
aproximando a una funcin delta de Dirac a medida que se incrementa
2
Movimiento ondulatorio armnico
En la pgina web titulada "Descripcin de la propagacin" vemos en una animacin la propagacin de un pulso,
cuya forma inicial viene descrito por la funcin f(x), a lo largo del eje X hacia la derecha con velocidad v y sin
distorsionarse (sin cambiar de forma).
=f(x-vt) describe la propagacin de una perturbacin representada por la funcin f(x), sin distorsin, a la largo
del eje X, hacia la derecha, con velocidad v.
Estudiamos un caso particular importante, aqul en el que la funcin f(x) es una funcin armnica (seno o
coseno).
(x,t)=
0
sin k(x-vt)
Las caractersticas de esta funcin de dos variables, son las siguientes:
1. La funcin seno es peridica y se repite cuando el argumento se incrementa en 2 . La funcin (x, t) se repite
cuando x se incrementa en 2/k.
Se trata de una funcin peridica, de periodo espacial o longitud de onda =2/k. La magnitud k se
denomina nmero de onda.
2. Cuando se propaga un movimiento ondulatorio armnico, un punto x del medio describe un Movimiento
Armnico Simple de amplitud
0
y frecuencia angular =kv.
(x,t)=
0
sin (kx- t)
El periodo de la oscilacin es P=2/ y la frecuencia f =1/P.
3. La igualdad =kv, nos permite relacionar el periodo espacial o longitud de onda y el periodo de la oscilacin
P de un punto del medio.
La longitud de onda est relacionada con la frecuencia f de la forma =v/f . Para una velocidad de
propagacin v, cuanto mayor es la longitud de onda menor es la frecuencia y viceversa.
x=-6:0.05:6;
k=2*pi/2;
w=2*pi/1;
=

2
t
2
v
2

2
x
2
k(x + vt) = kx kvt + 2
2
k
= kv = v = vP
2
P
2

for i=1:5
subplot(5,1,i)
t=(i-1)/4;
y=sin(k*x-w*t);
plot(x,y,'r');
grid on
ylim([-1.1,1.1])
str=sprintf('t=%1.2f',t);
title(str)
end
En la figura vemos que la longitud de onda es =2. Un punto del medio, por ejemplo x=0, describe un MAS
cuyo periodo es P=1. Un pico (sealado con una flecha) se desplaza una longitud de onda durante un periodo
de oscilacin.
Superposicin de ondas armnicas
Superponemos dos ondas armnicas de la misma amplitud A, la primera onda se propaga con velocidad v
1
=
1
/k
1
y la segunda con velocidad v
2
=
2
/k
2
Supongamos que k
1
y k
2
son nmeros de onda cercanos, por ejemplo k
1
=12 y k
2
=10. Una fotografa de la onda
resultante en el instante t=0, sera la siguiente
k1=12;
k2=10;
x=0:0.01:6;
y=2*cos((k1-k2)*x/2).*sin((k1+k2)*x/2); %superposicin de dos ondas armnicas
y1=2*cos((k1-k2)*x/2); %envolvente
plot(x,y,'b',x,y1,'r',x,-y1,'r');
ylim([-2.1,2.1])
xlabel('x');
ylabel('y')
title('Superposicin de ondas')
grid on
(x, t) = Asin( x t)
1
k
1

1
(x, t) = Asin( x t)
2
k
2

2
(x, t) + (x, t) = 2Acos ( x t) sin( x t)
1

2
k
1
k
2
2

1

2
2
+ k
1
k
2
2
+
1

2
2
La curva en color rojo es la envolvente que vara como 2 cos(x) y la curva en color azul la superposicin de las
dos ondas en el instante t=0, que vara como 2 cos(x) sin(11x). Dado que k
1
k
2
y
1

2
la velocidad de la
superposicin (en color azul) de las dos ondas es v=
1
/k
1

2
/k
2
y se denomina velocidad de fase. Sin embargo,
la velocidad de la envolvente es /k=(
1
-
2
)/(k
1
-k
2
), se denomina velocidad de grupo.
Las definiciones de velocidad de fase v
p
y de grupo v
g
son, respectivamente
Ambas velocidades son funciones de k y son distintas, en general.
fichero = 'onda_1.gif';
hg=figure;
set(hg,'Position',[0,0,568,180]) %posicin y tamao de la ventana grfica
k1=12; w1=21;
k2=10; w2=20;
x=0:0.02:20;
for t=0:0.05:2*pi
%superposicin de dos ondas armnicas
y=2*cos((k1-k2)*x/2-(w1-w2)*t/2).*sin((k1+k2)*x/2-(w1+w2)*t/2);
y1=2*cos((k1-k2)*x/2-(w1-w2)*t/2); %envolvente
plot(x,y,'b',x,y1,'r',x,-y1,'r');
ylim([-2.1,2.1])
xlabel('x');
ylabel('y')
title('Superposicin de dos ondas')
%GIF animado
frame=getframe;
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
if t==0
imwrite(imind,cm,fichero,'gif','DelayTime',0,'loopcount',inf);
else
imwrite(imind,cm,fichero,'gif','DelayTime',0,'writemode','append');
end
end
En esta animacin, comparamos la velocidad de la envolvente (
1
-
2
)/(k
1
-k
2
)=1/2 (en color rojo) con la
velocidad de fase de las ondas (
1
+
2
)/(k
1
+k
2
)=(21+20)/(12+10)2 (en color azul)
Ejemplos de medios dispersivos y no dispersivos
Pequeas ondas en la superficie del agua
donde es la tensin superficial del lquido y su densidad
Olas en aguas profundas
= = v
p

k
v
g
d
dk
=

k
3

= gk

Olas de longitud de onda mucho mayor que la profundidad


donde H es la profundidad, se trata de un medio no dispersivo la velocidad de fase y de grupo coinciden
Propagacin de ondas en un plasma
Velocidad de grupo
La ecuacin de una onda armnica es
donde k es el nmero de onda, es la frecuencia angular, y v=/k es la velocidad de propagacin
La ecuacin de una onda, es la superposicin
En un medio dispersivo la frecuencia angular depende del nmero de onda k, las ondas de diferentes longitudes
de onda =2/k se propgan con distinta velocidad.
En la seccin anterior hemos calculado la transformada de Fourier de la funcin.
Como hemos visto a(k) es una funcin que tiene un pico agudo centrado en k
0
, por tanto, a(k) es distinto de cero
en las proximidades de k
0
y es nula en el resto.
La fase (k)=kx-t es una funcin de k. Podemos aproximar (k) alrededor de k
0
(donde a(k) es distinto de cero)
tomando los primeros trminos del desarollo en serie de esta funcin.
donde
v
g
de denomina velocidad de grupo de ondas, mientas que el cociente /k se denomina velocidad de fase..
Calculamos la ecuacin de la onda en cualquier instante t
Hacemos el cambio de variable y tenemos una integral del tipo descrito al principio de esta pgina
= k gH

= (1 + 3 )
2

2
pe
k
2

2
D
(x, t) = sin(kx t))
0
(x, t) = a(k) exp(i(kx t)) dk

(x,0) = exp(i x) exp( ) k


0
(x ) x
0
2
2
2
x
a(k) = Aexp(ik ) x
0
(k ) k
0
2
2
2
k
=
x
1

k
(k) = + (k ) + + ...
0
d
dk
|
|
|
0
k
0
1
2
d
2
dk
2
|
|
|
0
(k ) k
0
2
= x t
0
k
0

0
= x t = x t
d
dk
|
|
|
0
d
dk
|
|
|
0
v
g
= t = t
d
2
dk
2
|
|
|
0
d
2
dk
2
|
|
|
0
(k) x t + (x t) (k ) t k
0

0
v
g
k
0
1
2
(k ) k
0
2
(x, t) = A exp(ik + i ( x t + (x t) (k ) t )) dk

x
0
(k ) k
0
2
2
2
k
k
0

0
v
g
k
0
1
2
(k ) k
0
2
(x, t) = Aexp(i ( x t )) exp(i(k ) + i ((x t) (k ) t )) dk k
0

0
k
0
x
0

k
0
x
0
(k ) k
0
2
2
2
k
v
g
k
0
1
2
(k ) k
0
2
(x, t) = Aexp(i ( x t )) exp(i (x t) (k ) (it + 1) ) dk k
0

0
k
0
x
0

x
0
v
g
k
0

2
k
(k ) k
0
2
2
2
k
u = k du = dk k
0
y = x t = = it + x
0
v
g
1

2
(it + 1)
2
k

2
k
1

2
k
(x, t) = Aexp(i ( x t )) exp(iyu ) du k
0

0
k
0
x
0

u
2
2
2

Propagacin de un pulso sin distorsin, =0, velocidad de grupo v
g
=2. El punto de color azul marca el centro del
grupo que se mueve con velocidad constante v
g
.
x0=0; %posicin inicial de la funcin de Gauss
k0=2; %nmero de onda
sx2=5; %extensin de la funcin de Gauss (cuadrado de sigma)
w0=4*k0; %velocidad de fase w0/k0
vg=2; %velocidad de grupo
alfa=0; %dispersin
sk2=1/sx2;
x=-8:0.02:30;
for i=1:5
subplot(5,1,i)
t=(i-1)*3;
y=sqrt(2*pi*sk2/(1i*alfa*t*sk2+1))*exp(1i*(k0*x-w0*t-k0*x0))...
.*exp(-(x-x0-vg*t).^2*(1-1i*alfa*sk2*t)/(2*(alfa^2*sk2*t^2+1/sk2)));
hold on
plot(x,real(y),'r'); %movimiento ondulatorio
plot(vg*t,0,'bo','markersize',2,'markerfacecolor','b') %centro del grupo
hold off
grid on
ylim([-1.1,1.1])
str=sprintf('t=%1.2f',t);
title(str)
end
Propagacin del pulso con distorsin =1, velocidad de grupo v
g
=2. El punto de color azul marca el centro del
grupo.
(x, t) = Aexp(i ( x t )) exp 2( )

2
k
it + 1
2
k
?
?
?
?
k
0

0
k
0
x
0
?
?
(x t) x
0
v
g
2

2
k
2(it + 1)
2
k
?
?
(x, t) = Aexp(i ( x t )) exp 2( )

2
k
it + 1
2
k

?
?
?
?
k
0

0
k
0
x
0
?
?
(1 i t) (x t) x
0
v
g
2

2
k
2( + 1/ )
2

2
k
t
2

2
k
?
?
Animamos la segunda figura
fichero = 'onda_2.gif';
hg=figure;
set(hg,'Position',[0,200,690,180]) %posicin y tamao de la ventana grfica
x0=0; %posicin inicial de la funcin de Gauss
k0=2; %nmero de onda
sx2=5; %extensin de la funcin de Gauss (cuadrado de sigma)
w0=4*k0; %velocidad de fase w0/k0
vg=2; %velocidad de grupo
alfa=1; %dispersin
sk2=1/sx2;
x=-8:0.02:30;
for t=0:0.1:10;
y=sqrt(2*pi*sk2/(1i*alfa*t*sk2+1))*exp(1i*(k0*x-w0*t-k0*x0))...
.*exp(-(x-x0-vg*t).^2*(1-1i*alfa*sk2*t)/(2*(alfa^2*sk2*t^2+1/sk2)));
plot(x,real(y),'r')
ylim([-1.1,1.1])
grid on
%GIF animado
frame=getframe;
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
if t==0
imwrite(imind,cm,fichero,'gif','DelayTime',0,'loopcount',inf);
else
imwrite(imind,cm,fichero,'gif','DelayTime',0,'writemode','append');
end
end
Ecuaciones diferenciales
Ecuaciones diferenciales de primer orden
Variables separadas
Carga de un condensador a travs de una resistencia
Considrese el circuito en serie de la figura. Inicialmente el condensador est descargado. Si se cierra el
interruptor I la carga empieza a fluir produciendo corriente en el circuito, el condensador se empieza a cargar.
Una vez que el condensador adquiere la carga mxima, la corriente cesa en el circuito.
En el circuito de la figura tendremos que la suma V
ab
+V
bc
+V
ca
=0
La ecuacin del circuito es
Teniendo en cuenta que la intensidad se define como la carga que
atraviesa la seccin del circuito en la unidad de tiempo, i=dq/dt,
tendremos la siguiente ecuacin para integrar
Derivando con respecto al tiempo, obtenemos la intensidad en funcin del tiempo
>> syms R C V;
>> q=dsolve('R*Dq=V-q/C','q(0)=0')
q =C*V - (C*V)/exp(t/(C*R))
>> i=diff(q)
i =V/(R*exp(t/(C*R)))
Damos valores a R=2, C=0.3, V=10 y representamos la carga q del condensador y la intensidad i de la corriente
en funcin del tiempo en la misma ventana grfica
>> qq=subs(q,{R,C,V},{2,0.3,10})
qq =3 - 3/exp((5*t)/3)
>> ii=subs(i,{R,C,V},{2,0.3,10})
ii =5/exp((5*t)/3)
>> hold on
>> ezplot(qq,[0,5])
>> h=ezplot(ii,[0,5]);
>> set(h,'color','r')
>> grid on
>> hold off
>> ylim([0,5])
= f(t) g(x)
dx
dt
= f(t)dt
dx
g(x)
G(x) = F(x) + c
iR + = 0
q
C
V

R =
dq
dt
V

q
C
= dtq = C (1 exp( ))
0
q
dq
C q V

1
RC

0
t
V

t
RC
i = = exp( )
dq
dt
V

R
t
RC
Ecuaciones diferenciales lineales de primer orden
La solucin de la ecuacin diferencial homognea con Q(t)=0, es
Cuando Q(t)0, se supone que C es una funcin de t se busca una solucin de la ecuacin no homognea.
Resolvemos la ecuacin homognea
Considerando c como funcin de t.
Introducimos dx/dt y x en la ecuacin diferencial no homognea
Introducimos c en la solucin de la ecuacin diferencial homognea
+ P(t)x = Q(t)
dx
dt
x = C exp( P(t)dt)
= tan(t) x + cos(t)
dx
dt
= tan(t) dt
dx
x
log(x) = log( ) + C
1
cos(t)
x = c
1
cos(t)
= + c
dx
dt
dc
dt
1
cos(t)
sin(t)
(t) cos
2
+ c = tan(t)c + cos(t)
dc
dt
1
cos(t)
sin(t)
(t) cos
2
1
cos(t)
= (t)
dc
dt
cos
2
c = t + sin(2t) +
1
2
1
4
C
1
>> x=dsolve('Dx-tan(t)*x=cos(t)')
x =(t/2 + sin(2*t)/4)/cos(t) + C2/cos(t)
Ecuacin de Bernoulli
Se reduce a una lineal haciendo la sustitucin x=uv
>> x=dsolve('Dx-4*x/t=t*sqrt(x)')
x = 0
(t^4*(C3 + log(t))^2)/4
Ecuaciones diferenciales exactas
Sea la ecuacin diferencial
Si se cumple que
La ecuacin diferencial se puede escribir de la forma dU(t,x)=P(t,x) dt+Q(t,x) dx=0, U(t,x)=C.
MATLAB no sabe calcular la solucin de esta ecuacin diferencial mediante dsolve para este caso,
>> syms t x;
>> P=3*t^2+6*t*x^2;
>> Q=6*t^2*x+4*x^3;
>> diff(P,x)
ans =12*t*x
>> diff(Q,t)
ans =12*t*x
>> x=dsolve('Dx+(3*t^2+6*t*x^2)/(6*t^2*x+4*x^3)=0')
x = ((9*t^4 - 4*t^3 + C7)^(1/2)/2 - (3*t^2)/2)^(1/2)
x = ( t + sin(2t) + )
1
2
1
4
C
1
1
cos(t)
+ P(t)x = Q(t) m 0,m 1
dx
dt
x
m
x = t
dx
dt
4
t
x

x = u v
u + v u v = t
dv
dt
du
dt
4
t
u v

( u) v + u = t
du
dt
4
t
dv
dt
u v

?
?
?
?
?
?
?
u = 0u =
du
dt
4
t
t
4
u = t
dv
dt
u v

= t v = t
4
dv
dt
v t
4

( ln|t| + C)
1
2
2
x = u v = t
4
( ln|t| + C)
1
2
2
P(t, x)dt + Q(t, x)dx = 0
Q(t, x) = P(t, x)
dx
dt
=
P
x
Q
t
U = P(t, x)dt + (x)
U = (3 + 6t )dt + (x) = + 3 + (x) t
2
x
2
t
3
t
2
x
2
Q(t, x) =
U
x
6 x + 4 = 6 x + t
2
x
3
t
2
d
dx
= 4 (x) = + C
d
dx
x
3
x
4
U = + 3 + (x) = + 3 + + C t
3
t
2
x
2
t
3
t
2
x
2
x
4
....
Para obtener la solucin vamos a reproducir el procedimiento empleado para obtener la solucin analtica.
>> syms x t;
>> P=3*t^2+6*t*x^2;
>> Q=6*t^2*x+4*x^3;
>> diff(P,x)
ans =12*t*x
>> diff(Q,t)
ans =12*t*x %diferencial exacta
>> u1=int(P,t) %integra P respecto de t
u1 =t^2*(3*x^2 + t)
>> du2=Q-diff(u1,x)
du2 =4*x^3
>> u2=int(du2,x) %integra respecto de x
u2 =x^4
>> u=u1+u2
u =t^2*(3*x^2 + t) + x^4
Si la diferencial no es exacta es posible encontrar un factor integrante , tal que
Este factor integrante se puede calcular fcilmente en dos casos:
La ecuacin diferencial se puede escribir de la forma dU(t,x)=P(t,x) dt+Q(t,x) dx=0, U(t,x)=C.
Sea la ecuacin diferencial
Calculamos el factor integrante
Obtenemos la solucin de la ecuacin diferencial
>> clear
>> syms x t c;
>> P=2*t*x+x*t^2+x^3/3;
>> Q=t^2+x^2;
>> diff(P,x)
ans =t^2 + 2*t + x^2
>> diff(Q,t)
ans =2*t %no es diferencial exacta
>> dmu=(diff(P,x)-diff(Q,t))/P
dmu =(t^2 + x^2)/(t^2*x + 2*t*x + x^3/3)
>> dmu=(diff(P,x)-diff(Q,t))/Q
dmu =1
>> mu=exp(t); %factor integrante
>> u1=int(P*mu,t)
(P) = (Q)

x

t
( ) = f(t) = exp( f(t)dt)
1
Q
P
x
Q
t
( ) = g(x) = exp( g(x)dx)
1
P
P
x
Q
t
P(t, x)dt + Q(t, x)dx = 0
(2tx + x + ) dt + ( + )dx = 0 t
2
x
3
3
t
2
x
2
( ) = (2t + + 2t) = 1 =
1
Q
P
x
Q
t
1
+ t
2
x
2
t
2
x
2
e
t
U = P(t, x)dt + (x)
U = (2tx + x + ) dt + (x) = e
t
t
2
x
3
3
= x + + (x) t
2
e
t
x
3
3
e
t
Q(t, x) =
U
x
( + ) = + + e
t
t
2
x
2
t
2
e
t
x
2
e
t
d
dx
= 0(x) = C
d
dx
U = x + + C = x( + ) + C t
2
e
t
x
3
3
e
t
e
t
t
2
x
2
3
u1 =(x*exp(t)*(3*t^2 + x^2))/3
>> du2=mu*Q-diff(u1,x)
du2 =exp(t)*(t^2 + x^2) - (2*x^2*exp(t))/3 - (exp(t)*(3*t^2 + x^2))/3
>> simplify(du2)
ans =0
>> u=u1+c
u =(x*exp(t)*(3*t^2 + x^2))/3+c
Ecuacin diferencial lineal homognea de coeficientes constantes
Races reales
Si las races s
1
,s
2
,...s
n
de la ecuacin caracterstica son distintas la solucin de la ecuacin diferencial es
Si las races se repiten, por ejemplo la raz s
1
se repite m veces, s
1
=s
2
=...s
m
Races complejas
Si las races de la ecuacin caracterstica son complejas, estas aparecen por pares, s
1
=a+bi y s
2
=a-bi que son
conjugadas.
La ms importante de las ecuaciones diferenciales lineales homogneas es la de segundo orden con coeficientes
constantes p y q.
La ecuacin caracterstica es s
2
+ps+q=0. La solucin general se escribe en una de las tres formas siguientes:
Ecuacin diferencial no homognea
La solucin se compone de la suma de dos trminos: la correspondiente a la ecuacin homognea y de una
solucin particular.
Ejemplos
1.-Ecuacin diferencial homognea con condiciones iniciales dadas.
La ecuacin caracterstica es s
2
+2s-6=0, cuyas races son s=-3 y s=2;
+ + ... + x = 0 a
1
x d
n
dt
n
a
2
x d
n1
dt
n1
a
n
dx
dt
a
n+1
x = Cexp(s t)
+ + ... + s + = 0 a
1
s
n
a
2
s
n1
a
n
a
n+1
x = exp( t) + exp( t) + ... exp( t) C
1
s
1
C
2
s
2
C
n
s
n
x = ( + t + ... + ) exp( t) + exp( t) + ... exp( t) C
1
C
2
C
m
t
m1
s
1
C
m+1
s
m+1
C
n
s
n
exp(at + bi t) + exp(at bi t) = C
1
C
2
exp(at) ( exp(bi t) + exp(bi t)) = C
1
C
2
exp(at) (( + ) cos(bt) + i( ) sin(bt)) = C
1
C
2
C
1
C
2
exp(at) ( cos(bt) + sin(bt)) = Aexp(at) sin(bt + ) B
1
B
2
+ p + qx = 0
x d
2
dt
2
dx
dt
x = exp( t) + exp( t)races reales distintas C
1
s
1
C
2
s
2
x = ( + t) exp( t)races reales iguales C
1
C
2
s
1
x = exp(at) ( cos(bt) + sin(bt)) races complejas C
1
C
2
+ + ... + x = f(x) a
1
x d
n
dt
n
a
2
x d
n1
dt
n1
a
n
dx
dt
a
n+1
+ 6x = 0
x d
2
dt
2
dx
dt
t = 0
?
?
?
x = 3
= 1
dx
dt
x = + C
1
e
3t
C
2
e
2t
>> x=dsolve('D2x+Dx-6*x=0','x(0)=3','Dx(0)=-1')
x =(8*exp(2*t))/5 + 7/(5*exp(3*t))
2.-Ecuacin diferencial no homognea
La solucin de esta ecuacin diferencial se compone de la suma de dos trminos, la homognea y la particular
La ecuacin caracterstica es s
2
+4s+3=0, cuyas races son s=-1 y s=-3; La solucin de la ecuacin diferencial
homognea es:
La solucin particular es x
1
=Aexp(-2t) que sustituimos en la ecuacin diferencial para determinar el valor de A
La solucin completa es
Determinamos las constantes C
1
y C
2
a partir de las condiciones iniciales
>> x=dsolve('D2x+4*Dx+3*x=3*exp(-2*t)','x(0)=1','Dx(0)=-1')
x =5/(2*exp(t)) - 3/exp(2*t) + 3/(2*exp(3*t))
3.-Ecuacin diferencial no homognea, cambia la solucin particular
La ecuacin caracterstica es s
2
+4s+3=0, cuyas races son s=-1 y s=-3; La solucin de la ecuacin diferencial
homognea es:
La solucin particular es x
1
=A t exp(-t) que sustituimos en la ecuacin diferencial para determinar el valor de A
La solucin completa es
Determinamos las constantes C
1
y C
2
a partir de las condiciones iniciales
t = 0{
3 = + C
1
C
2
1 = 3 + 2 C
1
C
2
x = +
7
5
e
3t
8
5
e
2t
+ 4 + 3x = 3
x d
2
dt
2
dx
dt
e
2t
t = 0
?
?
?
x = 1
= 1
dx
dt
x = + C
1
e
t
C
2
e
3t
4A + 4 (2)A + 3A = 3 e
2t
e
2t
e
2t
e
2t
A = 3
x = + 3 C
1
e
t
C
2
e
3t
e
2t
x = + 3 C
1
e
t
C
2
e
3t
e
2t
t = 0{
1 = + 3 C
1
C
2
1 = 3 + 6 C
1
C
2
x = + 3
5
2
e
t
3
2
e
3t
e
2t
+ 4 + 3x = 2
x d
2
dt
2
dx
dt
e
t
t = 0
?
?
?
x = 1
= 1
dx
dt
x = + C
1
e
t
C
2
e
3t
2A + At + 4 (A At ) + 3At = 2 e
t
e
t
e
t
e
t
e
t
e
t
A = 1
x = + t C
1
e
t
C
2
e
3t
e
t
x = + t C
1
e
t
C
2
e
3t
e
t
t = 0{
1 = + C
1
C
2
1 = 3 1 C C
>> x=dsolve('D2x+4*Dx+3*x=-2*exp(-t)','x(0)=1','Dx(0)=-1')
x =3/(2*exp(t)) - 1/(2*exp(3*t)) - t/exp(t)
4.-Otros ejemplos
La ecuacin caracterstica es 2s
2
-s-1=0, cuyas races son s=1 y s=-1/2
La solucin particular es de la forma x
1
=(At+B)exp(2t). Calculamos los coeficientes A y B en la ecuacin
diferencial
La solucin general de la ecuacin diferencial es
>> x=dsolve('2*D2x-Dx-x=4*t*exp(2*t)')
x =(4*exp(2*t)*(t - 1))/3 + C11*exp(t) + C12/exp(t/2) - (8*exp((5*t)/2)*(5*t -
2))/(75*exp(t/2))
>> simplify(x)
ans =(4*t*exp(2*t))/5 - (28*exp(2*t))/25 + C11*exp(t) + C12/exp(t/2)
La ecuacin caracterstica es s
2
-2s+1=0, cuyas races son iguales s=1. La solucin de la ecuacin diferencial
homognea es
La solucin particular es de la forma x
1
=(At+B) t
2
exp(t). Calculamos los coeficientes A y B en la ecuacin
diferencial, dando A=1/6 y B=0.
La solucin general de la ecuacin diferencial es
>> x=dsolve('D2x-2*Dx+x=t*exp(t)')
x =(t^3*exp(t))/6 + C14*exp(t) + C15*t*exp(t)
La ecuacin caracterstica es s
2
+1=0, cuyas races son complejas conjugadas s
1
=i, s
2
=-i. La solucin de la
ecuacin diferencial homognea es
La solucin particular es de la forma x
1
=t ((At+B) cos(t)+(Ct+D) sin(t)).Calculamos los coeficientes A, B, C y D
en la ecuacin diferencial, dando A=-1/4, B=0, C=0, D=1/4.
La solucin general de la ecuacin diferencial es
>> x=dsolve('D2x+x=t*sin(t)')
x =sin(t)*(sin(2*t)/8 - (t*cos(2*t))/4) + cos(t)*(cos(2*t)/8 +
(t*sin(2*t))/4 - t^2/4 - 1/8) + C17*cos(t) + C18*sin(t)
>> simplify(x)
ans =C17*cos(t) - (t^2*cos(t))/4 + C18*sin(t) + (t*sin(t))/4
1 2
x = t
3
2
e
t
1
2
e
3t
e
t
2 x = 4t
x d
2
dt
2
dx
dt
e
2t
2 (4A + 4B + 4At) (A + 2B + 2At) (B + At) = 4t e
2t
e
2t
e
2t
e
2t
A = B =
4
5
28
25
x = + + ( t ) C
1
e
t
C
2
e
t/2
e
2t
4
5
28
25
2 + x = t
x d
2
dt
2
dx
dt
e
t
x = + C
1
e
t
C
2
e
t/2
x = ( + t) + C
1
C
2
e
t
1
6
t
3
e
t
+ x = t sin(t)
x d
2
dt
2
x = cos(t) + sin(t) C
1
C
2
x = cos(t) + sin(t) cos(t) + sin(t) C
1
C
2
t
2
4
t
4
Sistemas homogneos de ecuaciones
diferenciales lineales
Vamos a estudiar los distintos casos que se pueden presentar en un sistema homogneo de ecuaciones
diferenciales lineales con coeficientes constantes.
Valores propios reales y distintos
Comencemos con un sistema de dos ecuaciones diferenciales, con las condiciones iniciales especificadas.
Resolvemos el sistema de forma analtica
Determinamos C
1
y C
2
a partir de las condiciones iniciales
Resolvemos el sistema de las dos ecuaciones diferenciales utilizando la funcin dsolve deMATLAB
>> syms x y t;
>> eq1='Dx=x+2*y';
>> eq2='Dy=3*x+2*y';
>> [x1 y1]=dsolve(eq1,eq2,'x(0)=0','y(0)=-4')
x1 =8/(5*exp(t)) - (8*exp(4*t))/5
y1 =- 8/(5*exp(t)) - (12*exp(4*t))/5
Escribimos el sistema de dos ecuaciones diferenciales lineales en forma matricial
?
?
?
?
?
?
?
= x + 2y
dx
dt
= 3x + 2y
dy
dt
t = 0{
x = 0
y = 4
= + 2
x d
2
dt
2
dx
dt
dy
dt
2(3x + 2y) = 0
x d
2
dt
2
dx
dt
6x 4 ( x) = 0
x d
2
dt
2
dx
dt
1
2
dx
dt
3 4x = 0
x d
2
dt
2
dx
dt
3s 4 = 0{ s
2
= 4 s
1
= 1 s
2
x = + C
1
e
4t
C
2
e
t
y = ( x) =
1
2
dx
dt
3
2
C
1
e
4t
C
2
e
t
?
?
?
0 = + C
1
C
2
4 =
3
2
C
1
C
2
x = ( + )
8
5
e
4t
e
t
y = (3 + 2 )
4
5
e
4t
e
t
Calculamos los valores y vectores propios de la matriz A mediante la funcin eig de MATLAB
>> A=sym('[1,2;3,2]');
>> [V D]=eig(A)
V =
[ -1, 2/3]
[ 1, 1]
D =
[ -1, 0]
[ 0, 4]
Los valores propios son
1
=-1 y
2
=4 y los correspondientes vectores propios son v
1
=[-1, 2/3] y v
2
=[1, 1]. La
solucin del sistema de ecuaciones diferenciales se escribe
Determinamos C
1
y C
2
a partir de las condiciones iniciales
Elaboramos el script sis_diferencial para obtener la solucin final de x denominada x(1) en el cdigo y de y,
denominada x(2) en funcion del tiempo t.
clear
syms t;
A=sym('[1,2;3,2]');
[V D]=eig(A); %vectores propios y valores propios
x0=sym('[0;-4]'); %condiciones inciales
C=V\x0; %coeficientes C1 y C2
C=C.*exp(diag(D)*t); %multiplica cada coeficiente por la exponencial
x=V*C;
x=simplify(x)
Corremos el script sis_diferencial en la ventana de comandos y obtenemos el resultado para x y para y.
Valores propios complejos conjugados
Sea el sistema homogneo de dos ecuaciones diferenciales lineales, con las condiciones iniciales especificadas
Resolvemos este sistema con la funcin dsolve de MATLAB
>> syms x y t;
>> eq1='Dx=3*x-13*y';
>> eq2='Dy=5*x+y';
>> [x1 y1]=dsolve(eq1,eq2,'x(0)=3','y(0)=-10')
x1 =3*cos(8*t)*exp(2*t) + (133*sin(8*t)*exp(2*t))/8
y1 =(25*sin(8*t)*exp(2*t))/8 - 10*cos(8*t)*exp(2*t)
Escribimos el sistema de dos ecuaciones diferenciales lineales en forma matricial
= ( ) ( )
?
?
dx
dt
dy
dt
?
?
1
3
2
2
x
y
= Au u?
x = + C
1
v
1
e
t
1
C
2
v
2
e
t
2
( ) = ( ) + ( )
x
y
C
1
1
1
e
t
C
2
2/3
1
e
4t
( ) = ( ) + ( )
0
4
C
1
1
1
C
2
2/3
1
?
?
?
?
?
?
?
= C
1
8
5
= C
2
12
5
x = ( + )
8
5
e
4t
e
t
y = (3 + 2 )
4
5
e
4t
e
t
?
?
?
?
?
?
?
= 3x 13y
dx
dt
= 5x + y
dy
dt
t = 0{
x = 3
y = 10
= ( ) ( )
?
?
dx
dt
dy
dt
?
?
3
5
13
1
x
y
Calculamos los valores y vectores propios de la matriz A mediante la funcin eig de MATLAB
>> A=sym('[3,-13;5,1]')
>> [V D]=eig(A)
V =
[ 1/5 - (8*i)/5, (8*i)/5 + 1/5]
[ 1, 1]
D =
[ 2 - 8*i, 0]
[ 0, 8*i + 2]
Los valores propios son
1
=2-8i y
2
=2+8i. y los correspondientes vectores propios son v
1
=[(1-8i)/5, 1] y v
2
=
[(1+8i)/5, 1]. La solucin del sistema de ecuaciones diferenciales se escribe
Determinamos C
1
y C
2
con las condiciones iniciales
El clculo de las expresiones de x e y en funcin del tiempo t es bastante largo. Podemos utilizar la funcin
simplify de MATLAB para efectuar las operaciones con nmeros complejos y simplificarla.
>> syms t;
>> x=(-80+25*i)*(1-8*i)*exp((2-8*i)*t)/80-(80+25*i)*(1+8*i)*exp((2+8*i)*t)/80;
>> simplify(x)
ans =(exp(2*t)*(24*cos(8*t) + 133*sin(8*t)))/8
>> y=(-80+25*i)*exp((2-8*i)*t)/16-(80+25*i)*exp((2+8*i)*t)/16;
>> simplify(y)
ans =-(5*exp(2*t)*(16*cos(8*t) - 5*sin(8*t)))/8
Utilizamos el script sis_diferencial cambiando los valores de los elementos de la matriz A, y del vector x
0
de los
valores iniciales, obtenemos el mismo resultado para x y para y
....
A=sym('[3,-13;5,1]');
x0=sym('[3;-10]'); %condiciones inciales
....
Valores propios reales repetidos
Sea el sistema homogneo de dos ecuaciones diferenciales lineales, con las condiciones iniciales especificadas
Resolvemos el sistema de forma analtica
= Au u?
x = + C
1
v
1
e
t
1
C
2
v
2
e
t
2
( ) = +
x
y
C
1
?
?
1 8i
5
1
?
?
e
(28i)t
C
2
?
?
1 + 8i
5
1
?
?
e
(2+8i)t
( ) = +
3
10
C
1
?
?
1 8i
5
1
?
?
C
2
?
?
1 + 8i
5
1
?
?
?
?
?
?
?
?
?
= C
1
80 + 25i
16
= C
2
80 + 25i
16
x = =
80 + 25i
16
1 8i
5
e
(28i)t
80 + 25i
16
1 + 8i
5
e
(2+8i)t
x = (24cos(8t) + sin(8t))
1
8
e
2t
133
8
y = =
80 + 25i
16
e
(28i)t
80 + 25i
16
e
(2+8i)t
y = (16cos(8t) + 5sin(8t))
5
8
e
2t
?
?
?
?
?
?
?
= 7x + y
dx
dt
= 4x + 3y
dy
dt
t = 0{
x = 2
y = 5
= 7 +
x d
2
dt
2
dx
dt
dy
dt
= 7 + (4x + 3y) = 7 4x + 3y
x d
2
dx dx
Determinamos C
1
y C
2
con las condiciones iniciales
Intentamos resolver este sistema con la funcin dsolve de MATLAB
>> syms x y t;
>> eq1='Dx=7*x+y';
>> eq2='Dx=-4*x+3*y';
>> [x1 y1]=dsolve(eq1,eq2,'x(0)=2','y(0)=-5')
Warning: more equations than unknowns: trying heuristics to reduce to square
system [ode::solve_intern]
Obtenemos un aviso Warning, y no aparece la solucin analtica
Escribimos el sistema de las dos ecuaciones diferenciales lineales en forma matricial
Calculamos los valores y vectores propios de la matriz A mediante la funcin eig de MATLAB
>> A=sym('[7,1;-4,3]');
>> [V D]=eig(A)
V =
-1/2
1
D =
[ 5, 0]
[ 0, 5]
Los valores propios son
1
=5 y
2
=5, repetidos y el correspondiente vector propio son v
1
=[-1/2, 1] . La solucin
del sistema de ecuaciones diferenciales se escribe
El vector v
2
se calcula del siguiente modo:
obtenemos la misma ecuacin, una relacin entre las dos componentes del vector v
2
, 2v
2x
+v
2y
=-1/2. Un posible
vector sera v
2
=[0 -1/2].
Determinamos C
1
y C
2
con las condiciones iniciales
dt
2
dt dt
= 7 4x + 3( 7x)
x d
2
dt
2
dx
dt
dx
dt
10 + 25x = 0
x d
2
dt
2
dx
dt
10s + 25 = 0{ s
2
= 5
1
= 5
2
x = ( + t) C
1
C
2
e
5t
y = 7x = ( 2 2 t)
dx
dt
C
2
C
1
C
2
e
5t
{
2 = C
1
5 = 2 C
2
C
1
= 2 = 1 C
1
C
2
x = (2 t) e
5t
y = (5 + 2t) e
5t
= ( ) ( )
?
?
dx
dt
dy
dt
?
?
7
4
1
3
x
y
= Au u?
x = + (t + ) C
1
v
1
e
t
C
2
v
1
v
2
e
t
(A I) = v
2
v
1
( ) 5( ) = ( )
7
4
1
3
1
0
0
1
2
4
1
2
( ) ( ) = ( )
2
4
1
2
v
2x
v
2y
1/2
1
( ) = ( ) + (t ( ) + ( ))
x
y
C
1
1/2
1
e
5t
C
2
1/2
1
0
1/2
e
5t
Los casos de races repetidas tres veces o ms han de ser estudiados cuidadosamente, remitimos a la segunda
referencia al final de esta pgina.
Ejemplos
Oscilaciones amortiguadas
Sea la ecuacin diferencial de segundo orden que describe un oscilador amortiguado
Escribimos la ecuacin diferencial de segundo orden en forma de sistema de dos ecuaciones diferenciales de
primer orden y en forma matricial
Calculamos los valores y vectores propios de la matriz A mediante la funcin eig de MATLAB
>> A=sym('[0,1;-68,-4]');
>> [V D]=eig(A)
V =
[ (2*i)/17 - 1/34, - (2*i)/17 - 1/34]
[ 1, 1]
D =
[ - 8*i - 2, 0]
[ 0, 8*i - 2]
Los valores propios son
1
=-2-8i y
2
=-2+8i. y los correspondientes vectores propios son v
1
=[(-1+4i)/34, 1] y v
2
=
[(-1-4i)/34, 1], o mejor, v
1
=[1, (-2-8i)] y v
2
=[1, (-2+8i)].
La solucin del sistema de ecuaciones diferenciales se escribe
Dadas las condiciones iniciales, posicin y velocidad inicial, calculamos las constantes C
1
y C
2
.
Obtenemos las expresiones de x e y realizando las siguientes operaciones en la ventana de comandos
( ) = ( ) + ( ) {
2
5
C
1
1/2
1
C
2
0
1/2
= 4 C
1
= 2 C
2
( ) = 4( ) + 2(t ( ) + ( ))
x
y
1/2
1
e
5t
1/2
1
0
1/2
e
5t
x = (2 t)e
5t
y = (5 + 2t)e
5t
+ 4 + 68x = 0
x d
2
dt
2
dx
dt
+ 4s + 68 = 0{ s
2
= 2 + 8i s
1
= 2 8i s
2
x = + C
1
e
(2+8i)t
C
2
e
(28i)t
?
?
?
?
?
?
?
= y
dx
dt
= 68x 4y
dy
dt
= ( ) ( )
?
?
dx
dt
dy
dt
?
?
0
68
1
4
x
y
x = + C
1
v
1
e
t
1
C
2
v
2
e
t
2
( ) = ( ) + ( )
x
y
C
1
1
2 8i
e
(28i)t
C
2
1
2 + 8i
e
(2+8i)t
x = + C
1
e
(28i)t
C
2
e
(2+8i)t
y = (2 8i) + (2 + 8i) C
1
e
(28i)t
C
2
e
(2+8i)t
t = 0
?
?
?
x = 1
= y = 0
dx
dt
= = C
1
4 + i
8
C
2
4 i
8
>> syms t;
>> x=(4+i)*exp((-2-8*i)*t)/8+(4-i)*exp((-2+8*i)*t)/8;
>> simplify(x)
ans =(4*cos(8*t) + sin(8*t))/(4*exp(2*t))
>> y=(-2-8*i)*(4+i)*exp((-2-8*i)*t)/8+(-2+8*i)*(4-i)*exp((-2+8*i)*t)/8;
>> simplify(y)
ans =-(17*sin(8*t))/(2*exp(2*t))
Utilizamos el script sis_diferencial cambiando los valores de los elementos de la matriz A y del vector x
0
de los
valores iniciales, obtenemos la expresin de x y de y=dx/dt en funcin del tiempo.
....
A=sym('[3,-13;5,1]');
x0=sym('[1;0]'); %condiciones inciales
....
Corremos el script sis_diferencial en la ventana de comandos
>> sis_diferencial
Resultado
ans =
(4*cos(8*t) + sin(8*t))/(4*exp(2*t))
-(17*sin(8*t))/(2*exp(2*t))
Oscilaciones de tres partculas
Vamos a estudiar un sistema formado por tres partculas de la misma masa m unidas por muelles elsticos iguales
de constante k, tal como se muestra en la figura.
Supongamos que la primera partcula se desplaza x
1
de la posicin de equilibrio, que la segunda se desplaza x
2
y
la tercera, se desplaza x
3.
En las figuras, se muestra las fuerzas sobre cada una de las partculas
Ecuacin del movimiento de la primera partcula
Ecuacin del movimiento de la segunda partcula
Ecuacin del movimiento de la tercera partcula
Para simplificar la notacin, escribimos el cociente k/m como k, el sistema de tres ecuaciones diferenciales de
segundo orden se puede convertir en un sistema homogneo de seis ecuaciones diferenciales de primer orden
cuya representacin matricial es la siguinte:
m = k + k( ) x
1
x
1
x
2
x
1
m = k( ) + k( ) x
2
x
2
x
1
x
3
x
2
m = k( ) k x
3
x
3
x
2
x
3
= = 2k + k
dx
1
dt
y
1
dy
1
dt
x
1
x
2
= = k 2k + k
dx
2
dt
y
2
dy
2
dt
x
1
x
2
x
3
= = k 2k
dx
3
dt
y
3
dy
3
dt
x
2
x
3
Calculamos los valores y vectores propios de la matriz A mediante la funcin eig de MATLAB
>> syms k;
>> A=[0,1,0,0,0,0;-2*k,0,k,0,0,0;0,0,0,1,0,0;k,0,-2*k,0,k,0;0,0,0,0,0,1;0,0,k,0,-2*k,0];
>> [V D]=eig(A)
V =...
D=...
Podemos observar que los valores propios se corresponden con las frecuencias de los modos normales de
vibracin. La solucin de este sistema de ecuaciones diferenciales se escribe
v
i
es el vector propio correspondiente al valor propio
i
. Dadas las condiciones iniciales, posicin y velocidad
inicial de cada una de las tres partculas, calculamos las constantes C
1
... C
6
y obtenemos la expresin de la
posicin y velocidad de cada una de las partculas en funcin del tiempo.
Las condiciones iniciales las especificamos en un vector x
0
, que tiene seis elementos: [x
01
,v
01
,x
02
,v
02
,x
03
,v
03
]. x
i
significa posicin inicial y v
i
velocidad incicial de la partcula i.
Creamos un script similar a sis_diferencial, para resolver este problema y representar x
1
, x
2
y x
3
en funcin del
tiempo t. Se sugiere probar con otras condicions iniciales, por ejemplo.
clear
syms k t;
A=[0,1,0,0,0,0;-2*k,0,k,0,0,0;0,0,0,1,0,0;k,0,-2*k,0,k,0;0,0,0,0,0,1;0,0,k,0,-2*k,0];
A=subs(A,k,sym('1')); %para cambiar el valor de k/m, es distinto a subs(A,k,1)
[V D]=eig(A); %valores propios y vectores propios
x0=sym('[1;0;0;0;-1;0]'); %para cambiar las condiciones iniciales
%x0=sym('[1;0;sqrt(2);0;1;0]'); %para cambiar las condiciones iniciales
C=V\x0; %coeficientes C1 y C2
C=C.*exp(diag(D)*t); %multiplica cada coeficiente por la exp
x=V*C;
disp('Resultado')
x=simplify(x)
%grfica
hold on
h=ezplot(x(1));
set(h,'color','r')
h=ezplot(x(3));
set(h,'color','b')
h=ezplot(x(5));
set(h,'color','k')
hold off
Corremos el script sis_diferencial_2 en la ventana de comandos
>> sis_diferencial_2
Resultado
x =
cos(2^(1/2)*t)
-2^(1/2)*sin(2^(1/2)*t)
0
0
-cos(2^(1/2)*t)
2^(1/2)*sin(2^(1/2)*t)
En este modo normal de oscilacin las ecuaciones del movimiento de cada partcula son:
=
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
dx
1
dt
dy
1
dt
dx
2
dt
dy
2
dt
dx
3
dt
dy
3
dt
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
0
2k
0
k
0
0
1
0
0
0
0
0
0
k
0
2k
0
k
0
0
1
0
0
0
0
0
0
k
0
2k
0
0
0
0
1
0
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
x
1
y
1
x
2
y
2
x
3
y
3
?
?
?
?
?
?
?
?
?
?
?
x =
i=1
6
C
i
v
i
e
t
i
= i = i
1
k(2 ) 2


2
k(2 ) 2

= i = i
3
k(2 + ) 2


4
k(2 + ) 2

= i = i
5
2k


6
2k

= 1 = = 1 x
01
x
02
2 x
03
= 1 = 0 = 1 x
01
x
02
x
03
= 1 = = 1 x
01
x
02
2 x
03
La segunda partcula permanece en reposo, tal como podemos apreciar en la figura: en rojo, la primera partcula,
en azul, la segunda y en negro, la tercera.
= cos ( t) x
1
2
= 0 x
2
= cos ( t) x
3
2
Sistemas no homogneos de ecuaciones
diferenciales lineales
Consideremos el sistema no homogno de dos ecuaciones diferenciales de primer orden con coeficientes
constantes.
Para resolverlo se siguen los pasos:
1.-Derivamos la primera ecuacin respecto de t
2.-Despejamos y en la primera ecuacin
3.-Despejamos dy/dt en la segunda ecuacin y sustitumos el valor de y, calculado anteriormente
4.-Obtenemos una ecuacin diferencial de segundo orden
La solucin particular es x
1
=at
2
+bt+c, introducindola en la ecuacin diferencial nos da a=1, b=1,c=0, por lo
que x
1
=t
2
+t.
Las races de la ecuacin caracterstica s
2
+s-6=0 son s
1
=-3 y s
2
=2.
La solucin completa es
Dadas las condiciones iniciales x(t
0
) e y(t
0
) determinamos las constantes C
1
y C
2
.
Resolvemos este sistema con la funcin dsolve de MATLAB
>> syms x y t;
>> eq1='Dx+2*x+4*y=1+4*t';
?
?
?
?
?
?
?
+ 2x + 4y = 1 + 4t
dx
dt
+ x y =
dy
dt
3
2
t
2
+ 2 + 4 = 4
x d
2
dt
2
dx
dt
dy
dt
y = (1 + 4t 2sx)
1
4
dx
dt
= x + (1 + 4t 2x)
dy
dt
3
2
t
2
1
4
dx
dt
+ 2 + 6 4x + 1 + 4t 2x = 4
x d
2
dt
2
dx
dt
t
2
dx
dt
+ 6x = 6 4t + 3
x d
2
dt
2
dx
dt
t
2
x = + + + t C
1
e
2t
C
2
e
3t
t
2
y = (1 + 4t 2x) = +
1
4
dx
dt
C
1
e
2t
C
2
4
e
3t
1
2
t
2
t = 0{
x = 0
y = 1
x = + + + t
4
5
e
2t
4
5
e
3t
t
2
y = +
4
5
e
2t
1
5
e
3t
1
2
t
2
>> eq2='Dy+x-y=3*t^2/2';
>> [x1 y1]=dsolve(eq1,eq2,'x(0)=0','y(0)=1')
x1 =t - (4*exp(2*t))/5 + 4/(5*exp(3*t)) + t^2
y1 =(4*exp(2*t))/5 + 1/(5*exp(3*t)) - t^2/2
Resolucin en forma matricial
Escribimos el sistema no homogno de dos ecuaciones diferenciales lineales en forma matricial
Solucin de la homognea
Estudiamos el sitema homogneo, para ello modificamos el script sis_diferencial, cambiando la matriz A y el
vector x
0
de valores iniciales.
clear
syms t;
A=sym('[-2,-4;-1,1]');
[V D]=eig(A); %vectores propios y valores propios
x0=sym('[0;1]'); %condiciones inciales
C=V\x0; %coeficientes C1 y C2
C=C.*exp(diag(D)*t); %multiplica cada coeficente por la exponencial
x=V*C
Corremos el script sis_diferencial,en la ventana de comandos
>> sis_diferencial
x =
4/(5*exp(3*t)) - (4*exp(2*t))/5
(4*exp(2*t))/5 + 1/(5*exp(3*t))
Solucin particular
Buscamos una solucin particular de la forma x=at
2
+bt+c, donde a, b y c son vectores. Es decir
Introducimos la solucin particular en la ecuacin diferencial
Obtenemos las siguientes ecuaciones matriciales que resolvemos utilizando el operador divisin por la izquierda
>> A=[-2,-4;-1,1];
>> a0=[0;1.5];
>> a=A\(-a0)
a =
1.0000
-0.5000
>> b0=[4;0];
>> b=A\(2*a-b0)
b =
1
0
>> c0=[1;0];
>> c=A\(b-c0)
c =
0
0
= ( ) ( ) + ( )
?
?
dx
dt
dy
dt
?
?
2
1
4
1
x
y
1 + 4t
3 /2 t
2
( ) = ( ) + ( ) t + ( ) = ( )
x
1
x
2
a
1
a
2
t
2
b
1
b
2
c
1
c
2
+ t + a
1
t
2
b
1
c
1
+ t + a
2
t
2
b
2
c
2
( ) = ( ) ( ) + ( )
2 t + a
1
b
1
2 t + a
2
b
2
2
1
4
1
+ t + a
1
t
2
b
1
c
1
+ t + a
2
t
2
b
2
c
2
1 + 4t
3 /2 t
2
2( ) t + ( ) = ( ) ( ) + ( ) ( ) t + ( ) ( ) +
a
1
a
2
b
1
b
2
2
1
4
1
a
1
a
2
t
2
2
1
4
1
b
1
b
2
2
1
4
1
c
1
c
2
( ) + ( ) t + ( )
0
3/2
t
2
4
0
1
0
2at + b = Aa + Abt + Ac + + t + t
2
a
0
t
2
b
0
c
0
?
?
?
?
?
Aa = a
0
Ab = 2a b
0
Ac = b c
0
As pues, a
1
=1,b
1
=1,c
1
=0. a
2
=-1/2,b
2
=0,c
2
=0.
Solucin completa
La solucin completa es la suma de la homognea y particular.
x = + + + t
4
5
e
2t
4
5
e
3t
t
2
y = +
4
5
e
2t
1
5
e
3t
1
2
t
2
Polinomios y fracciones polinmicas
Las funciones polinmicas son unas de las ms importantes en Matemticas, MATLAB dispone de varias
funciones que tratan con polinomios, algunas de las cuales ya hemos estudiado en la seccin Procedimientos
numricos.
Un polinomio de grado n de coeficientes a
1
,a
2
...,a
n
,a
n+1
es la expresin
a
1
x
n
+a
2
x
n-1
+...+a
n
x+a
n+1
en MATLAB se representa por el vector fila p=[a
1
,a
2
...,a
n
,a
n+1
]
El polinomio p=x
3
-2x
2
+x-2se representa por el vector p=[1 -2 1 -2]
Los polinomios se pueden representar de forma simblica mediante la funcin poly2sym.
>> p=[1 -2 1 -2];
>> poly2sym(p)
ans =x^3 - 2*x^2 + x - 2
A su vez un polinomio en forma simblica se puede convertir en el vector formado por sus coeficientes mediante
sym2poly
>> syms x;
>> sym2poly(x^3-2*x-4)
ans = 1 0 -2 -4
Valor de un polinomio
Calculamos el valor de polinomio cuando se conoce el valor la variable x.
Sea p= x
5
- 3.5x
4
+ 2.75x
3
+ 2.125x
2
- 3.875x + 1.25
Cuando se expresa un polinomio de forma simblica se utiliza la funcin subs
>> syms x;
>> p=x^5-3.5*x^4+2.75*x^3+2.125*x^2-3.875*x+1.25;
>> subs(p,x,1.5)
ans = -0.6250
La funcin polyval nos proporciona este valor cuando se expresa el polinomio en forma de vector formado por
los coeficientes.
>> p=[1 -3.5 2.75 2.125 -3.875 1.25];
>> polyval(p,1.5)
ans = -0.6250
Suma de polinomios
Queremos sumar los polinomios p
1
=x
3
-2x-4 y p
2
=x
2
+3x+4
De forma simblica
>> syms x;
>> p1=x^3-2*x-4;
>> p2=x^2+3*x+4;
>> p1+p2
ans =x^3 + x^2 + x
Para sumar dos polinomios en forma de vectores, los vectores tiene que tener las mismas dimensiones
>> p1=[1 0 -2 -4];
>> p2=[2 3 4];
>> p1+p2
??? Error using ==> plus
Matrix dimensions must agree.
>> p2=[0 2 3 4];
>> p1+p2
ans = 1 2 1 0
Producto de dos polinomios
Queremos multiplicar los polinomios p
1
=x
3
-2x-4 y p
2
=x
2
+3x+4
De forma simblica
>> clear
>> syms x;
>> p1=x^3-2*x-4;
>> p2=x^2+3*x+4;
>> p=p1*p2
p =-(x^2 + 3*x + 4)*(- x^3 + 2*x + 4)
>> expand(p)
ans =x^5 + 3*x^4 + 2*x^3 - 10*x^2 - 20*x - 16
Producto de dos polinomios mediante la funcin conv
>> p1=[1 0 -2 -4];
>> p2=[1 3 4];
>> p=conv(p1,p2)
p = 1 3 2 -10 -20 -16
Cociente
De forma simblica
>> syms x;
>> p1=x^3+5*x^2+11*x+13;
>> p2=x^2+2*x+4;
>> p=p1/p2
p =(x^3 + 5*x^2 + 11*x + 13)/(x^2 + 2*x + 4)
>> simplify(p)
ans =x + (x + 1)/(x^2 + 2*x + 4) + 3
La funcin deconv nos proporciona el cociente y el resto de la divisin entre dos polinomios.
>> p1=[1 5 11 13];
>> p2=[1 2 4];
>> [q r]=deconv(p1,p2)
q = 1 3
r = 0 0 1 1
Derivada
La regla de derivacin de cada trmino de un polinomio es
Mediante la funcin diff(p,n) calculamos la derivada n del polinomio p de forma simblica
>> syms x;
>> p=x^3+4*x^2-3*x-2;
>> diff(p)
ans =3*x^2 + 8*x - 3
>> diff(p,2)
ans =6*x + 8
La funcin polyder calcula la derivada de un polinomio expresado en forma de vector formado por los
coeficientes.
>> p=[1 4 -3 -2];
>> polyder(p)
ans = 3 8 -3
Tambin calcula la derivada del producto de dos polinomios o del cociente de dos polinomios
= (x + 3) +
+ 5 + 11x + 13 x
3
x
2
+ 2x + 4 x
2
x + 1
+ 2x + 4 x
2
a = n
d
dx
x
n
a
n1
(u v) = u + v
d
dx
dv
dx
du
dx
(x + 1)(x 3) = 2x 2
d
>> p1=[1 1];
>> p2=[1 -3];
>> polyder(p1,p2)
ans = 2 -2
>> [q d]=polyder(p1,p2)
q = -4
d = 1 -6 9
Integral
La integral de cada uno de los trminos del polinomio se calcula mediante la frmula
La funcin int calcula la integral de forma analtica, suponiendo que la constante de integracin vale 0
>> syms x;
>> p=4*x^3+4*x^2-2*x-2;
>> int(p)
ans =x^4 + (4*x^3)/3 - x^2 - 2*x
La funcin polyint calcula la integral cuando se expresa un polinomio como vector formado por los coeficientes
>> p=[4 4 -2 2];
>> polyint(p)
ans = 1.0000 1.3333 -1.0000 2.0000 0
Races de un polinomio
Cuando se expresa un polinomio de forma simblica se utiliza la funcin solve
>> syms x;
>> p=x^5-3.5*x^4+2.75*x^3+2.125*x^2-3.875*x+1.25;
>> solve(p)
ans =
2
-1
1/2
i/2 + 1
1 - i/2
Cuando se expresa un polinomio como vector formado por los coeficientes, se emplea la funcin roots.
>> p=[1 -3.5 2.75 2.125 -3.875 1.25];
>> roots(p)
ans =
2.0000
-1.0000
1.0000 + 0.5000i
1.0000 - 0.5000i
0.5000
Conocidas las races del polinomio podemos calcular el vector que guarda los coeficientes mediante poly
>> r=[2 -1 1+0.5i 1-0.5i 0.5]; %races del polinomio
>> poly(r)
ans = 1.0000 -3.5000 2.7500 2.1250 -3.8750 1.2500
Obtenemos el polinomio p a partir de sus races
Factorizacin
La funcin factor convierte un polinomio expresado en forma simblica en factores
>> syms x;
>> p=x^3-6*x^2+11*x-6;
>> factor(p)
ans =(x - 3)*(x - 1)*(x - 2)
Expansin
dx
( ) =
d
dx
u
v
v u
du
dx
dv
dx
v
2
( ) = =
d
dx
x + 1
x 3
4
(x 3)
2
4
6x + 9 x
2
a dx = a x
n
x
n+1
n + 1
La funcin expand realiza operaciones con polinomios, por ejemplo, devuelve el polinomio p a partir de sus
factores
>> syms x;
>> p=(x - 3)*(x - 1)*(x - 2);
>> expand(p)
ans =x^3 - 6*x^2 + 11*x - 6
>> p=(x-1)^3+2*(x+3)^2+x^2-2*x-2;
>> expand(p)
ans =x^3 + 13*x + 15
Fracciones polinmicas
La expansin de una fraccin polinmica en fracciones ms simples, [r,p,k]=residue(num,den) es una operacin
muy til para las integrales de funciones racionales y las transformadas inversas de Laplace.
Si m<n el una fraccin propia y si mn se conoce como fraccin impropia.Trataremos en primer lugar, las
fracciones propias.
1.-Races reales distintas
Cuando las races son r
1
, r
2
,...r
n
, son reales y distintas, podemos expresar el cociente como
Las constantes c
1
, c
2
,...c
n
, se denominan residuos.
[c,r]=residue(a,b) calcula los residuos c y las races r de una fraccin polinmica
>> a=[1 -2];
>> b=[1 -1 -6 0];
>> [c,r]=residue(a,b)
c =
0.0667
-0.4000
0.3333
r =
3
-2
0
2.-Races complejas distintas
Si r es la raz compleja de una ecuacin, tambin es raz su compleja conjugada r
*
. Entonces el residuo c
correpondiente a la raz r es igual al conjugado c
*
del residuo correpondiente a la raz r
*
.
>> a=[1 -2 1];
>> b=[1 3 4 2];
>> [c,r]=residue(a,b)
c =
-1.5000 + 2.0000i
-1.5000 - 2.0000i
4.0000
r =
-1.0000 + 1.0000i
-1.0000 - 1.0000i
-1.0000
Para eliminar los nmeros complejos, sumamos las dos primeras fracciones, que en general se expresan
=
A(x)
B(x)
+ + .... + x + a
1
x
m
a
2
x
m1
a
m
a
m+1
+ + .... + x + b
1
x
n
b
2
x
n1
b
n
b
n+1
= + + ... +
A(x)
B(x)
c
1
x r
1
c
2
x r
2
c
n
x r
n
x 2
6x x
3
x
2
= + +
x 2
6x x
3
x
2
0.0667
x 3
0.4
x (2)
0.333
x 0
2x + 1 x
2
+ 3 + 4x + 2 x
3
x
2
= + +
2x + 1 x
2
+ 3 + 4x + 2 x
3
x
2
1.5 + 2i
x (1 + i)
1.5 2i
x (1 i)
4
x (1)
+ = + =
c + di
x (a + bi)
c di
x (a bi)
c + di
(x a) bi
c di
(x a) + bi
Con c=-1.5, d=2, a=-1, b=1, obtenemos
Finalmente,
3.-Races repetidas
Supongamos que la raz r
1
se ha repetido k veces y las otras raices sern r
k+1,
r
k+2
...r
n
Sea
>> a=[5 -1];
>> b=[1 0 -3 -2];
>> [c,r]=residue(a,b)
c =
1.0000
-1.0000
2.0000
r =
2.0000
-1.0000
-1.0000
4.-Fracciones impropias
Si el grado m del polinomio A es mayor que el grado n del polinomio B (mn), entonces
Donde Q(x) es un polinomio de grado m-n, y el resto R(x) es un polinomio de gardo inferior a n.
La funcin residue devuelve un tercer parmetro q que contiene los coeficientes del polinomio cociente
>> a=[1 2 3];
>> b=[1 1 -6];
>> [c,r,q]=residue(a,b)
c =
-1.2000
2.2000
r =
-3
2
q =
1
Recuperando la fraccin polinmica original
La funcin residue nos permite recuperar la fraccin original, tal como se muestra a continuacin
>> c=[-1.2 2.2];
>> r=[-3 2];
>> q=[1];
>> [a b]=residue(c,r,q)
a = 1 2 3
b = 1 1 -6
2(cx ca bd)
+ (x a)
2
b
2
+ =
1.5 + 2i
x (1 + i)
1.5 2i
x (1 i)
3x + 7
+ 1 (x + 1)
2
= +
2x + 1 x
2
+ 3 + 4x + 2 x
3
x
2
3x + 7
+ 2x + 2 x
2
4
x + 1
= + + ... + + ...
A(x)
B(x)
c
1
(x ) r
1
c
2
(x ) r
1
2
c
k
(x ) r
1
k
c
k+1
(x ) r
k+1
c
n
(x ) r
n
5x 1
3x 2 x
3
= + +
5x 1
3x 2 x
3
1
x 2
1
x + 1
2
(x + 1)
2
= Q(x) +
A(x)
B(x)
R(x)
B(x)
+ 2x + 3 x
2
+ x 6 x
2
= 1 + +
+ 2x + 3 x
2
+ x 6 x
2
1.2
x + 3
2.2
x 2
Transformada de Laplace
Sea f(t) una funcin definida en el intervalo [0, ). La transformada de Laplace F(s) de f(t) se define:
Transformada de Laplace de algunas funciones
1.-Transformada de Laplace de f(t)=1
>> ft=sym('1');
>> Fs=laplace(ft)
Fs =1/s
2.-Transformada de Laplace de f(t)=exp(at)
>> syms a t;
>> ft=exp(a*t);
>> Fs=laplace(ft)
Fs =-1/(a - s)
Vamos a comprobar la propiedad de linealidad de la transformada de Laplace
G(s) es la transformada de Laplace de g(t). F
1
(s) y F
2
(s) son las transformdas de Laplace de f
1
(t) y f
2
(t)
respectivamente. Calculamos la transformada de Laplace de cosh(at)
>> syms a t;
>> ft=cosh(a*t);
>> Fs=laplace(ft)
Fs =-s/(a^2 - s^2)
>> ft=sinh(a*t);
>> Fs=laplace(ft)
Fs =-a/(a^2 - s^2)
3. Transformada de Laplace de f(t)=exp(it)
F(s) = f(t)dt
0

e
st
F(s) = dt = = (s > 0)
0

e
st
1
s
e
st
|
|
|

0
1
s
F(s) = dt = dt = = (s > a)
0

e
st
e
at

0

e
(as)t
1
a s
e
(as)t
|
|
|

0
1
s a
g(t) = (t) + (t) c
1
f
1
c
2
f
2
G(s) = (s) + (s) c
1
F
1
c
2
F
2
g(t) = cosh(at) = ( + )
1
2
e
at
e
at
G(s) = ( + ) =
1
2
1
s a
1
s + a
s
s
2
a
2
g(t) = sinh(at) = ( )
1
2
e
at
e
at
G(s) = ( ) =
1
2
1
s a
1
s + a
a
s
2
a
2
dt = dt = =
0

e
it
e
st

0

e
(si)t
1
s i
e
(si)t
|
|

0
>> syms t w;
>> ft=cos(w*t);
>> Fs=laplace(ft)
Fs =s/(s^2 + w^2)
>> ft=sin(w*t);
>> Fs=laplace(ft)
Fs =w/(s^2 + w^2)
4.-Transformada de Laplace de f(t)=exp(at) exp(it)=exp((a+i)t)
>> clear
>> syms a w t;
>> ft=exp(a*t)*sin(w*t);
>> Fs=laplace(ft)
Fs =w/(w^2 + (a - s)^2)
>> ft=exp(a*t)*cos(w*t);
>> Fs=laplace(ft)
Fs =-(a - s)/(w^2 + (a - s)^2)
5.-Transformada de Laplace de f(t)=t
n
>> syms t n;
>> ft=t^n;
>> Fs=laplace(ft)
Fs =piecewise([-1 < Re(n), gamma(n + 1)/s^(n + 1)])
>> ft=t^6;
>> Fs=laplace(ft)
Fs =720/s^7
6.-Transformada de Laplace de f(t)=t
n
exp(at)
Como se puede fcilmente comprobar
>> syms t a;
>> ft=exp(a*t)*t^6;
>> Fs=laplace(ft)
Fs =-720/(a - s)^7
En general, tendremos que
= + i
1
s i
s
+ s
2

2

+ s
2

2
= cos(t) + i sin(t) e
it
f(t) = cos(t)F(s) =
s
+ s
2

2
f(t) = sin(t)F(s) =

+ s
2

2
dt = =
0

e
(a+i)t
e
st
1
s (a + i)
= + i
1
(s a) i
s a
+ (s a)
2

2

+ (s a)
2

2
= = (cos(t) + i sin(t)) e
(a+i)t
e
at
e
it
e
at
f(t) = cos(t)F(s) = e
at
s a
+ (s a)
2

2
f(t) = sin(t)F(s) = e
at

+ (s a)
2

2
dt = + dt =
0

t
n
e
st

1
s
e
st
t
n
|
|
|

0
n
s

0

t
n1
e
st
dt = ... ... dt = =
n
s
n 1
s

0

t
n2
e
st
n
s
n 1
s
1
s

0

e
st
n!
s
n
1
s
n!
s
n+1
f(t) = F(s) = e
at
t
n
n!
(s a)
n+1
F(s a) = f(t)dt = ( f(t)) dt
0

e
(sa)t

0

e
st
e
at
7.-Transformada de Laplace de u(t-a) f(t-a)
Donde u(t) es la seal escaln, o funcin de Heaviside, definida del siguiente modo
La funcin u(t-a), es una traslacin a de la funcin escaln, se define de forma anloga
>> syms t;
>> laplace(heaviside(t-2))
ans =1/(s*exp(2*s))
>> syms t a;
>> laplace(heaviside(t-a))
ans =laplace(heaviside(t - a), t, s)
>> clear
>> syms t;
>> a=sym('a','positive');
>> laplace(heaviside(t-a))
ans =1/(s*exp(a*s))
Fijarse en la forma de obtener la transformda de Laplace de la la funcin Heaviside u(t-a), hay que especificar
que a es una variable simblica positiva, en caso contrario, no sabe calcular su transformada de Laplace.
La funcin escaln es importante para definir funciones por intervalos
La funcin representada en la parte de la izquierda de la figura se escribe
La funcin f(t) cualesquiera que toma valores distintos de cero en el intervalo [a,b] se escribe
u(t) = {
1t 0
0t < 0
u(t a) = {
1t a
0t < a
u(t a)dt = dt = =
0

e
st

a

e
st

1
s
e
st
|
|
|

a
e
as
s
u(t a)f(t a)dt = f(t a)dt =
0

e
st

a

e
st
f()d = f()d = f(t)dt = F(s)
0

e
s(+a)
e
as

0

e
s
e
as

0

e
st
e
as
u(t a) u(t b) =
?
?
?
?
?
0t < a
1a t b
0t > b
(u(t a) u(t b)) f(t) =
?
?
?
0t < a
f(t)a t b
La funcin que se representa a la derecha en la figura.
Consideremos la funcin
Cuya representacin grfica es
>> f=@(t) 2*t+2*(2-t).*heaviside(t-2);
>> t=linspace(0,10,40);
>> plot(t,f(t))
>> ylim([0 5])
La transformada de Laplace de la funcin f(t) es
>> syms t;
>> ft=2*t+2*(2-t)*heaviside(t-2);
>> Fs=laplace(ft)
Fs =2/s^2 - 2/(s^2*exp(2*s))
8.-Transformada de Laplace de la funcin delta de Dirac, (t-a)
Consideremos la funcin denominada impulso unidad, cuya rea es la unidad
??
0t > b
f(t) = {
2t0 < t < 2
42 t
f(t) = (u(t 0) u(t 2)) (2t) + u(t 2) 4 =
2t 2(t 2) u(t 2)t > 0
F(s) = 2 2 = (1 )
1!
s
2
e
2s
1!
s
2
2
s
2
e
2s
(t a) = { (t a)dt = 1
t = a
0t a

0

f(t) =
?
?
?
a t a + k
1
k
0t < at > a + k
f(t) = (u(t a) u(t (a + k)))
1
k
La transformada de Laplace de esta funcin es
Para calcular el lmite cuando k tiende a cero en la segunda lnea hemos aplicado la regla de L'Hpital.
>> syms t a;
>> laplace(dirac(t-a))
ans =1/exp(a*s)
Transformada de Laplace de una funcin peridica
Una funcin f(t) es peridica de periodo p, si cumple que f(t+p)=f(t). La funcin sin(t) es peridica de periodo 2
y la funcin sin(t) es peridica de periodo p=2/.
Entre parntesis tenemos la suma de infinitos trminos de una progresin geomtrica cuyo primer trmino es 1 y
cuya razn es e
-sp
.
Calcular la transformada de Laplace de la funcin
F(s) = ( ) =
1
k
e
as
s
e
(a+k)s
s
e
as
1 e
ks
ks
( ) = ( ) = = 1 lim
k0
1 e
ks
ks
lim
k0
se
ks
s
lim
k0
e
ks
f(t, a) = (t a) lim
k0
= limF(s)
k0
e
as
f(t)dt = f(t)dt + f(t)dt + f(t)dt + ... =
0

e
st

0
p
e
st

p
2p
e
st

2p
3p
e
st
f(t)dt + f(t + p)dt + f(t + 2p)dt + ... =
0
p
e
st

0
p
e
s(t+p)

0
p
e
s(t+2p)
f(t)dt + f(t)dt + f(t)dt + ... =
0
p
e
st

0
p
e
s(t+p)

0
p
e
s(t+2p)
f(t)dt + f(t)dt + f(t)dt + ... =
0
p
e
st
e
sp

0
p
e
st
e
2sp

0
p
e
st
(1 + + + + ...) f(t)dt = e
sp
e
2sp
e
3sp

0
p
e
st
f(t)dt
1
1 e
sp

0
p
e
st
= = S

a
0
1 r
1
1 e
sp
f(t) = {
sin(t)0 t /
0/ < t < 2/
f(t) = f (t + )
2

p /
Se ha integrado dos veces por partes exp(-st) sin(t)
Para producir esta figura hemos escrito el script funcion_periodica, tomando =2
t=linspace(0,pi,100);
x=sin(2*t).*(t>=0 & t<=pi/2);
t=linspace(0,4*pi,400);
xx=[x x x x]; %se repite la funcin cuatro veces
plot(t,xx)
ylim([-0.1 1.1])
set(gca,'xtick',0:pi/2:4*pi)
set(gca,'xticklabel',{'0','pi/2','pi','3pi/2','2pi','5pi/2','3pi','7pi/2','4pi'})
Podemos calcular mediante MATLAB la transformada de Laplace del siguiente modo:
>> syms pi s t w;
>> g=int(exp(-s*t)*sin(w*t),t,0,pi/w)/(1-exp(-2*pi*s/w))
g =-(w*(1/exp((pi*s)/w) + 1))/((s^2 + w^2)*(1/exp((2*pi*s)/w) - 1))
>> simplify(g)
ans =(w*exp((pi*s)/w))/((s^2 + w^2)*(exp((pi*s)/w) - 1))
Transformada de Laplace de derivadas e integrales
1.-Transformada de Laplace de una derivada
F(s) = f(t)dt = sin(t)dt
1
1 e
sp

0
e
st
1
1 e
2s/

0
e
st
=
1
1 e
2s/
( ) e
st
cos(t) + s sin(t)
+
2
s
2
|
|
|
|
/
0

( + ) (1 )
2
s
2
e
s/
f'(t) dt = + s f(t) dt = s f(t) dt f(0)
0

e
st
f(t) e
st
|
|

0

0

e
st

0

e
st
f''(t) dt = s f'(t) dt f'(0) = s s f(t) dt f(0) f(0) =
0

e
st

0

e
st
?
?
?

0

e
st
?
?
?
f(t) dt sf(0) f'(0) s
2

e
st

Vamos a aplicar la transformada de Laplace a una ecuacin diferencial con las condiciones iniciales
especificadas. En el siguiente apartado aprenderemos a obtener la solucin de la ecuacin diferencial, aplicando
la transformada inversa de Laplace.
2.-Transformada de Laplace de una integral
Sea la funcin
La transformada de Laplace se calcula del siguiente modo
Comprobamos esta relacin con el siguiente ejemplo
(t) dt = f(t) dt f(0) (0) (0)
0
f
(n)
e
st
s
n

0
e
st
s
n1
s
n2
f
(1)
f
(n1)
+ 4 + 3x = 0t = 0
x d
2
dt
2
dx
dt
?
?
?
x = 3
= 1
dx
dt
( F(s) sx(0) x'(0)) + 4(sF(s) x(0)) + 3F(s) = 0 s
2
( F(s) 3s 1) + 4(sF(s) 3) + 3F(s) = 0 s
2
F(s) + 4sF(s) 3s 13 + 3F(s) = 0 s
2
F(s) =
3s + 13
+ 4s + 3 s
2
g(t) = f()d
0
t
f(t)dt = g'(t)dt = s g(t)dt g(0) = s g(t)dt
0

e
st

0

e
st

0

e
st

0

e
st
g(t)dt = f(t)dt
0

e
st
1
s

0

e
st
f(t) = cos(t)F(s) =
s
+ s
2

2
g(t) = cos(t)dt = sin(t)G(s) =
0
t
1

1
+ s
2

2
Transformada inversa de Laplace
Las transformadas de Laplace de las funciones que hemos estudiado en esta pgina se resumen en la tabla
siguiente:
f(t)
c
1
f
1
(t)+c
2
f
2
(t) c
1
F
1
(s)+c
2
F
2
(s)
exp(at)
cos(t)
sin(t)
t
n
exp(at) f(t)
exp(at) cos(t)
F(s-a)
u(t-a) exp(-as)/s
u(t-a) f(t-a) exp(-as) F(s)
(t-a) exp(-as)
f'(t) (derivada primera) s F(s)-f(0)
f''(t) (derivada segunda)
s
2
F(s)-sf(0)-sf'(0)
(integral) F(s)/s
f(t)=f(t+p), (funcin peridica)
f(at)
t
n
f(t)
Como vimos en la pgina Fracciones polinmicas, la funcin residue nos permite descomponer una fraccin
polinmica en suma de fracciones ms simples. Modificaremos cada fraccin para buscar en la tabla la funcin
f(t), es decir su correspondiente transformada inversa de Laplace, comprobaremos el resultado hecho a mano con
la llamada a la funcin ilaplace.
1.-Races reales distintas
Expresamos la primera fraccin en trminos de la variable s en vez de x, y sustitumos los decimales peridicos
por las fracciones equivalentes.
Como vemos en la tabla, la transformada inversa de Laplace se escribe
f(t)=exp(3t)/15-2 exp(-2t)/5+1/3
Obtenemos una expresin similar empleando la funcin MATLAB ilaplace
>> syms s;
F(s) = f(t)dt
0

e
st
1
s a
s
+ s
2

2

+ s
2

2
n!
s
n+1
s a
+ (s a)
2

2
g(t) = f()d
0
t
f(t)dt
1
1 e
sp

0
p
e
st
F ( )
1
a
s
a
F(s) (1)
n
d
n
ds
n
= +
s 2
6s s
3
s
2
1
15
1
s 3
2
5
1
s + 2
1
3
1
s
>> fs=(s-2)/(s^3-s^2-6*s);
>> ft=ilaplace(f)
ft =exp(3*t)/15 - 2/(5*exp(2*t)) + 1/3
2.-Races complejas distintas
Como vemos en la tabla, la transformada inversa de Laplace se escribe
f(t)=-3 exp(-t) cos(t)-4 exp(-t)sin(t)+4 exp(-t)=(4-3 cos(t)-4 sin(t)) exp(-t)
No es necesario sumar las dos fracciones con las races conjugadas para convertirla en una nica fraccin racional
si creamos una nueva entrada en la tabla de las transformadas inversas de Laplace. Sea
Como vemos en la tabla, la transformada inversa de Laplace se escribe
Con c=-1.5, d=2, a=-1, b=1, obtenemos
f(t)=(2 exp(-t))(-1.5 cos(t)-2 sin(t))+4 exp(-t))=(4-3 cos(t)-4 sin(t)) exp(-t)
>> syms s;
>> fs=(s^2-2*s+1)/(s^3+3*s^2+4*s+2);
>> ft=ilaplace(fs)
ft =4/exp(t) - (3*(cos(t) + (4*sin(t))/3))/exp(t)
>> simplify(ft)
ans =-(3*cos(t) + 4*sin(t) - 4)/exp(t)
3.-Races repetidas
Como vemos en la tabla, la transformada inversa de Laplace se escribe
f(t)=exp(2t)-exp(-t)+2t exp(-t)
>> syms s;
>> fs=(5*s-1)/(s^3-3*s-2);
>> ft=ilaplace(fs)
ft =exp(2*t) - 1/exp(t) + (2*t)/exp(t)
4.-Fracciones impropias
Como vemos en la tabla, la transformada inversa de Laplace se escribe
f(t)=(t)+-6 exp(-3t)/5+11 exp(2t)/5
>> syms s;
>> fs=(s^2+2*s+3)/(s^2+s-6);
>> ft=ilaplace(fs)
ft =(11*exp(2*t))/5 - 6/(5*exp(3*t)) + dirac(t)
Ejercicios
Descomponer una fraccin en suma de fracciones ms simples mediante residue. Determinar las expresiones de
= + =
2s + 1 s
2
+ 3 + 4s + 2 s
3
s
2
3s + 7
+ 1 (s + 1)
2
4
s + 1
3 +
s + 1
+ (s + 1)
2
1
2
4
+ (s + 1)
2
1
2
4
s + 1
= + +
2s + 1 s
2
+ 3 + 4s + 2 s
3
s
2
1.5 + 2i
s (1 + i)
1.5 2i
s (1 i)
4
s + 1
F(s) = +
c + di
s (a + bi)
c di
s (a bi)
f(t) = (c + di) + (c di) = e
(a+bi)t
e
(abi)t
((c + di) + (c di) ) = e
at
e
ibt
e
ibt
(2c + 2id ) = e
at
+ e
ibt
e
ibt
2
e
ibt
e
ibt
2
2 (c cos(bt) d sin(bt)) e
at
= + +
5s 1
3s 2 s
3
1
s 2
1
s + 1
2
(s + 1)
2
= 1 +
+ 2s + 3 s
2
+ s 6 s
2
6
5
1
s + 3
11
5
1
s 2
las transformadas inversas de Laplace a partir de la tabla y comprobar los resultados con la funcin ilaplace.
Ecuaciones diferenciales lineales
1.-Vamos a utilizar la transformada de Laplace para calcular la solucin de la ecuacin diferencial con las
condiciones iniciales especificadas.
Transformamos la fraccin racional F(s) en suma de fracciones ms simples, factorizando el denominador y
aplicamos la transformada inversa de Laplace
>> syms s;
>> Fs=(3*s+13)/(s^2+4*s+3);
>> x=ilaplace(Fs)
x =5/exp(t) - 2/exp(3*t)
2.-Resolver la ecuacin diferencial con las condiciones iniciales especificadas
g(t)=(u(t-0)-u(t-)) t+u(t-) =t-(t-) u(t-)
3 + 2s + 5 s
2
+ 12 + 44s + 48 s
3
s
2
s + 3
+ 5 + 12s + 8 s
3
s
2
+ 3s + 1 s
2
+ 7 + 19 + 25 + 16s + 4 s
5
s
4
s
3
s
2
2 + 2s s
4
s
3
+ 7 + 18 + 20s + 8 s
4
s
3
s
2
+ 4 + 3x = 0t = 0
x d
2
dt
2
dx
dt
?
?
?
x = 3
= 1
dx
dt
( F(s) sx(0) x'(0)) + 4(sF(s) x(0)) + 3F(s) = 0 s
2
( F(s) 3s 1) + 4(sF(s) 3) + 3F(s) = 0 s
2
F(s) + 4sF(s) 3s 13 + 3F(s) = 0 s
2
F(s) =
3s + 13
+ 4s + 3 s
2
= + {
3s + 13
+ 4s + 3 s
2
A
s + 1
B
s + 3
A = 5
B = 2
=
3s + 13
+ 4s + 3 s
2
5
s + 1
2
s + 3
x(t) = 5 2 e
t
e
3t
+ 4x = g(t){
x d
2
dt
2
t0 t
t >
t = 0
?
?
?
x = 0
= 0
dx
dt
>> g=@(t) t+(pi-t).*heaviside(t-pi);
>> t=linspace(0,10,100);
>> plot(t,g(t))
La transformada de Laplace es
Expresamos la fraccin en suma de fracciones ms simples y calculamos la transformada inversa de Laplace
>> syms s;
>> Fs=(1-exp(-sym('pi')*s))/(s^2*(s^2+4));
>> x=ilaplace(Fs)
x =t/4 - sin(2*t)/8 + heaviside(t - pi)*(pi/4 - t/4 + sin(2*t)/8)
Sistema de dos ecuaciones diferenciales
Sea el sistema de dos ecuaciones diferenciales lineales de primer orden con coeficientes constantes que
estudiamos en la pgina Sistema no homogneo de ecuaciones diferenciales.
( F(s) s x(0) x'(0)) + 4F(s) = s
2
1
s
2
e
s
s
2
F(s) + 4F(s) = (1 ) s
2
1
s
2
e
s
F(s) =
1 e
s
( + 4) s
2
s
2
= + +
1
( + 4) s
2
s
2
As + B
+ 4 s
2
C
s
D
s
2
?
?
?
?
?
?
?
?
?
?
?
A = 0
B = 1/4
C = 0
D = 1/4
F(s) = = (1 ) ( ) =
1 e
s
( + 4) s
2
s
2
e
s
1
4s
2
1
4
1
+ 4 s
2
+ =
1
4s
2
1
4
1
+ 4 s
2
e
s
4s
2
1
4
e
s
+ 4 s
2
+
1
4
1
s
2
1
8
2
+ s
2
2
2
1
4
e
s
s
2
e
s
8
2
+ s
2
2
2
f(t) = t sin(2t) u(t ) (t ) + u(t ) sin(2(t ))
1
4
1
8
1
4
1
8
Aplicamos la transformada de Laplace a cada una de las ecuaciones y tenemos en cuenta las condiciones
iniciales, es decir, el valor inicial x(0) e y(0) en el instante t=0
Resolvemos el sistema de dos ecuaciones con dos incgnitas, despejando X(s) e Y(s) mediante el operador
divisin por la izquierda. Calculamos la transformada inversa de Laplace mediante la funcin ilaplace
>> syms s;
>> A=[(s+2),4;1,(s-1)];
>> b=[1/s+4/s^2;1+3/s^3];
>> X=A\b
X =
-(3*s^3 - 3*s^2 + 4*s + 12)/(s^3*(s^2 + s - 6))
(s^4 + 2*s^3 - s^2 - s + 6)/(s^3*(s^2 + s - 6))
>> ilaplace(X)
ans =
t - (4*exp(2*t))/5 + 4/(5*exp(3*t)) + t^2
(4*exp(2*t))/5 + 1/(5*exp(3*t)) - t^2/2
Obtenemos el mismo resultado que con la funcin dsolve.
?
?
?
?
?
?
?
+ 2x + 4y = 1 + 4t
dx
dt
+ x y =
dy
dt
3
2
t
2
t = 0{
x = 0
y = 1
?
?
?
?
?
?
?
sX(s) x(0) + 2X(s) + 4Y (s) = +
1
s
4
s
2
sY (s) y(0) + X(s) Y (s) =
3
2
2
s
3
?
?
?
?
?
?
?
(s + 2)X(s) + 4Y (s) = +
1
s
4
s
2
X(s) + (s 1)Y (s) = + 1
3
s
3
X(s) =
3 3 + 4s + 12 s
3
s
2
(s 2)(s + 3) s
3
Y (s) =
+ 2 s + 6 s
4
s
3
s
2
(s 2)(s + 3) s
3

Вам также может понравиться