Professional Documents
Culture Documents
en ingenieras
Luca Agud Albesa
M Leonor Pla Ferrando
EDITORIAL
UNIVERSITAT POLITCNICA DE VALNCIA
Subido por:
https://www.facebook.com/pages/Interfase-
IQ/146073555478947?ref=bookmarks
EDITORIAL
UNIVERSITAT POLITCNICA DE VALNCIA
Los contenidos de esta publicacin han sido revisados por el Departamento de Matemtica
Aplicada de la Universitat Politcnica de Valncia
Coleccin Acadmica
Para referenciar esta publicacin utilice la siguiente cita: AGUD ALBESA, L; PLA FERRANDO, M L
(2015). Matlab para matemticas en ingenieras. Valencia: Universitat Politcnica de Valncia
I
2.6.1 Otroscomandosparacurvasencoordenadaspolares.........................39
2.6.2 Cambiosdecoordenadasrectangularesapolares...............................40
2.7 Rellenoderegionesdelplano....................................................................40
2.8 Funcionesdevariasvariables.Superficies.................................................43
2.8.1 Representacindefuncionesen3D:z=f(x,y).Comandosmsusados.43
2.8.2 Curvasdeniveldeunasuperficie.........................................................44
2.8.3 Curvasenelespacio..............................................................................45
2.8.4 Superficiesderevolucin......................................................................46
2.8.5 SuperficiesParamtricas.......................................................................51
2.8.6 Cambiosdecoordenadasacilndricasyesfricasyviceversa..............54
2.9 Ejercicios....................................................................................................54
3 Captulo3Operacionesbsicasconfunciones..................................................57
3.1 Polinomios..................................................................................................57
3.1.1 Polinomiointroducidocomovector....................................................57
3.1.2 Polinomiointroducidocomofuncin...................................................58
3.2 Dominiosdefuncioneseinecuaciones......................................................61
3.2.1 Comando>>solve..................................................................................61
3.2.2 Comando>>fzero(resolucinnumricaoaproximadadeecuaciones).62
3.2.3 Inecuacionesconvaloresabsolutos......................................................64
3.3 Simplificar,factorizar,expandirydemsoperacionesalgebraicas...........65
3.4 Clculodelmites.......................................................................................67
3.4.1 Lmiteslaterales....................................................................................67
3.4.2 Asntotas...............................................................................................68
3.4.3 Lmitesdefuncionesatrozos................................................................72
3.5 NmerosComplejos...................................................................................74
3.6 Derivadas....................................................................................................79
IV
3.6.1 Funcionesde1variable........................................................................80
3.6.2 Funcionesdevariasvariables...............................................................81
3.7 Integracin.................................................................................................81
3.7.1 Integralesimpropias.............................................................................82
3.7.2 Clculodereas....................................................................................84
3.8 Ejercicios....................................................................................................85
4 Captulo4Funcionesdevariasvariables.Ecuacionesdiferenciales.................89
4.1 Derivacindefuncionesdevariasvariables..............................................89
4.2 Vectorgradiente........................................................................................91
4.3 MatrizJacobianayJacobiano.....................................................................91
4.4 MatrizHessianayHessiano.......................................................................92
4.5 Puntoscrticosdefuncionesdevariasvariables.......................................95
4.6 Integracindefuncionesdevariasvariables.............................................99
4.7 Ecuacionesdiferenciales..........................................................................103
4.7.1 SistemasdeEDOs...............................................................................105
4.7.2 MtodosnumricosparalaresolucindeEDOs...............................106
4.8 Ejercicios..................................................................................................107
5 Captulo5IntroduccinalaEstadsticaDescriptiva........................................111
5.1 Introduccin.............................................................................................111
5.2 Estadsticosyrepresentacin...................................................................114
5.2.1 Variablesestadsticas..........................................................................114
5.3 Distribucindefrecuencias.....................................................................115
5.3.1 Representacionesgrficas..................................................................116
5.3.2 EjemplosconMatlabdedistribucindefrecuenciasydiagramas.....117
5.4 Parmetrosestadsticosdeposicinydispersin...................................126
5.4.1 Parmetrosestadsticosdeposicin..................................................126
III
5.4.2 Medidasdedispersin........................................................................130
5.5 Ejercicios..................................................................................................135
6 Captulo6Introduccinallgebramatricial..........................................139
6.1 IntroduccinalasmatricesenMatlab.....................................................139
6.1.1 Generarmatrices.Operacionesconmatrices.....................................139
6.1.2 Matricesespeciales.............................................................................140
6.1.3 Manipulacindematrices,submatrices.............................................142
6.1.4 Operacionesconmatrices...................................................................145
6.1.5 OtrasfuncionesimplementadasenMatlab.......................................146
6.2 Clasificacinyresolucindesistemasdeecuacioneslineales................151
6.2.1 Clasificacindesistemasdeecuaciones.............................................151
6.2.2 Resolucindesistemasusandolafuncin:>>inv(A)oA1................154
6.2.3 Resolucindesistemasusandodivisinmatricialalaizquierda:A\b154
6.2.4 Resolucindesistemasusandolafuncin:>>solve...........................155
6.2.5 ResolucindesistemasusandolaRegladeCramer...........................157
6.2.6 Resolucindesistemasdeecuacionesdependientesdeparmetros162
6.3 Ajustesdedatos(mnimoscuadrados)....................................................164
6.4 Ejercicios..................................................................................................169
7 Referenciasbibliogrficas................................................................................173
IV
Captulo 1 1
1.1 Introduccin
Este libro consta de dos partes, una dedicada al lgebra: matrices, determinantes, sis-
temas de ecuaciones, etc; y otra enfocada al anlisis matemtico, donde se trabajarn
funciones, expresiones algebraicas, ecuaciones, derivadas e integrales. El paquete ma-
temtico que se emplea es Matlab, cuyo nombre responde a las siglas de Matrix Labo-
ratory.
Al abrir este paquete matemtico se observa que la pantalla se subdivide en varias
ventanas que se detallan a continuacin:
- La ventana Command Window (ventana central) es donde se introducirn los
comandos, variables e instrucciones a realizar. Es decir, la ventana donde se
trabaja.
- La ventana Current Folder (izquierda superior) indica el contenido del directo-
rio en el que se est trabajando, y que salvo cambio del mismo, es donde se ir
guardando el archivo o las funciones que se hayan creado.
- La ventana de Workspace (derecha superior) es la ventana donde se indican las
variables definidas en la sesin de trabajo o ya guardadas y cargadas de otras
sesiones. Para borrar alguna de ellas, se usar el comando >>clear nombrede-
variable o se selecciona la variable en esa ventana y se suprime.
5
Matlab para Matemticas en ingenieras
Al ejecutar el comando para representar una funcin, Matlab abre una nueva ventana
de Figure, la cual se puede minimizar y mantener toda la sesin mientras se va actuali-
zando, o bien cerrar.
Con el icono del folio o New Script de la barra de herramientas (primero de los iconos
de la misma), tambin se abrir una nueva ventana donde Matlab permite programar o
crear funciones en ficheros con extensin .m.
La sesin de trabajo que se est realizando se puede guardar. Para ello, cuando se quie-
re comenzar a guardar se escribe (sin espacios en blanco en el nombre del fichero):
>>diary nombrefichero.txt
Y desde ah hasta que se teclee >>diary off, guarda con el nombre indicado la sesin
realizada. Si en cualquier momento se quiere volver a activar dicha sesin, bastar con
poner de nuevo >>diary on. Por defecto, se guardar en la ruta que est especificada
en Current Directory.
En caso de querer guardar slo las variables creadas en la sesin, bastar realizarlo con
el comando >>save, o bien en File >>Save Workspace. Para recuperarlas en una nue-
va sesin de trabajo se cargan con el comando >>load y el nombre especificado cuan-
do han sido guardadas.
6
Entorno de trabajo Matlab
Para recuperar alguno de los comandos introducidos, hay dos formas. Una, como ya se
ha comentado, desde la ventana deCommand History;la otra, con las teclas de despla-
zamiento. Las flechas de arriba y abajo, , recuperan los comandos. Mientras que las
de izquierda y derecha, , , sirven para desplazarse dentro de la lnea de edicin
para poder modificar las expresiones.
7
Matlab para Matemticas en ingenieras
8
Entorno de trabajo Matlab
>>syms x
>>f=x^2-3*x+2;
>>subs(f,2)
ans=
0
9
Matlab para Matemticas en ingenieras
>>subs(f,pi/4)
ans =
pi^2/16 - (3*pi)/4 + 2
>>double(ans)
ans =
0.2607
>> clear x
>> g=inline('x^2-3*x+2')
g=
Inline function:
g(x) = x^2-3*x+2
>> g(2)
ans =
0
>>feval(g,0)
ans=
0
El comando inline ser explicado con detalle ms adelante.
Fracciones de decimales no exactos o valores irracionales
Es importante destacar qu ocurre cuando se trabaja con fracciones que no dan lugar a
decimales exactos, por ejemplo fracciones del tipo 1/3, o radicales como etc.
Matlab siempre guarda en memoria los datos en coma flotante, y por lo tanto redondea
dichos nmeros. Al efectuar operaciones con ellos, el resultado final puede verse afec-
10
Entorno de trabajo Matlab
tado de error. Una forma sencilla de solucionarlo es definir estos valores como simb-
licos:
>>a=sym(1/3)
Ejemplo 1.3 Realizar la siguiente operacin 1-
y comparar los resultados:
a) de forma numrica,
b) definiendo como simblico los nmeros.
Es evidente, sin ms que realizar los clculos, que esta operacin debe dar 0:
>> 1-(1/3+1/2)/(1-1/6)
ans =
1.1102e-16
Sin embargo, Matlab no devuelve el valor 0 aunque s un valor muy pequeo. Esto se
debe al trabajo con decimales y su redondeo. La forma de solucionarlo sera:
>> a=sym(1/3);b=sym(1/6)
b=
1/6
>> 1-(a+1/2)/(1-b)
ans =
0
Otro problema de este estilo que se observa es, por ejemplo, si se quiere calcular algo
tan sencillo como sin(pi), cuyo valor es 0. Matlab devuelve un valor muy pequeo, que
se puede considerar como 0, pero no lo es. Por lo tanto, a la hora de resolver ecuacio-
nes no detectar estos valores (una solucin a esto se ver cuando se expliquen las
funciones y el comando para resolver ecuaciones >>solve):
>>sin(pi)
ans =
1.2246e-16
En este caso, la opcin para que evale bien vuelve a ser, definir este valor como
simblico:
>>syms pi,sin(pi)
ans=
0
11
Matlab para Matemticas en ingenieras
12
Entorno de trabajo Matlab
1.5 Funciones
Matlab posee muchas funciones implementadas. Para saber cules basta teclear >>hel-
pwin y desde ah acudir a matlab\elfun, donde mostrar las funciones que tiene defini-
das. Entre las ms habituales destacan:
Funciones seno y coseno: sin(x), cos(x),sind(x),cosd(x)
Funciones seno y coseno hiperblico: sinh(x), cosh(x)
Funcin tangente: tan(x)
Funciones arcoseno, arcocoseno y arcotangente: asin(x), acos(x), atan(x)
Funcin exponencial, logaritmo neperiano y logaritmo decimal: exp(x),
log(x), log10(x)
Funcin valor absoluto: abs(x)
Funciones hiperblicas: sinh(x),cosh(x),asinh(x), etc.
Nota: Matlab trabaja, salvo definicin distinta de la variable, con valores num-
ricos. Concretamente, para las funciones trigonomtricas, si no se declaran pre-
viamente como variables simblicas, entiende que son valores numricos y, por
lo tanto, expresados en radianes. En caso de querer trabajar con valores expresa-
dos en grados, deben usarse las funciones:
>>sind, >>cosd
13
Matlab para Matemticas en ingenieras
Se van a considerar dos tipos de funciones que engloban a todas, las simblicas y las
funciones a trozos. Existen varias posibilidades de definir funciones simblicas.
Esta definicin se realiza mediante el smbolo @. Cuando las funciones son bsicas de
Matlab no hace falta indicar el argumento si este es x:
>> subs(y,0)
ans =
1
B. Definicin de funciones simblicas mediante el comando >>inline
De esta forma se hallan los valores de la funcin sin ms que calcular su imagen direc-
tamente o con el comando >>feval. Se detalla en el ejemplo siguiente
14
Entorno de trabajo Matlab
Ejemplo 1.4 Definir dos funciones cualesquiera con el comando >>inline y evaluarlas
de forma distinta:
a) >> f=inline('x^2-3*x+2')
f=
Inline function:
f(x) = x^2-3*x+2
>> f(2)
ans =
0
b) >> y=inline('x^2+1')
y=
Inline function:
y(x) = x^2+1
>> y(1)
ans =
2
>> feval(y,1)
ans =
2
>> x=sym('x');p=2*x-5;
>> subs(p,1)
ans =
-3
D.- Definicin de funcin simblica entre comillas simples
En este caso no hace falta declarar la variable. De nuevo es evaluada con el comando
>>subs
>> y='x^2+1';
15
Matlab para Matemticas en ingenieras
>> subs(y,0)
ans =
1
Para las funciones a trozos se indican aqu la forma vectorizada y mediante archivo .m;
es decir, esta segunda desde el Editor de Matlab. Se ilustra mediante un ejemplo.
Ejemplo 1.5 Introducir, de varias formas la siguiente funcin a trozos:
1. Desde fichero .m
Esta definicin debe hacerse desde la ventana del Editor de Matlab, icono de NewScript
o ms directamente en NewFunction. Se crea con ello un archivo .m que, si no se
indica nada, se guarda con el nombre que se le haya puesto a la funcin.
16
Entorno de trabajo Matlab
2. Vectorizada
x Para introducir y evaluar una funcin as definida es conveniente usar el co-
mando >>inline:
>>f=inline('(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)')
f=
Inline function:
f(x) = (x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)
>> f(3)
ans =
1
x Tambin puede definirse mediante Anonymus, en este caso hay que evaluarla,
de nuevo, llamndola por el nombre que tiene asignado:
>> f=@(x)(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)
f=
@(x)(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)
>> f(-3)
ans =
9
>> f(4)
ans =
5
>> f(2)
ans =
1
17
Captulo 2
2
2.1 Introduccin
Este captulo se dedica a mostrar cmo dibujar funciones con Matlab, tanto combina-
ciones de las funciones ya existentes, como funciones creadas por el usuario, o funcio-
nes a trozos.
Si se quiere conocer con ms detalle algo de los comandos para grficos, tipos de ar-
gumentos que admiten o cualquier caracterstica suya, basta introducir el comando:
>> help nombredelcomando
y automticamente, Matlab proporciona una ayuda sobre dicha instruccin. Otra op-
cin es teclear >>helpwin para acceder a los temas de la ayuda de Matlab, o darle al
icono de ayuda en la barra de herramientas.
Con el comando >>help graph2d, Matlab da ayuda sobre grficos en dos dimensiones y
con >>help graph3d proporciona ayuda para dibujar superficies.
>> openfig('nombre')
19
Matlab para Matemticas en ingenieras
Es uno de los comandos ms sencillos, >>plot(a,b). Si, por ejemplo, se quiere dibujar
la grfica de la funcin y=sin(x), primero se ha de crear una tabla de valores para x, lo
que puede llevarse a cabo de varias formas; o bien
>> x=0:pi/100:2*pi;
20
Grficos con Matlab
donde se origina un vector que toma valores de [0,2] y la distancia entre los puntos es
de /100; es decir, un total de 200 puntos en los que la funcin tomar valores. O bien,
el mismo resultado puede conseguirse con el comando:
>>x=linspace(0,2*pi,200);
El siguiente paso es darle valores a la variable a representar:
>>y=sin(x)
Y para dibujar la figura, se introduce la orden:
>>plot(x,y)
Ejemplo 2.1
21
Matlab para Matemticas en ingenieras
En la figura 2.2 se han representado en la misma ventana dos funciones gracias al co-
mando >>hold on. Pueden seguir aadindose grficas en la misma figura, y para re-
presentar una grfica posterior en una ventana aparte indicarse con el comando >>hold
off. Otra forma de dibujar varias funciones en una misma ventana grfica, es ponerlas
todas en el propio comando >>plot
>> plot(x,sin(x),'r-',x, cos(x),'b.')
Las opciones del trazado del comando >>plot pueden consultarse con >>help plot,
aunque la siguiente tabla proporciona un resumen de ellas:
Tabla 2.1 Tabla de smbolos, trazado y color entorno grfico
22
Grficos con Matlab
>> v=[1.1,1.2,1.3,1.5,2];
>> plot(t,v); % representa una lnea continua.
2
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1.6 1.8 2 2.2 2.4 2.6 2.8 3
2 2
1.9 1.9
1.8 1.8
1.7
1.7
1.6
1.6
1.5
1.5
1.4
1.4
1.3
1.3
1.2
1.2
1.1
1.6 1.8 2 2.2 2.4 2.6 2.8 3
1.1
1.6 1.8 2 2.2 2.4 2.6 2.8 3
E. Comando >>fplot
La grfica del seno dibujada en el Ejemplo 2.1 tambin podra representarse mediante
el comando >>fplot con la siguiente orden:
>>fplot(sin(x),[0,2*pi])
23
Matlab para Matemticas en ingenieras
Nota: hay que tener cuidado a la hora de dibujar funciones que realicen opera-
ciones con la variable x definida mediante un >>linspace o mediante un vector,
ya que al evaluarlas debe realizarse coordenada a coordenada. Por lo tanto, salvo
en las sumas y restas que lo hace por defecto, en las dems operaciones debe es-
pecificarse: ./, .*, o bien .^ dependiendo de la operacin a realizar.
Ejes: En cuanto a los ejes, adems de poder cambiarlos desde la misma ventana de la
grfica como se ver en la siguiente seccin, tambin pueden ser establecidos desde el
principio. Para ello, como se detallaa en el Ejemplo 2.1 hay varias formas. Una de ellas
es el comando
>>axis([xmin xmax ymin ymax])
F. Comando >>ezplot
24
Grficos con Matlab
Se puede observar, en las Figuras 2.5 y 2.6, la diferencia de grficos que se obtienen al
representar la funcin 1/x en el intervalo cerrado [-5,3], usando ezplot, fplot y fplot
forzando, en esta ltima, el trazo discontinuo:
>> syms x, ezplot(1/x,[-5 3])
1/x
2.5
1.5
0.5
-0.5
-1
-1.5
-2
-2.5
-5 -4 -3 -2 -1 0 1 2 3
150 150
100 100
50 50
0 0
-50 -50
-100 -100
-150 -150
-5 -4 -3 -2 -1 0 1 2 3 -5 -4 -3 -2 -1 0 1 2 3
Figura 2.6 Representacin usando >>fplot, en la segunda grfica con trazo discontinuo
Captura de coordenadas: Si una vez representada la grfica se busca obtener las coor-
denadas de algn punto de la grfica, Matlab lo permite con la instruccin
>>ginput
En ese momento, aparece el cursor sobre la grfica y basta hacer click con el ratn en
cada punto del que se quiere obtener su posicin. Pulsando Enter se vuelve a la ventana
de comandos, donde aparecen las coordenadas de los puntos seleccionados.
25
Matlab para Matemticas en ingenieras
Borrado de formato: para borrar el formato de una grfica, o bien se cierra la ventana
correspondiente a esa grfica (si no se indica lo contrario, Matlab abre una nueva ven-
tana para cada grfica), o bien se escribe el comando:
>> clf reset
2.2.2 Subventanas
Cuando en una misma figura se desea visualizar varias ventanas con sus grficas co-
rrespondientes, se tiene el comando >> subplot.
Los argumentos de este comando son, el nmero de filas y columnas de ventanas y el
lugar que estas ocuparn.
Ejemplo 2.4
Si una vez que Matlab ha creado la figura, interesa modificarla, no hay ms que situar-
se en esa ventana y darle al icono de ms a la derecha de la barra de herramientas:
26
Grficos con Matlab
Al accionar este icono se abrir una nueva ventana donde modificar cada una de las
grficas, clicando sobre ellas. Permite modificar su color, sus ejes, y muchas ms pro-
piedades descritas en la subventana inferior, seleccionado el recuadro Ticks.
Para nombrar los ejes cartesianos, si no se desea hacer directamente desde la ventana
mostrada en la Figura 2.8, existen tambin los comandos >>xlabel(etiqueta) e >>yla-
bel(etiqueta), para los ejes OX y OY, respectivamente.
27
Matlab para Matemticas en ingenieras
Ejemplo 2.5 Definir y representar las funciones y=arctg(x), y =sen(x), una con cada
comando.
0.8
1
0.6
0.4
0.5
0.2
0 0
-0.2
-0.5
-0.4
-0.6
-1
-0.8
-1.5 -1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -3 -2 -1 0 1 2 3
Figura 2.9 Representacin de f(x)= arctg(x) Figura 2.10 Representacin de f(x)= sin(x)
Sin embargo, si se trabaja con composiciones de funciones o funciones con varios ar-
gumentos, entonces el o los argumentos deben indicarse al principio:
>>fun3=@(x)sin(1./x), ezplot(fun3,[.01 0.1])
sin(1/x)
0.5
-0.5
-1
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
x
28
Grficos con Matlab
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3
Nota: De todas formas, en general, para dibujar funciones simblicas -tanto de-
finidas va inline, va Anonymus, o va variable simblica o funcin entre comi-
llas simples-, es recomendable por su sencillez, el comando:
>>ezplot(funcin, intervalo)
>> f=@sin(x),ezplot(f)
>> f=inline('sin(x)');ezplot(f)
>> syms x, y=sin(x); ezplot(y)
>> y='sin(x)';ezplot(y)
29
Matlab para Matemticas en ingenieras
sin(x)
0.5
-0.5
-1
-6 -4 -2 0 2 4 6
x
Las figuras creadas en Matlab, se guardan y salvan sin ms que acceder a File/Save as
en el men de la ventana de Figure, con la extensin que ms interese.
30
Grficos con Matlab
Para representarla se le referencia con el nombre puesto al archivo creado (debe coin-
cidir el nombre de la funcin con el nombre del archivo). Matlab pone este por defecto
pero hay que prestar atencin si se efectan modificaciones para no cambiarle el nom-
bre. Esta llamada se hace como argumento carcter, es decir, nombre del archivo:
31
Matlab para Matemticas en ingenieras
Esta definicin debe hacerse desde la ventana del Editor de Matlab, icono de
NewScript, o ms directamente en New/Function. Se crea con ello un archivo .m, que
se guarda con el nombre puesto a la funcin. Para evaluarla basta referirse a ella con su
nombre.
Ejemplo 2.7 Definir la funcin a trozos anterior y evaluarla en x=4, 3, 1, 2,-2.
32
Grficos con Matlab
A la hora de dibujarla se har uso del comando >>fplot. Como los nombres de las fun-
ciones son una cadena carcter, cuando esta es llamada con >>fplot debe ponerse entre
comillas simples.
Nota: con fplot es importante indicar, como argumento, el tipo de la lnea de la
grfica; por ejemplo puntos, para que dibuje los saltos que puedan producirse en
la misma. Por defecto los unira con una lnea continua.
>> fplot('funcion2',[-5,10],'.'),axis([-5 10 0 10])
10
0
-5 0 5 10
33
Matlab para Matemticas en ingenieras
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
0
-3 -2 -1 0 1 2 3 4 5
Para evaluar una funcin vectorizada, es conveniente definirla primero con el comando
>>inline (o con Anonymus), y ya entonces pasar a evaluarla con su nombre:
34
Grficos con Matlab
>>f=inline('(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)')
f=
Inline function:
f(x) = (x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)
>> f(3)
ans =
1
O de otra forma, mediante Anonymus:
>> f=@(x)(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)
f=
@(x)(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)
>> salida=[ f(-3) f(4) f(2)]
salida =
9 5 1
Nota:
x Para dibujar los saltos de una funcin, o una funcin que vaya a presentar asn-
totas, es recomendable usar:
a) O el comando >>plot definiendo la variable x con un vector y no con un
>>linspace,
b) O el comando >>ezplot (ms detallado a continuacin).
x Para dibujar una funcin a trozos se recomienda, o el comando >>plot, o bien
el >>fplot pero con trazo discontinuo (puntos o asteriscos o similares, no tra-
zado de lneas). El comando >>ezplot, une con trazado continuo los saltos no
siendo esto lo deseado.
35
Matlab para Matemticas en ingenieras
2 0.2
1.5
0
1
-0.2
0.5
0 -0.4
-0.5 -0.6
-1
-0.8
-1.5
-1
-2
-6 -4 -2 0 2 4 6 0 0.5 1 1.5
0
y
-2
-4
-6
-6 -4 -2 0 2 4 6
x
2
Figura 2.21 Representacin de f(x,y)=x y-1
36
Grficos con Matlab
>>ezplot(x,y), >>ezplot(x,y,[a,b])
donde
- x e y son dos cadenas de caracteres conteniendo las expresiones de dos funciones x(t)
e y(t).
- dibuja la curva de ecuaciones paramtricas x=x(t) y=y(t) para t en el intervalo [0,2],
en el primer caso y para t [a,b], en el segundo.
Ejemplo 2.11 Usando los comandos arriba indicados, representar las curvas
0.8 0.6
0.6 0.4
0.4
0.2
0.2
0
y
0
y
-0.2
-0.2
-0.4
-0.4
-0.6 -0.6
-0.8 -0.8
-1 -0.5 0 0.5 1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
x x
Otra posibilidad que ofrece Matlab es la siguiente. Para dibujar la grfica de la curva
Se puede dibujar de dos formas distintas (como ocurre con todas las grficas):
>>plot((t.*(t.^2-1))./(t.^2+1),(2*(t.^2-1))./(t.^2+1))
37
Matlab para Matemticas en ingenieras
1.5
0.5
-0.5
-1
-1.5
-2
-5 -4 -3 -2 -1 0 1 2 3 4 5
38
Grficos con Matlab
>> theta=linspace(-pi,pi,100);r=2-4*cos(theta);polar(theta,r)
90 6
120 60
150 30
2
180 0
210 330
240 300
270
0.6
0.6 0.6
150 30 150 30
0.4 0.4
0.4
0.2 0.2
0.2
180 0 0 180 0
-0.2
-0.4
-0.6
210 330 210 330
-0.8
-1
240 300 240 300
270 270
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
r = sin(2 t) cos(3 t)
r = cos(5 T)
39
Matlab para Matemticas en ingenieras
40
Grficos con Matlab
Ejemplo 2.15 Dibujar las curvas y=x2, y=2-x2 y rellenar el rea encerrada entre ambas
curvas.
>>plot([xn;xn],[xn.^2;2- >>fill([xn,fliplr(xn)],[xn.^2,flipl
xn.^2],'k--') r(2-xn.^2)],'c')
41
Matlab para Matemticas en ingenieras
Ejemplo 2.16 Dibujar el tringulo cuyos vrtices son (0,0), (0,1) y (1,1). Rellenar el
rea encerrada por este tringulo.
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1
Ejemplo 2.17 Dada la recta y=x, dibujar el rea encerrada por esta recta y los ejes
coordenados en el primer cuadrante.
>>xn=linspace(0,1,100);yn=linspace(1,1,100);fill([xn,fliplr(xn)],[xn,yn],'b')
42
Grficos con Matlab
El proceso para dibujar consiste en crear una malla con segmentos coloreados, en fun-
cin de los valores de los extremos. Editando posteriormente la grfica, se pueden
cambiar colores, ejes y dems propiedades.
En caso de querer que los ejes X e Y se orienten al revs, en la ventana de la figura,
con los ejes seleccionados, se elige la opcin Reverse.
Ejemplo 2.18 Representar la superficie dada por la funcin
0.5
-0.5
3
2
1 3
2
0 1
-1 0
-1
-2 -2
-3 -3
y
x
43
Matlab para Matemticas en ingenieras
Ejemplo 2.19 La sentencia para representar es:
>> ezsurf('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)')
Estos comandos dibujan las lneas de nivel (isovalores) de la funcin z=f(x,y). Pueden
ejecutarse los siguientes ejemplos para ir comprobando los resultados.
Ejemplo: >> ezcontour('x*exp(-x^2 - y^2)')
x exp(-x 2 - y 2)
3
0
y
-1
-2
-3
-3 -2 -1 0 1 2 3
x
44
Grficos con Matlab
0.5
-0.5
-1
6
4
6
2 4
0 2
-2 0
-2
-4
-4
-6 -6
v
u
>> plot3(x,y,z) dibuja una lnea en el espacio a travs de los puntos cuyas
coordenadas son los elementos de los vectores x, y, z.
Ejemplo: >>t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t, r);
40
30
20
10
0
1
0.5 1
0 0.5
0
-0.5 -0.5
-1 -1
45
Matlab para Matemticas en ingenieras
3
3
2.5
2.5
2
2
1.5
1.5
z
z
1 1
0.5 0.5
0 0
5 10
4 4
0 0
2 2
-5 0 -10 0
-2 -2
y -10 -4 -20 -4
x y x
Ejemplo 2.20 Dibujar la superficie de revolucin que se obtiene al girar la curva z=e-y
alrededor del eje OZ.
En este caso, la funcin radio es r=r(z), y por lo tanto ser y=-ln(z). Con lo que la
ecuacin de la superficie vendr dada por:
Para ello en Matlab se introduce:
46
Grficos con Matlab
>>t=linspace(0.1,5);r=-log(t);cylinder(r)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-2.5
-2 -2.5
-1.5 -2
-1 -1.5
-0.5 -1
0 -0.5
0.5 0.5 0
1 1
1.5 1.5
2 2
2.5 2.5
En este caso, la funcin radio es r=r(x) y por lo tanto ser y= . As, la ecuacin de la
superficie vendr dada por:
En Matlab se introducen las expresiones:
>> t=linspace(-5,5);r=exp(-t);cylinder(r)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-150
-100 -150
-50 -100
0 -50
50 0
50
100 100
150 150
47
Matlab para Matemticas en ingenieras
Esta no es la grfica esperada ya que el eje de rotacin debe ser el eje OX.
Sin embargo, la superficie es la correcta. Simplemente, puede interpretarse la represen-
tacin grfica pensando que, en este caso, el eje vertical es el eje OX, y girar el orden
de los ejes en sentido contrario a las agujas del reloj. Quedando:
0.9
0.8
0.7
0.6
EJE X
0.5
0.4
0.3
0.2
-150
0.1 -100
-50
0 0
-150 50
-100
-50
0 100
50
100 150
150
EJE Y
EJE Z
Nota: En el caso de que querer dibujar una superficie de revolucin que gire con
respecto al eje OX, o bien eje OY, y obtener una representacin realista en di-
chos ejes, debe parametrizarse la superficie.
La parametrizacin en este caso es sencilla, ya que simplemente deben parame-
trizarse las circunferencias que se obtienen en el plano deseado, teniendo en
cuenta que los radios son variables, y dejar como parmetro la variable que nos
da el radio.
Se ilustra esto mediante el siguiente ejemplo.
Ejemplo 2.22 Dibujar la superficie de revolucin que se obtiene de girar la curva y=x2
con respecto al eje OY.
48
Grficos con Matlab
Puede hacerse de varias formas:
Opcin 1: asignar a la variable y el parmetro t (como luego es un radicando, slo to-
mar valores positivos)
>> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square
>> subplot(1,2,2),t=0:.1:5;u=0:.1:2*pi;surf(sqrt(t)'*cos(u),t'*ones(size(u)),sqrt(t)'*sin(u))
Curva a girar
25
20
2
1
15
0
-1
10
-2
-3
5 0
1 -4
2 -2
0 3 0
-5 0 5 4 2
5 4
La orientacin de los ejes ha sido cambiada desde la ventana grfica, dndole a la op-
cin de Reverse para el eje OY. Tambin hubiera bastado poniendo como argumento
de la variable y:
>> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square
>> subplot(1,2,2),t=0:.1:5;u=0:.1:2*pi;surf(sqrt(t)'*cos(u),t,sqrt(t)'*sin(u))
49
Matlab para Matemticas en ingenieras
Opcin 2: parametrizar de otra manera para que no haya radicales, esta vez asignar a la
variable y el valor t2, es decir, el parmetro t es .
>> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square
>> subplot(1,2,2), u=0:.1:2*pi;surf(t'*cos(u),t.^2,t'*sin(u),'FaceColor','blue')
Curva a girar
25
20 5
15
0
10
-5
5 0
10 5
20 0
0
-5 0 5 30 -5
Opcin 3: Con el comando >>cylinder. Este exige darle como argumento la funcin
radio, aunque dibujar siempre en el eje OZ. Es el interesado el que debe saber que, en
realidad, esa figura es en torno al eje OY -en este caso-, y en cada ejercicio elegir la
rotacin de ejes adecuada:
>> t=0:.1:5;y=sqrt(t);cylinder(y)
0.8
0.6
EJE Y
0.4
0.2
0
3
2
-2.5
1 -2
-1.5
0 -1
-0.5
-1 0
0.5
-2 1
1.5
2
-3 2.5
EJE X EJE Z
50
Grficos con Matlab
Una superficie S parametrizada por r(u,v) es suave en un punto (u0,v0) si dichas fun-
ciones (u,v) son continuas, tienen primeras derivadas parciales continuas en (u0,v0) y
existe plano tangente a S en (u0,v0).
donde
- x, y, z son expresiones de funciones de dos variables
- dibujan la superficie de coordenadas paramtricas x=x(u,v), y=y(u,v), z=z(u,v)
para (u,v) variando en el cuadrado [-2,2]u[-2,2] en el primer caso; en el
cuadrado [a,b]u[a,b] en el segundo; y en el rectngulo [a,b]u[c,d] en el tercer
caso.
Ejemplo: >> ezmesh('u*cos(v)','u*sin(v)','v',[-pi,pi])
0
z
-1
-2
-3
-4
4
2 4
3
2
0 1
0
-2 -1
-2
-3
-4 -4
y
x
51
Matlab para Matemticas en ingenieras
Tambin puede ser usado el comando >>mesh, creando previamente una matriz de
puntos o definida por el usuario, o con >>meshgrid ya que los argumentos deben ser
matrices de puntos (puede verse el ejemplo desarrollado en el tema de funciones de
varias variables).
Ejemplo 2.23 Sea el semicono de ecuacin z2=x2+y2 con z[0,1]. Parametrizar y re-
presentar para los valores de z[0,1].
0.8
0.6
0.4
0.2
0
1
0.5 1
0 0.5
0
-0.5 -0.5
-1 -1
52
Grficos con Matlab
1.8
1.6
1.4
1.2
1
1
0.5 1
0 0.5
0
-0.5 -0.5
-1 -1
1.5
0.5
0
1
0.5 1
0 0.5
0
-0.5 -0.5
-1 -1
53
Matlab para Matemticas en ingenieras
2.9 Ejercicios
1.- Representa las siguientes grficas:
a) , b) , c) , d) m(x)=log2(x-2),
e) , f) , g)
2.- a) Dibujar en una sola ventana con dos subventanas las funciones y = x2 3x 2,
z = x3 2x + 1 con x variando entre -5 y 5 a intervalos de 0.02. Marcar con un + en
color rojo el punto (2,1) en ambas grficas.
5.- Dibuja la superficie z= , en el rectngulo [-2,2]u[-2,2].
54
Grficos con Matlab
6.- Dibujar en la misma ventana las funciones , , . Qu puede
decirse sobre la relacin existente entre las tres funciones?
a) f(x)= , b) g(x)=
8.- Indicar, desde la representacin grfica, los valores de los lmites ms importantes
de las funciones anteriores: puntos frontera, lmites en los infinitos. Realizar analtica-
mente con Matlab dichos lmites.
55
Captulo 3
3
3.1 Polinomios
Para trabajar con polinomios en Matlab se puede actuar de dos formas, bien introducir-
los como vectores, o bien como funcin. Dependiendo de cmo se trabaje con ellos, los
comandos a utilizar son diferentes.
>> p=[5 -1 0 2 1]
>> polyval(p,0)
ans =
1
57
Matlab para Matemticas en ingenieras
58
Operaciones bsicas con funciones
ans =
1
tambin directamente
>>p(0)
ans=
1
b) Para calcular sus races se usar el comando >>solve. Las soluciones comple-
jas las devuelve en formato decimal. Si en el comando solve no se especifica la
variable, Matlab entiende que la variable definida es la nica variable de la
funcin. Si hubiera varias deber especificarse cul de ellas es la que se desea
resolver ya que sino Matlab elige siempre la ms cercana alfabticamente a la
variable x. Si no se indica nada por defecto Matlab sobreentiende que el usua-
rio resuelve p(x)=0.
>> solve(p,x)
ans =
0.66848752167174464637516725170716*i + 0.55792579323393509147440680377195
0.55792579323393509147440680377195 - 0.66848752167174464637516725170716*i
0.2325976273176772911514690533212*i - 0.45792579323393509147440680377195
- 0.2325976273176772911514690533212*i - 0.45792579323393509147440680377196
59
Matlab para Matemticas en ingenieras
>> solve('5*x^4-x^3+2*x+1=4')
ans =
0.78652986718776168488859802566479
-0.94832032580079086894804119425066
0.87846082447569315793472841177844*i + 0.18089522930651459202972158429294
0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i
>> solve('5*x^4-x^3+2*x+1==4')
ans =
0.78652986718776168488859802566479
-0.94832032580079086894804119425066
0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i
0.18089522930651459202972158429294 + 0.87846082447569315793472841177844*i
>> solve('5*x^4-x^3+2*x+1=4')
ans =
0.78652986718776168488859802566479
-0.94832032580079086894804119425066
0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i
0.18089522930651459202972158429294 + 0.87846082447569315793472841177844*i
Si dada una ecuacin o un polinomio, slo se busca que saque por pantalla las
races reales, est la opcin:
>>solve(5*x^4-x^3+2*x-3, 'Real', true)
Si se buscan slo races positivas, pdase:
>>syms x positive, solve(5*x^4-x^3+2*x-3)
60
Operaciones bsicas con funciones
a) Si las funciones son polinmicas, su dominio son todos los reales. Dom(f)=.
b) Funciones exponenciales, Dom(f)=.
c) Funciones racionales: f(x)= , con p(x) y q(x) polinomios. Dom(f)={x
d) Funciones irracionales: f(x)= . Donde:
e) Funciones logaritmo: f(x)=log(g(x)). Dom(f)=
Nota: Tambin hay que prestar atencin y pedir variables de salida cuando se re-
suelva un sistema con varias variables, ya que Matlab puede devolverlas desor-
denadas. Esto se corrige imponiendo en la salida el orden de las variables.
61
Matlab para Matemticas en ingenieras
Nota: Puede ocurrir que al resolver en Matlab una ecuacin tan sencilla como
sin(x)=0, slo devuelva una solucin de todas las existentes:
>> solve(sin(x))
ans =
0
O incluso, si se le pide que saque las races positivas, devuelva una de ellas pero no
la deseada:
>> syms x positive, solve(sin(x))
ans =
2*pi
Ejemplo 3.2 Para encontrar los puntos de corte de la funcin seno con el eje OX, es
sabido que el valor x= es uno de dichos puntos. Pero con >>solve no ser detectado
(por problemas de redondeo y aproximaciones internas de Matlab). Su hallazgo vendr
forzado cuando se busquen las soluciones ms prximas, por ejemplo, a x=3, de la
siguiente forma:
>> fzero('sin(x)',3)
ans =
3.1416
Tambin podra haberse definido va inline o va Anonymus:
>>X = fzero(@sin,3)
X=
3.1416
62
Operaciones bsicas con funciones
Es decir, Matlab no puede efectuar de golpe esta operacin. Para solucionarlo deben
distinguirse los dos casos a estudiar.
Para que una fraccin sea toda ella positiva puede ocurrir que:
- o numerador y denominador sean ambos positivos
- o numerador y denominador ambos negativos.
Se pedir con dos instrucciones:
Caso I) Si ambos son positivos. Vigilar que el denominador no puede ser cero:
>> solve(x-1>=0,x^2-5*x+6>0)
Warning: 2 equations in 1 variables.
> In \\izar2\matlab\R2013b\toolbox\symbolic\symbolic\symengine.p>symengine at 56
In mupadengine.mupadengine>mupadengine.evalin at 97
In mupadengine.mupadengine>mupadengine.feval at 150
In solve at 170
ans =
Dom::Interval([1], 2)
Dom::Interval(3, Inf)
Por lo tanto la solucin en este primer caso viene dada por: [1,2)(3,)
63
Matlab para Matemticas en ingenieras
ans =
Dom::Interval([1], 2)
Dom::Interval(3, Inf)
Caso II) Cuando ambos son negativos (con denominador distinto de cero):
>> solve(x-1<=0,x^2-5*x+6<=0,x-1<=0,x^2-5*x+6<0)
Warning: 4 equations in 1 variables.
> In \\izar2\matlab\R2013b\toolbox\symbolic\symbolic\symengine.p>symengine at 56
In mupadengine.mupadengine>mupadengine.evalin at 97
In mupadengine.mupadengine>mupadengine.feval at 150
In solve at 170
Warning: Explicit solution could not be found.
> In solve at 179
ans =
[ empty sym ]
Por lo tanto, este segundo caso no ocurre nunca. Y la solucin final sera:
Dom(f)= (Solucin del caso I) U (Solucin del caso II)= [1,2][3,) [=1,2] [3,)
|x|
64
Operaciones bsicas con funciones
Por lo tanto, la solucin final es: Solucin Caso I Solucin Caso II= (2,5) .
65
Matlab para Matemticas en ingenieras
En ocasiones, hay expresiones que Matlab las simplifica de forma automtica. Por
ejemplo si se introducen polinomios no reducidos:
>> f=x-1+2*x+5
f=
3*x + 4
66
Operaciones bsicas con funciones
Ejemplo 3.5 Calcular la descomposicin en fracciones simples de
Para comprobarlo:
>> factor((2/(x-3))-(1/(x-2)))
ans =
(x - 1)/((x - 2)*(x - 3))
67
Matlab para Matemticas en ingenieras
>>syms x, limit((x^2-5*x+4)/(x-2),x,2)
ans =
NaN
Para ver el por qu no existe, se calculan los lmites laterales y se observa que dan
resultados distintos. Por lo tanto, el lmite no existir, como bien ha indicado Matlab.
El clculo de los lmites laterales se hace especificndolo como tercer argumento en el
comando anterior:
>>limit(expression,x,punto,Right), o bien
>>limit(expression,x,punto,Left).
Estos argumentos tambin pueden indicarse con minsculas.
>> limit((x^2-5*x+4)/(x-2),x,2,'right')
ans =
-Inf
>> limit((x^2-5*x+4)/(x-2),x,2,'Left')
ans =
Inf
3.4.2 Asntotas
El clculo de las asntotas de una funcin no es ms que ir hallando los diversos lmites
en cada caso.
a) Asntotas verticales: la funcin f(x) tiene una asntota vertical en x=a, si
lim f x f .
x oa
De hecho, posee A.V. (asntota vertical) aunque el lmite no exista y aunque slo uno
de los lmites laterales d infinito.
Ejemplo 3.6 Hallar las asntotas verticales de f(x)= . Representar la funcin y la
asntota en la misma grfica.
68
Operaciones bsicas con funciones
Por lo tanto, se observa que no va a existir el lmite. Si se hallan los lmites laterales:
Es decir, existe una A.V. en x=-1. Para dibujar la funcin y la asntota en una misma
ventana:
>> x=-2:0.001:5;y=sqrt(x+2)./(x+1);plot(x,y,'b',[-1 -1],[-10 10],'k--'),axis([-2 5 -10
10])
10
-2
-4
-6
-8
-10
-2 -1 0 1 2 3 4 5
Figura 3.1 Grfico de funcin con asntota vertical
69
Matlab para Matemticas en ingenieras
Ejemplo 3.7 Calcular las asntotas de la funcin . Representar dicha fun-
cin e indicar todas sus asntotas en la misma grfica.
>> syms x, y=1./log(x);limit(y,x,inf)
ans =
0
>> limit(y,x,1)
ans =
NaN
Por lo tanto, este lmite no existe. Se comprueba con los lmites laterales:
>> limit(y,x,1,'right')
ans =
Inf
>> limit(y,x,1,'left')
ans =
-Inf
As que existe una A.H. en y=0, y una A.V. en x=1. Para representarlas:
>> x=0.01:0.0001:6;y=1./log(x);plot(x,y,'b',[1 1], [-5 5],'r--'), axis([0 6 -5 5]),hold
on,plot(x,0,'r--')
5
-1
-2
-3
-4
-5
0 1 2 3 4 5 6
Figura 3.2 Grfico de funcin con asntota horizontal y vertical
c) Asntotas oblicuas: Para hallar las asntotas oblicuas, rectas de la forma y=mx+n,
deben verificarse dos propiedades:
70
Operaciones bsicas con funciones
Ejemplo 3.8 Calcular las asntotas de la funcin
Se estudia el punto x=2 por anular el denominador, candidato a ser una A.V.
>> syms x, limit((x^2-1)/(x-2),x,2,'right')
ans =
Inf
>>limit((x^2-1)/(x-2),x,2,'left')
ans =
-Inf
Efectivamente en x=2 existe una asntota vertical.
Si se representa la funcin y la asntota:
>> ezplot((x^2-1)/(x-2),[-5 5]), axis([-5 5 -10 10]), hold on, y=-10:.001:10;plot(2,y,'r--')
(x 2 - 1)/(x - 2)
10
-2
-4
-6
-8
-10
-5 -4 -3 -2 -1 0 1 2 3 4 5
x
En el dibujo ya se ha destacado la A.V. x=2, pero tambin se observa que existe una
asntota oblicua que va a ser calculada:
71
Matlab para Matemticas en ingenieras
>> limit((x^2-1)/(x-2),x,inf)
ans =
Inf
Por lo tanto, se cumple la primera condicin para que haya A.O. Hay que verificar
ahora si m
>> m=limit((x^2-1)/(x*(x-2)),x,inf)
m=
1
>> n=limit(((x^2-1)/(x-2))-x,x,inf)
n=
2
Concluyendo que existe A.O., en la recta y=x+2. Para representar todo en una sola
grfica:
>>syms x, ezplot((x^2-1)/(x-2),[-5 5]), axis([-5 5 -10 15]), hold on ;
>>y=-10:.001:15;plot(2,y,'r--')
>> hold on,ezplot(x+2,[-5 5]), axis([-5 5 -10 15])
15
10
-5
-10
-5 -4 -3 -2 -1 0 1 2 3 4 5
x
Figura 3.3 Grfico de funcin con asntota oblicua y vertical
Primero, observar que el Dom(f)=. Adems, como en cada uno de los trozos es con-
tinua, por ser funciones polinmicas, basta estudiar qu ocurre en los puntos frontera
x=1,3.
72
Operaciones bsicas con funciones
laterales, pero al ser una funcin a trozos debe indicarse qu trozo es el ade-
cuado
lim f x lim x 1
x o 3 x o 3
lim f x lim x 1
x o 3 x o3
>> l3=[limit(1,x,3),limit(x+1,x,1)]
l3 =
[ 1, 2]
x Por lo tanto lim f x , ya que los lmites laterales no coinciden. Adems, al
x o3
73
Matlab para Matemticas en ingenieras
Con esta orden, ans pasa a ser ya un nmero complejo, no real, como puede compro-
barse con el siguiente comando lgico (la respuesta de este tipo de comandos es 1 si la
comparacin es cierta, y 0 si la comparacin es falsa):
>> isreal(ans)
ans =
0
Para calcular sus partes reales e imaginarias, Matlab posee los comandos
>>reale>>imag, respectivamente:
>> z=complex(2,-3)
z=
2 - 3i
>> real(z)
ans =
2
>> imag(z)
ans =
-3
Para operar con nmeros complejos puede hacerse con las operaciones habi-
tuales.
1 i
Ejemplo 3.10 Calcular .
2 3i
>> z1=complex(1,1)
z1 =
1 + 1i
74
Operaciones bsicas con funciones
>> z1/z
ans =
-1/13 + 5/13i
O incluso directamente:
>> (1+i)/(2-3*i)
ans =
-1/13 + 5/13i
Para calcular races, de forma directa Matlab slo averigua una de ellas.
>> z^(1/4)
ans =
1.3366 - 0.3352i
Para obtenerlas todas, se puede pasar el nmero complejo de forma binmica a forma
exponencial, y trabajar con la expresin de un nmero complejo en forma exponencial:
75
Matlab para Matemticas en ingenieras
>> z_0=(abs(z)^(1/4))*exp(i*angle(z)/4)
>> z_1=(abs(z)^(1/4))*exp(i*(angle(z)+2*pi)/4)
>> z_2=z_1*exp(i*2*pi/4)
>> z_3=z_2*exp(i*2*pi/4)
Estos resultados pueden obtenerse directamente con la frmula:
>> z=2-3*i;N=4;k=0:N-1;w=nthroot(abs(z),N)*exp(i*(angle(z)+2*pi*k)/N)
w=
>>[t,m]=cart2pol(a,b)
Cabe tener en cuenta que el ngulo lo devuelve en radianes y que devolver el Argu-
mento principal. Por lo que, segn el afijo del nmero complejo, debe elegirse el ngu-
lo adecuado correspondiente al cuadrante en el que se encuentre.
Para pasar de polares a cartesianas, se realiza con el comando:
>>[a,b]=pol2cart(m,t)
76
Operaciones bsicas con funciones
De donde se obtiene
90 3
120 60
2
150 30
1
180 0
210 330
240 300
270
Figura 3.4 Representacin usando >>compass
Aunque este comando permite ir ms all, ya que directamente representa todas las
races obtenidas de un nmero complejo. Retomando el Ejemplo3.11, si se quiere re-
presentar las races cuartas de z=2-3i, cuyo resultado estaba en la variable w, se escri-
be:
>> compass(w)
90 1.5
120 60
150 30
0.5
180 0
210 330
240 300
270
77
Matlab para Matemticas en ingenieras
(a) Dados los nmeros complejos z1=2+3i, z2=-3+i, representar en color azul los afijos
de z1 y z2; en color rojo el afijo de z1+ z2; y en verde el afijo de i z1.
(b) Dado z 9, representar el tringulo cuyos vrtices son los afijos de las races
cbicas de z. Comprobar que el tringulo es equiltero.
(c) Representar, en una misma figura, el tringulo del apartado (b) y el tringulo gira-
do un ngulo cualquiera.
a) >>z_1=2+3*i;
>>z_2=-3+i;
>>suma=z_1+z_2;giro=i*z_1;
>>plot(z_1, 'ob')
>>text(real(z_1)+0.2,imag(z_1), 'z1') %indicamos las coordenadas donde
ponemos el texto
>>hold on
>>plot(z_2, 'ob')
>>text(real(z_2)+0.2,imag(z_2),'z2')
>>plot(suma, 'or')
>>text(real(suma)+0.2,imag(suma),'z1+z2')
>>plot(giro, 'og')
>>xlabel('real')
>>ylabel('imaginario')
>>puntos=[0 z_1 suma z_2 0];
>>plot(real(puntos), imag(puntos), 'b')
>>vector1=[0 suma];
>>plot(real(vector1),imag(vector1),'r')
>>vector2=[0 giro];
>>plot(real(vector2), imag(vector2), 'g')
>>axis equal -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Figura 3.5 Representacin del polgono cuyos vrtices son los afijos
78
Operaciones bsicas con funciones
>>lado1=abs(vertices(1)-vertices(2)),lado2=abs(vertices(2)-vertices(3))
>>lado3=abs(vertices(3)-vertices(1))
>>hold on
>>anguloGiro=pi/4;
>>verticesGirados=vertices*exp(i*anguloGiro);
>>plot(real(verticesGirados),imag(verticesGirados), 'r')
3.6 Derivadas
Para derivar en Matlab se utiliza el comando
>>diff
el cual trabaja en simblico. Si no fuera as, Matlab lo que hace es calcular derivacin
numrica mediante diferencias finitas, que no es objeto de estudio de este libro. Por
79
Matlab para Matemticas en ingenieras
eso, para hallar derivadas de funciones, se definir previamente como simblica aque-
lla variable con respecto a la cual se quiere derivar la funcin.
Si se acude a la ayuda del comando que proporciona Matlab para derivacin simblica,
se encuentra:
As, se ve cmo ir obteniendo las derivadas sucesivas, sin ms que indicar el orden de
derivacin en el segundo o tercer argumento.
ans =
x/(x^2 + 1)^(1/2)
>> pretty(ans) .. (aqu no queda tan bien por el formato en papel)
x
-----------
2 1/2
(x + 1)
80
Operaciones bsicas con funciones
>> pretty(ans)
2
1 x
----------- - -----------
2 1/2 2 3/2
(x + 1) (x + 1)
Finalmente, para poner esta operacin ms simplificada, se pide a Matlab que realice la
suma de fracciones algebraicas:
>> factor(ans)
ans =
1/(x^2 + 1)^(3/2)
3.7 Integracin
Al igual que para la parte de derivacin, en integracin se procede a centrarse en el
caso simblico. El comando existente es:
>>int
Si de nuevo se accede a la ayuda de Matlab para integracin simblica:
81
Matlab para Matemticas en ingenieras
Si esto es as, debe indicrsele a Matlab dentro del comando >>int, mediante el si-
guiente argumento extra:
>>int(...,'PrincipalValue',VAL)
Los valores que toma la variable VAL son true o false, siendo este ltimo el que se
toma por defecto cuando no se indica nada.
En cualquiera de los otros casos, Matlab calcula directamente las integrales impropias
sin hallar su valor principal.
82
Operaciones bsicas con funciones
2
Ejemplo 3.16 Sea la funcin f x , calcular las siguientes integrales:
x 1
3 0
2 2 2
x 1 dx , 1 x 1 dx , 1 x 1 dx
2
Para calcular la integral indefinida x 1 dx , introducir
>> syms x,int(2/(x+1),x)
ans =
2*log(x + 1)
3
2
Para calcular la integral definida x 1 dx :
1
>> int(2/(x+1),x,1,3)
ans =
log(4)
0
2
Si ahora se pide como uno de los extremos de integracin el valor x=-1, x 1 dx se
1
pasa a tener una integral impropia de 2 especie, ya que la funcin no est definida en
ese punto. Matlab lo calcula de forma directa, dando una integral impropia divergente:
>> int(2/(x+1),x,-1,0)
ans =
Inf
f
2
Ejemplo 3.17 Hallar la integral impropia de 1 especie dx .
1
1 x2
83
Matlab para Matemticas en ingenieras
Primero se va a hacer una representacin grfica del rea solicitada, usando las instruc-
ciones anteriores.
>> x=linspace(0,2*pi,1000); y=sin(x);axis([0 2*pi -1 1])
>> area(y)
1
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
100 200 300 400 500 600 700 800 900 1000
84
Operaciones bsicas con funciones
Para calcular el rea encerrada, debe separarse en dos integrales, ya que el segundo
trozo da una aportacin negativa. Para ello, si es necesario, primero calcular los puntos
de corte con los ejes mediante el comando >>solve o con >>fzero ya explicados. En
este caso, como ya son conocidos se calculan de golpe las integrales:
S=
3.8 Ejercicios
1.- Hallar el dominio de las siguientes funciones. Hallar tambin sus asntotas:
a) , b) , c)
, d)
e) , f) , h)
3.- a) En cada apartado del ejercicio anterior, calcular todas las asntotas de las funcio-
nes y dibujarlas en las grficas ya obtenidas.
b) Observando las grficas anteriores, indicar el dominio de cada apartado. Despus
calcularlo tambin analticamente.
c) Observando las grficas nuevamente y sin necesidad de calcularlos, indicar los
lmites en los infinitos y en los puntos siguientes -segn el apartado que se indica-: x=-
1 a); x=1,-3 b); x=-1,3 c); x=2 d),; x=2 e); x=1 f) y finalmente, para el apartado g) en
x=1, 2.
4.- Indicar la expresin para representar las siguientes funciones, introdcelas y repre-
sntalas grficamente:
85
Matlab para Matemticas en ingenieras
4x 2
x 1 si x 0
1 2
4e x 2 si x 1 x 2
a) f ( x ) b) f ( x ) 2 si 0 d x 3
4 sin( 2 x ) si 1 d x d 20 x x6
tag x si x ! 3
5.- Realizar con Matlab las siguientes operaciones algebraicas. Simplificar siempre que
sea necesario. Obtener factorizados los resultados y, cuando se pueda, hallar el va-
lor numrico:
x 3 3x 2
a) 2 , b) 2
S
3 S4
21
c)
sen( 2 x )
, d)
e ln e5 4 ( e 1 )
x 4x 3 S
6 S
2 12 tg( x )( 1 sen 2 x ) e4 e
Soluciones: a) , b)0, c)2, d)
6.- Dada la funcin y=sen(x). Evaluar dicha funcin para x=, /2, 0, /4, -/3.
7.- Calcular los siguientes lmites:
1 2x 3x 2 2 x 16
a) lim 2 b) lim
x2 x 4
2
xo2 x o2
x x 2
x 3 3x 2 x
c) lim 3 d) lim
x o1
x x 2 x o0 1 1 x
1
x 2 3 x 2 x2 4 2 x sen( x )
e) lim f) lim
xo2
x2 xo0 x sen( x )
x 2 sin 1x
g) lim x
xof
2x 4 2x 2 h) lim
x o0 sin x
x 1
x2 3 ln( 1 x ) sin x
i) lim
j) lim
x of x 2 2 xo0 x sin x
1
xe 2 x
,x 0
m) lim f x siendo f x 2x 1
2
x o0 x x 2 ,x t 0
x 1
86
Operaciones bsicas con funciones
9.- Hallar el conjunto de valores de x para los que se verifican las siguientes de-
sigualdades
1 3 1 x x3 x 2 x 1
a) t5 b) x 2 1 c) ! d) !0
x 2x 2 x 2 3x 1 5 x
x 1
d) 1 e) | x+2| < | x-5| f ) -3d x-5 d 2 g) x2 -2x -3 >0
x2
10.- Resolver la ecuacin ez=z0, para los valores de z0=-2,1+ y 1.
12.- Dados los nmeros z1=2-i, z2= 4S, z3= 3 cos S4 i sin S4 , realizar las operaciones
que se indican a continuacin expresando el resultado en forma binmica.
(i) z1z2 (ii) z3 + z2 (iii) z2 (iv) z34 (v) 3 z3
e x x si x 0
13.- Dada la funcin f x 2
bx x . Obtener b para que la
x 2 si 0 d x 10
funcin sea continua en x=0.
14.- Estudiar qu valor (o valores) debe tomar el parmetro a para que la siguiente
funcin sea continua en su dominio de definicin
senx a cos x si x 0
f x 2
2 x a 2 si x t 0
e x 1 x 1
a) f x
x3
b) f x Ln
x 1
c) f x x 2
5 x 6 Ln x 3
x 1
16.- Sea f x x . Analizar:
x 1
a) Dominio y asntotas.
b) Representar en la misma grfica la funcin y las asntotas.
87
Matlab para Matemticas en ingenieras
e x 1 x 1
a) f x
x3
b) f x Ln
x 1
c) f x x 2
5x 6 Ln x 3
e
2 x2 1 3
d) cos ( 3x )dx e) arctg( 2x )dx f) dx g) x 1 Lnx dx
x2 1 1
21.- Hallar el rea de la figura que queda entre las curvas y=-x+1, y=ln(x+2),
y= , cuando x . Representar la figura y sombrear el rea pedida.
22.- Sea f(x) =(x-1) e-x. Calcular el rea de la regin limitada por la curva f(x) y el eje
OX en el intervalo [1, e].
23.- Calcular el rea encerrada entre las grficas de las funciones f(x)=x2+4 ,
g(x)= -x2+6.
x 1 3
,x d 1
24.- Dada la funcin f x 1 x
2
. Calcular f x dx .
x arctg x ,x ! 1 0
x 1
25.- Dada la curva la curva y , calcular el valor del parmetro b (con b>3) de
x2 4
manera que en la regin limitada por la grfica de la curva, el eje de abscisas y
3
las recta x=3, x=b, el rea sea Ln 4 b 2 .
88
Captulo 4
4
wf
Para hallar
wx
>>syms x y, f=x^2+y^2-1; diff(f,x)
ans =
2*x
wf
Ahora se calcula
wy
>> f=x^2+y^2-1; diff(f,y)
ans =
2*y
Para representarla: >>ezplot(x^2+y^2-1, [-2 2])), o bien >>ezplot(f,[-2 2])
89
Matlab para Matemticas en ingenieras
x2 + y2 - 1
2
1.5
0.5
0
y
-0.5
-1
-1.5
-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x
Para calcular derivadas parciales sucesivas, hay que indicar como argumentos las va-
riables con respecto a las cuales se quiere ir derivando y esto ya dice el orden de deri-
vacin.
>>diff(f,var1,var2,...)
>>syms x y, f=x^2*y^2+x*y-3*x+2*y;
>> diff(f,x)
ans =
2*x*y^2 + y 3
Se obtiene, =2xy2+y-3
>> diff(f,y)
ans =
2*y*x^2 + x + 2
Se obtiene, =2yx2+x-2
>> diff(f,y,x)
ans =
4*x*y + 1
Se obtiene, (x,y)=4xy+1
>> diff(f,y,y)
ans =
2*x^2
90
Funciones de varias variables. Ecuaciones diferenciales
Se obtiene, (x,y)=2x2
>> diff(f,x,y)
ans =
4*x*y + 1
Se obtiene, (x,y)=4xy+1. Con lo que se observa que se verifica el Teorema de Sch-
wartz, coincidiendo las derivadas cruzadas por tener una funcin continua con deriva-
das parciales continuas.
>> diff(f,x,x)
ans =
2*y^2
Y finalmente se obtiene, (x,y)=2x2.
En las siguientes subsecciones se van a ver los comandos que Matlab posee para calcu-
lar directamente el Jacobiano, vector gradiante y Hessiano, donde el clculo de las
derivadas de rdenes superiores lo har de forma directa.
91
Matlab para Matemticas en ingenieras
92
Funciones de varias variables. Ecuaciones diferenciales
93
Matlab para Matemticas en ingenieras
Por lo tanto, . Y para calcular su determinante, es decir, el hessiano:
>> det(ans)
ans =
8
Con lo que
En este ejercicio, ha salido que el hessiano de esta funcin es siempre un valor cons-
tante y no depende, por tanto, del punto donde es evaluado. Pero esto no es siempre as,
y la matriz hessiana puede depender de variables: . En ese caso, primero
se calcular el hessiano en general y luego ya se evaluar en el punto que interese.
Ejemplo 4.5 Calcular el hessiano en el punto (0,1) de la funcin f(x,y)= x2+y2sin(xy).
Es decir,
.
>> subs(A,{x,y},{0,1})
ans =
[ 2, 3]
[ 3, 0]
>> det(ans)
ans =
-9
b) O bien calcular primero el determinante y sustituir ah el punto:
>> det(A)
94
Funciones de varias variables. Ecuaciones diferenciales
ans =
4*sin(x*y) - 9*y^4*cos(x*y)^2 - 2*y^4*sin(x*y)^2 + 8*x*y*cos(x*y) -
2*x^2*y^2*sin(x*y) + 2*x*y^5*cos(x*y)*sin(x*y)
>> subs(ans,{x,y},{0,1})
ans =
-9
Nota: en el caso de poseer muchos puntos a evaluar, se explica una forma rpida
de evaluar en el siguiente ejemplo.
95
Matlab para Matemticas en ingenieras
Al resolver , mediante el comando solve, es conveniente pedir argumentos
de salida, para que as se obtengan las dos coordenadas de las soluciones, ya guardadas
en sus respectivas variables:
>> [S1,S2]=solve(-y*(3*x^2 + y^2 - 1),-x*(x^2 + 3*y^2 - 1))
S1 =
0
1
0
-1
0
1/2
-1/2
1/2
-1/2
S2 =
0
0
1
0
-1
1/2
1/2
-1/2
-1/2
Es decir, se encuentran 9 posibles puntos, donde en S1 se han colocado las opciones de
la variable x mientras que en S2 estn las de la variable y. Los puntos crticos a clasifi-
car son: (0,0),(1,0),(0,1),(-1,0),(0,-1),(1/2,1/2),(-1/2,1/2),(1/2,-1/2) y (-1/2,-1/2). Para
clasificarlos, se calcula el hessiano y se evala en estos puntos:
>> HESI=det(hessian(x*y*(1-x^2-y^2),[x,y]))
HESI =
- 9*x^4 + 18*x^2*y^2 + 6*x^2 - 9*y^4 + 6*y^2 1
96
Funciones de varias variables. Ecuaciones diferenciales
>> p1=subs(HESI,{x,y},{0,0})
p1 =
-1
Por lo tanto, como al sustituir el punto (0,0) el hessiano es menor que 0, esto asegura
que:
x (0,0) es un PUNTO SILLA
Puede ir hacindose as, uno por uno, o construir una sentencia donde los vaya eva-
luando todos, indicando el vector formado por los valores de la variable x y el vector de
las coordenadas de la variable y:
>> determinanteevaluado=subs(HESI, {x,y},{[0,1,0,-1,0,1/2,-1/2,1/2,-1/2],[0,0,1,0,-
1,1/2,1/2,-1/2,-1/2]})
O mejor y ms abreviado, ya que los vectores de ambas variables son S1 y S2:
>> determinanteevaluado=subs(HESI, {x,y},{S1,S2})
Obteniendo, en ambos casos, como salida:
determinanteevaluado =
[-1, -4, -4, -4, -4, 2, 2, 2, 2]
Ahora ya pueden clasificarse todos los puntos, observando que:
x PUNTOS SILLA: (0,0),(1,0),(0,1),(-1,0),(0,-1)
Los dems puntos son mximos o mnimos relativos, al tener hessiano positivo. Para
saber si son mximos o mnimos, hay que estudiar el signo de
>> matriz=hessian(x*y*(1-x^2-y^2),[x,y]);
>>deri2x=[subs(matriz(1,1),{x,y},{1/2,1/2}),subs(matriz(1,1),{x,y},{-
1/2,1/2}),subs(matriz(1,1),{x,y},{1/2,-1/2}),subs(matriz(1,1),{x,y},{-1/2,-1/2})]
deri2x =
[-3/2 , 3/2, 3/2, -3/2]
Esta instruccin puede hacerse con un solo >>subs, como anteriormente, optimizando
el lenguaje de comandos:
>> deri2x=subs(matriz(1,1),{x,y},{[1/2,-1/2,1/2,-1/2],[1/2,1/2,-1/2,-1/2]})
deri2x =
[ -3/2, 3/2, 3/2, -3/2]
97
Matlab para Matemticas en ingenieras
As:
x Mximos relativos: (1/2,1/2), (-1/2,-1/2)
x Mnimos relativos: (-1/2,1/2), (1/2,-1/2)
Formato tabla: Para una mejor visualizacin, ilustramos lo obtenido mediante una ta-
bla. Para ello, se va a usar el comando >>table que trabaja con datos numricos. As
que lo primero es convertir los datos que son simblicos (por haber sido obtenidos
mediante el comando >>subs) en numricos:
>> componentes=double([S1,S2])
componentes =
0 0
1.0000 0
0 1.0000
-1.0000 0
0 -1.0000
0.5000 0.5000
-0.5000 0.5000
0.5000 -0.5000
-0.5000 -0.5000
>> determinante=double(determinanteevaluado)
determinante =
-1
-4
-4
-4
-4
2
2
2
2
>> segundaderivadax=double(deri2x)
segundaderivadax =
0
0
0
0
0
-1.5000
1.5000
1.5000
-1.5000
98
Funciones de varias variables. Ecuaciones diferenciales
>> Analisis=table(componentes,determinante,segundaderivadax)
Analisis =
componentes determinante segundaderivadax
_______________ ____________ _______________
0 0 -1 0
1 0 -4 0
0 1 -4 0
-1 0 -4 0
0 -1 -4 0
0.5 0.5 2 -1.5
-0.5 0.5 2 1.5
0.5 -0.5 2 1.5
-0.5 -0.5 2 -1.5
integracin.
Analticamente, como la funcin no tiene primitiva con respecto a la variable y, no
se podra hallar esta integral. Sin embargo, esto no resulta ser un problema para
Matlab, que cambiando el orden de integracin por su cuenta, calcula la integral:
>> syms x y, int(int(exp(y^2),y,x,1),x,0,1)
ans =
exp(1)/2 -
99
Matlab para Matemticas en ingenieras
0.9
0.8
0.7
0.6
0.5 y=x
0.4
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1
x fijo
x
2
Ejemplo 4.8 Hallar la integral y 2 1 dA , donde D es el disco limitado por la
D
Para ello, se realiza un cambio a polares tanto de la funcin como del recinto. No olvi-
dar aadir el Jacobiano de la transformacin a la hora de integrar. La funcin quedara:
>>syms x y r theta, f=inline('x^2+y^2+1')
f=
Inline function:
f(x,y) = x^2+y^2+1
>> F=simplify(f(r*sin(theta),r*cos(theta)))
F=
r^2 + 1
Y para cambiar a polares el recinto:
>> g=x^2+y^2-4;D1=simplify(subs(g,{x,y},{r*cos(theta),r*sin(theta)}))
D1 =
r^2 4
100
Funciones de varias variables. Ecuaciones diferenciales
Ejemplo 4.9 Hallar el volumen del slido situado en el primer cuadrante y compren-
dido entre el plano OX, el plano z=y y el cilindro x2+y2=1.
101
Matlab para Matemticas en ingenieras
>>t=[0:0.1:2*pi]';u=[0:.1:3];x=cos(t)*ones(size(u));y=sin(t)*ones(size(u));z=ones(size(t)
)*u; plot3(x,y,z),hold on
>>t=[0:0.1:2*pi]';u=[0:.1:3];x=cos(t)*ones(size(u));y=sin(t)*ones(size(u));z=ones(size(t)
)*u; mesh(x,y,z),hold on
3 3
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
0 0
1 1
0.5 1 0.5 1
0 0.5 0 0.5
0 0
-0.5 -0.5 -0.5 -0.5
-1 -1 -1 -1
Figura 4.3 Representacin usando >>plot Figura 4.4 Representacin usando >>mesh
Se dibujar el plano en la segunda grfica, por tener una malla ms clara (rotando la
figura para obtener una mejor visin):
>>[x,y]=meshgrid(0:.1:2);z=y;mesh(x,y,z),box on,xlabel('Eje X'),ylabel('Eje Y'),zlabel('Eje
Z')
2.5
2
Eje Z
1.5
0.5
-1
0 0
-1 -0.5 1
0 0.5 1 1.5 2 2
Eje X
Eje Y
102
Funciones de varias variables. Ecuaciones diferenciales
0.8 y=sqrt(1-x 2)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1
103
Matlab para Matemticas en ingenieras
Ejemplo 4.10 Resolver la siguiente ecuacin diferencial: yc (x2+1)ey - (2x2+1) (1+e y ) =0.
Nota: De forma similar al comando >>solve, puede ocurrir que, al resolver una
EDO, se obtenga una sola solucin, aun sabiendo que existen ms. En ese caso
se introducir un argumento adicional, 'IgnoreAnalyticConstraints', indicando
como argumento ltimo: false
Evidentemente, esta ecuacin puede ser vista como y(t)=y2(t). Y resolverla mediante
variables separadas de la forma . Por lo tanto, la solucin sera .
Despejando la funcin y(t), para dar la solucin de forma explcita, se tendr: y(t)= .
104
Funciones de varias variables. Ecuaciones diferenciales
Si se resuelve directamente con Matlab, sale un solo resultado, lo que indica que la
solucin no es correcta del todo pues una EDO sin condiciones iniciales tendr infinitas
soluciones. De hecho, la solucin encontrada es la trivial,:
>> syms y(t),dsolve(sqrt(diff(y))==y)
ans =
0
Por ello se exigir:
>> syms y(t),dsolve(sqrt(diff(y))==y,'IgnoreAnalyticConstraints', false)
Warning: The solutions are subject to the following conditions:
(C13 + t)*(1/(C13 + t)^2)^(1/2) = -1
> In dsolve at 219
ans =
-1/(C13 + t)
105
Matlab para Matemticas en ingenieras
Ejemplo 4.13 Resolver el siguiente P.V.I. (Problema del Valor Inicial) mediante algn
y c x 0.1 y x 0.02 y
mtodo Runge-Kutta, dos mtodos al menos: . Representar
y 0 0.01
las soluciones obtenidas con dichos mtodos.
-1
0 20 40 60 80 100 120
106
Funciones de varias variables. Ecuaciones diferenciales
-1
0 20 40 60 80 100 120
4.8 Ejercicios
1.- Calcular el vector gradiente de las funciones:
y
a) f(x,y) = b) f(x,y) = e-x cos y c) f(x,y)= 2+y2sen(xy)
x y2
2
107
Matlab para Matemticas en ingenieras
4.- Sea f(x,y) = x3- 3axy +y3 . Determinar y clasificar los puntos crticos de la funcin
segn los valores de a .
6.- Dada la regin D del plano limitada por las rectas y = -3x+6 e y = 0, la parbola y
= 4x-x2 y la recta x = 4 y dada la superficie z = x2+y2, calcular el rea de la superfi-
cie.
7.- Calcular el volumen de una peonza modelizada por las superficies de ecuaciones
S1{x2+y2=z2, S2{x2+y2+(z-2)2=4.
8.- Una caja rectangular sin tapa superior debe tener un volumen de 12m3. Determinar
las dimensiones de la caja que darn un rea mnima.
9.- Sea D la regin limitada por las curvas xy=9, y=x, x=9 e y=0. Calcular:
a) rea de la regin D.
b) Volumen limitado inferiormente por la regin y superiormente por el plano
z=2x+3y.
c) rea del plano z=2x+3y situado sobre la regin D.
108
Funciones de varias variables. Ecuaciones diferenciales
2 y
3( 1 x ) e
12.- Resolver la ecuacin diferencial y' . Obtener la solucin particular
1 ey
para la condicin inicial (1,0).
109
Captulo 5 5
Introduccin a la Estadstica
Descriptiva
5.1 Introduccin
Este captulo ofrece al lector una introduccin a la estadstica descriptiva, tanto terica
como en el marco de Matlab.
La Estadstica es la parte de las Matemticas que se encarga del estudio de una deter-
minada caracterstica en una poblacin. Recogiendo los datos, organizndolos en ta-
blas, representndolos grficamente y analizndolos para sacar conclusiones de dicha
poblacin.
En el caso de la estadstica descriptiva, el estudio se realiza sobre la poblacin comple-
ta, observando una caracterstica y calculando unos parmetros que proporcionen in-
formacin global de toda la poblacin.
Si se realizase un estudio descriptivo sobre un subconjunto de la poblacin llamado
muestra y, posteriormente, se extendiesen los resultados obtenidos a toda la poblacin,
se estara realizando inferencia estadstica.
Matlab posee toolbox o herramientas para el clculo de estadsticos, ajuste por rectas de
regresin, mnimos cuadrados, distribucin de probabilidad, funcin de densidad. etc.
111
Matlab para Matemticas en ingenieras
PARMETROSESTADSTICOS
corr Linearorrankcorrelationcoefficient.
corrcoef Linearcorrelationcoefficient(inMATLABtoolbox).
cov Covariance(inMATLABtoolbox).
geomean Geometricmean.
iqr Interquartilerange.
mad MedianAbsoluteDeviation.
mean Sampleaverage(inMATLABtoolbox).
median 50thpercentileofasample(inMATLABtoolbox).
mode Mode. or most frequent value in a sample (in
MATLABtoolbox).
partialcorr Linearorrankpartialcorrelationcoefficient.
partialcorri Partial correlation coefficients with internal adjust
ments.
prctile Percentiles.
quantile Quantiles.
range Range.
std Standarddeviation(inMATLABtoolbox).
tabulate Frequencytable.
var Variance(inMATLABtoolbox).
112
Introduccin a la Estadstica Descriptiva
REPRESENTACIONES
hist(X,n) HistogramadedatosX,nnmerodeclaseequidistantes
bar(X) Diagramadebarrasvertical
plot Polgonodefrecuencias
barh(X) Diagramadebarrashorizontal
pie(f) Grficodesectores, dondefcorrespondealasfrecuencias
En cuanto a trabajar con distribuciones, o bien discretas o bien continuas, Matlab tam-
bin proporciona comandos al respecto:
DISTRIBUCIONESDEPROBABILIDAD
binostat Binomialmeanandvariance.
nbinstat Negativebinomialmeanandvariance.
normstat Normal(Gaussian)meanandvariance.
poisstat Poissonmeanandvariance.
normcdf Normal(Gaussian)cumulativedistributionfunction.
poisscdf Poissoncumulativedistributionfunction.
binocdf Binomialcumulativedistributionfunction.
113
Matlab para Matemticas en ingenieras
FUNCIONESDEDENSIDAD
binopdf Binomialdensity.
nbinpdf Negativebinomialdensity.
normpdf Normal(Gaussian)density.
poisspdf Poissondensity.
114
Introduccin a la Estadstica Descriptiva
115
Matlab para Matemticas en ingenieras
que, el nmero de clases resultantes est comprendido entre 5 y 20, para que la
tabla y los grficos puedan transmitir con facilidad la idea de la distribucin de
frecuencias. Analizando como antes, pero referido ahora a la marca de la clase:
- Frecuencia absoluta, ni, N = ni
i
- Frecuencia relativa,
- Frecuencia absoluta acumulada, Ni
- Frecuencia relativa acumulada, Fi
0
0 5 10 15 20 25
17%
13%
13%
116
Introduccin a la Estadstica Descriptiva
4.5
3.5
2.5
1.5
1
2 3 4 5 6 7 8 9 10
4.5
3.5
2.5
1.5
0.5
0
2 3 4 5 6 7 8 9 10
Datos= {6,4,5,8,5,4,7,4,5,10,9,9,3,8,4,4,6,7,7,8,2,3,6,7}
Se pide:
117
Matlab para Matemticas en ingenieras
>> D=sort(D)
D=
Columns 1 through 13
2 3 3 4 4 4 4 4 5 5 5 6 6
Columns 14 through 24
6 7 7 7 7 8 8 8 9 9 10
>>min(D) % devuelve el valor mnimo
ans=
2
>> max(D) % devuelve el valor mximo
ans=
10
b) Obtener tablas de frecuencias con variable discreta es muy rpido, ya que el
nombre de la clase coincide con el valor numrico del dato.
Con la orden >>tabulate(D), Matlab devuelve una tabla en la que la primera columna
son los valores de d, ordenados de menor a mayor; la segunda columna corresponde a
la frecuencia absoluta ni ; y finalmente, la tercera columna muestra la frecuencia relati-
va fi en %.
>> tabulate(D)
118
Introduccin a la Estadstica Descriptiva
4.5
3.5
2.5
1.5
0.5
0
2 3 4 5 6 7 8 9 10
119
Matlab para Matemticas en ingenieras
10
0
0 5 10 15 20 25
20
15
10
0
0 2 4 6 8 10
1.83 1.80 1.65 1.61 1.89 1.89 1.74 1.76 1.83 1.65 1.83 1.72 1.57 1.83 1.56 1.81 1.71 1.71 1.77 1.83
1.71 1.80 1.77 1.73 1.66 1.74 1.82 1.86 1.60 1.65 1.67 1.79 1.78 1.77 1.83 1.69 1.88 1.75 1.56 1.83
1.78 1.89 1.86 1.88 1.69 1.78 1.88 1.83 1.64 1.90 1.70 1.68 1.62 1.73 1.69 1.87 1.68 1.87 1.68 1.77
1.72 1.70 1.71 1.71 1.72 1.72 1.69 1.94 1.67 1.71 1.69 1.70 1.75 1.85 1.72 1.64 1.64 1.84 1.86 1.78
1.70 1.70 1.58 1.64 1.66 1.80 1.80 1.68 1.77 1.68 1.86 1.76 1.93 1.77 1.72 1.63 1.67 1.83 1.76 1.66
1.80 1.61 1.78 1.75 1.71 1.77 1.79 1.72 1.79 1.59 1.62 1.67 1.81 1.71 1.74 1.68 1.72 1.77 1.69 1.89
1.71 1.83 1.68 1.69 1.68 1.74 1.51 1.60 1.75 1.79 1.69 1.73 1.62 1.91 1.72 1.88 1.69 1.60 1.77 1.74
1.58 1.76 1.77 1.63 1.75 1.61 1.64 1.87 1.71 1.79 1.68 1.67 1.79 1.54 1.73 1.80 1.78 1.65 1.81 1.73
1.63 1.65 1.74 1.82 1.78 1.54 1.85 1.77 1.78 1.58 1.74 1.75 1.81 1.74 1.82 1.50 1.62 1.74 1.80 1.79
1.71 1.69 1.94 1.70 1.69 1.68 1.65 1.69 1.70 1.73 1.75 1.71 1.87 1.70 1.83 1.74 1.79 1.83 1.71 1.88
120
Introduccin a la Estadstica Descriptiva
Se desea:
a) Introducir la tabla en Matlab, asignarle nombre de variable.
b) Pasar de matriz de datos a vector columna.
c) Obtener valor mnimo, valor mximo, ordenar.
d) Construir una tabla de frecuencias absolutas y relativas.
e) A partir de la tabla de frecuencias, cuntas personas miden menos de 1.70?,
qu porcentaje de personas su altura se encuentra en el intervalo [1.6, 1.7)?,
qu porcentaje de personas tiene un altura inferior a 1.90?
f) Representar los diferentes tipos de grficos.
Resolucin
a) Crear la variable: Para no tener que introducir a mano la matriz, seleccinese
la matriz anterior y cpiese. Entrar en Matlab y clicar en New variable
121
Matlab para Matemticas en ingenieras
122
Introduccin a la Estadstica Descriptiva
Como son vectores filas, para dar lugar a los vectores columna han de transponerse y a
continuacin, ya se puede construir la tabla de frecuencias.
Si se desea una salida con forma de tabla, se tiene el comando >>ta-
ble(columna1,columna2), proporcionndole como argumentos las columnas que van
a intervenir en la tabla. Con este fin se crea la columna clase y la columna fabs, del
siguiente modo:
123
Matlab para Matemticas en ingenieras
>>clase=m
>>fabs = f %frecuencia absoluta
>>table(clase, fabs)
124
Introduccin a la Estadstica Descriptiva
125
Matlab para Matemticas en ingenieras
90
80
70
60
50
40
30
20
10
0
1.5 1.6 1.7 1.8 1.9 2
PARMETROSESTADSTICOSDEPOSICIN
mean Mediaaritmtica
median Mediana
mode Moda
geomean Mediageomtrica
quantile(X,p) Quartiles.
prctile Percentiles.
126
Introduccin a la Estadstica Descriptiva
a) Media aritmtica: dado un conjunto de N valores, ^x1 ,x2 ,...,xN ` , de una varia-
ble estadstica cuantitativa, el valor medio o media aritmtica, , es la suma de todos
los valores dividido por el nmero total de datos N:
1
x ( x1 x2 .... x N )
N
Si se conocen las frecuencias, la media aritmtica se obtiene mediante:
x f i i
Media Promedio Media Aritmtica x i 1
N
b) Mediana: la mediana de un conjunto de datos es el valor del dato situado en el
centro de la serie de valores, cuando estos estn ordenados.
N 1
En general, si hay N valores, N impar, la mediana correspondera a la posicin .
2
En el caso de que el nmero de datos, N, de la serie sea par, la mediana se obtiene co-
mo promedio de los dos valores centrales.
N N
y 1
2 2
x N 1 N impar
2
Por tanto, para calcular la mediana xN xN debe distinguirse si
1
2 2
N par
2
el nmero de datos es par o impar.
c) Moda: de un conjunto de datos es el valor que aparece con mayor frecuencia.
La moda de una serie estadstica es un indicador de posicin central. Puede denominar-
se robusto, porque resulta poco influida por la presencia de algunos valores extremos,
digamos anormales, y que en ocasiones provienen de errores en la medicin o lectura.
Su uso es muy recomendable cuando se trata de variaciones muy discontinuas en una
serie.
d) Media Geomtrica de un conjunto de N valores es la raz n-sima de los pro-
ductos de dichos nmeros.
n n
MG n xi o n
x f i i
i 1 i 1
127
Matlab para Matemticas en ingenieras
Ejemplo 5.1 Sean los siguientes datos correspondientes a una variable discreta, Da-
tos={6,4,5,8,5,4,7,4,5,10,9,9,3,8,4,4,6,7,7,8,2,3,6,7}. Calcular la media, moda, media-
na y media geomtrica.
Las rdenes a utilizar se pueden consultar en la Tabla 5.1. El vector de datos ser
>>D=[6 4 5 8 5 4 7 4 5 10 9 9 3 8 4 4 6 7 7 8 2 3 6 7];
Ejemplo 5.2 Considrese la variable continua d cuya tabla de frecuencias puede con-
sultarse en el epgrafe 5.3.2.2. Hallar los valores de media, mediana y moda, introdu-
cidas las ordenes referidas a los datos d.
128
Introduccin a la Estadstica Descriptiva
129
Matlab para Matemticas en ingenieras
130
Introduccin a la Estadstica Descriptiva
Ejemplo 5.5 Con los datos d de variable del ejemplo anterior, halla el recorrido inter-
cuartlico y el recorrido.
-Para calcular el recorrido intercuartlico, basta hallar Q3-Q1. Este valor indica dnde se
encuentra acumulado el 50% de la poblacin.
Puede ser calculado a partir de los cuartiles o, utilizando directamente la funcin
>>iqr(datos).
Los resultados son los mostrados a continuacin.
>>iqr(D)
ans=
3.5000
-Para hallar el recorrido, basta restar al valor mximo de la poblacin el valor mnimo.
Otra forma es utilizando la funcin >> range (datos).
Los resultados utilizando ambas opciones son:
131
Matlab para Matemticas en ingenieras
>> max(D)-min(D)
ans =
8
>>range(D)
ans =
8
x i x | x i x | fi
Variable Discreta , Variable continua i 1
N N
d) Varianza: Se define la varianza como la media de las desviaciones al cuadrado.
2
Se representa por V
2
2
x x
i 1
i fi
V
N
O bien, si no se tienen los datos agrupados por frecuencias
La varianza mide la dispersin de los valores de la variable respecto de la media. Cuan-
to mayor sea la varianza, menos representativa es la media.
e) Desviacin estndar: A la raz cuadrada de la varianza se le denomina Desvia-
cin Estndar. Se expresa en las mismas unidades que la media.
2
( x x )2 x x
i 1
i fi
Variable discreta V , Variable continua V
n N
La media puede no resultar un indicador de medida central en aquellas series asimtri-
cas o con valores extremos. Como consecuencia, la desviacin estndar tampoco ser
un parmetro adecuado de dispersin, ya que su clculo se basa en desviaciones respec-
to a la media. En esos casos se utiliza el intervalo intercuartlico.
132
Introduccin a la Estadstica Descriptiva
EXPRESINMATLAB PARMETROSESTADSTICOSDEDISPERSIN
range(datos) RecorridooRango mximomnimo
iqr(datos) Recorrido inter Q3Q1
cuartlico
mad(datos) Desviacinmedia x i x | x
i 1
i x | fi
N N
Std(datos,1) Desviacin estn 2
dardelapoblacin V
( x x ) 2
x x
i 1
i fi
n V
N
var(datos) Varianza 2
V ( x x ) 2
2
x x
i 1
i fi
n V
N
Ejemplo 5.6 Obtener los parmetros de dispersin para el conjunto de datos de varia-
ble continua d utilizada en los ejemplos anteriores.
El resultado es:
133
Matlab para Matemticas en ingenieras
En este caso se recurre para compararlas al coeficiente de variacin de las dos mues-
tras
Hipermercado CV=(75/400)*100=18.75 %
Pequea tienda CV=(4/10)*100=40%
La demanda es ms variable en la pequea tienda de barrio.
134
Introduccin a la Estadstica Descriptiva
5.5 Ejercicios
1.- Se considera el nmero de materias suspensas que constan en el expediente de un
grupo de alumnos. Con estos datos se construy la siguiente distribucin de fre-
cuencias:
a) Generar con Matlab una tabla con clases, frecuencias absolutas, relativas y
acumuladas.
b) A partir de la tabla indicar: Cuntos estudiantes tienen menos de dos asignatu-
ras suspendidas? qu porcentaje de estudiantes tienen ms de 5 materias sus-
pendidas?
c) Representar el histograma.
d) Calcular la moda, la media, la mediana, la desviacin tpica y el coeficiente de
variacin.
135
Matlab para Matemticas en ingenieras
2.- Calcular el tiempo medio y la mediana de montaje si los tiempos obtenidos han
sido:
3.4, 3.5, 2.7, 3.6, 2.8, 2.9, 3.2, 3.5, 2.6, 2.8 horas.
Al transcribir los datos se reemplaza, por error, el valor 20 por 0 dando lugar a una
nueva serie de datos y.
a) Calcular para ambas series de datos, x, y, el valor medio, moda, desviacin t-
pica, Q1, Q3 y el recorrido intercuartlico.
b) Analizar cul de los valores calculados muestra mayor robustez como medida
de posicin, y cul mayor robustez como medida de dispersin al producirse el
error.
5.- La tabla siguiente muestra el resultado de una encuesta entre los alumnos de primer
curso, analizando el nmero de suspensos en la primera evaluacin :
022403325232434314110411424203130522303051140
323233124231314
a) Construir la tabla de frecuencias.
b) Obtener: media, varianza, cuartiles.
136
Introduccin a la Estadstica Descriptiva
8.- Sobre un grupo de 25 personas se realizan las siguientes observaciones de sus pesos
(en Kg):
58, 42, 51, 54, 43, 42, 49, 56, 58, 57, 59, 63, 58, 66, 70, 72, 71, 69, 70, 68, 64, 60, 54,
49, 71
137
Matlab para Matemticas en ingenieras
10.- Quince estudiantes del grupo A de matemtica I obtuvieron las siguientes notas
definitivas al final del periodo:
5, 6, 5.5, 9, 4.5, 7, 5.8, 6.5, 8.8, 6, 7, 8, 4
y el grupo B de 20 estudiantes obtuvo en la misma asignatura las siguientes notas:
7.1, 9, 4.6, 7.5, 7.8 ,8.8, 7.8, 4, 4, 5.8, 7.8, 9.2, 5.6, 6, 7, 7.2, 5.6, 5.8, 8, 7.6
El profesor desea averiguar cul de estos dos grupos es ms homogneo, teniendo en
cuenta las notas definitivas obtenidas.
138
6 Captulo 6
Introduccin al lgebra
matricial
139
Matlab para Matemticas en ingenieras
>> B=[4 3 2 ;5 3 0 ;2 5 9]
Nota: Para introducir los elementos de una matriz no es necesario hacerlo uno a
uno, si se observa que los elementos siguen algn tipo de progresin o ley ma-
temtica. Para tal fin puede usarse el operador :, indicando el primer elemento,
el paso (siempre en medio) y el ltimo elemento. Cuando el paso no se indica, se
sobreentiende que este es 1. Tambin pueden usarse matrices ya conocidas o
implementadas en Matlab.
Ejemplo 6.1 Introducir en Matlab la matriz E:
>> E=[1:2:7;1:-1:-2;ones(1,4);1:4]
E=
1 3 5 7
1 0 -1 -2
1 1 1 1
1 2 3 4
Matlab tiene implementadas expresiones tipo la de ones, que genera una matriz de unos
u otras matrices que se vern en la siguiente seccin.
140
Introduccin al lgebra matricial
Todas las matrices sobre las que se va a explicar cmo generarlas en Matlab, se pueden
consultar en la Tabla 6.1. Las ltimas columnas indican la salida de Matlab y la corres-
pondiente expresin matricial. Dicha tabla es un breve resumen de algunas matrices
especiales, definidas ya en Matlab, y la simbologa para las operaciones entre matrices:
Tabla 6.1 Algunas Matrices especiales en Matlab
1 0
Identidad eye(n) >>eye(2) 0 1
Nula 0 0 0
zeros(m,n) >>zeros(2,3) 0 0 0
Unos 1
ones(m,n) >>ones(2,1) 1
Diagonal
diag([a >>diag([- 1 0
0 3
b,,n]) 1,3])
Triangular
superior 1 2 3 5
0 2 4 1
triu(A) >>triu(A)
0 0 3 2
Triangular
inferior 1 0 0 0
3 2 0 0
tril(A) >>tril(A)
6 4 3 0
Nota: Las matrices nulas y de unos, pueden ser cuadradas (nmero de filas igual
a nmero de columnas, n=m) o rectangulares. En caso de querer construir cual-
quiera de ellas cuadrada basta indicar un solo argumento:
>> ones(3)
ans =
1 1 1
1 1 1
1 1 1
141
Matlab para Matemticas en ingenieras
Nota: Matlab tambin permite construir una matriz identidad rectangular (aun-
que se llama realmente matriz identidad a una matriz cuadrada). En realidad lo
que hace es, poner una diagonal de 1s en una matriz de las dimensiones indica-
das:
>> eye(3,2)
ans =
1 0
0 1
0 0
Nota: Si se introduce la orden >> diag(A), donde A es una matriz, Matlab de-
vuelve el vector columna formado por la diagonal de la matriz argumento.
>> diag(A)
ans =
1
2
3
>> diag(diag(A))
ans =
1 0 0
0 2 0
0 0 3
142
Introduccin al lgebra matricial
Sustituye los
valores de la A(m,:)=v
fila m por el >>A(2,:)=ones(1,4)
vector v
Sustituye los
valores de la
columna n por A(:;4)=w >>A(:,4)=zeros(3,1)
el vector w
Intercambiar
filas
A([fi,fj],:)=A([fij,fi],:) >>A([2,3],:)=A([3,2],:)
Fila fi por fj
Intercambiar
columnas
A(:,[ck;cl])=A(:,[cl;ck]) >>A(:,[1;2])=A(:,[2;1])
columna ck por
cl
Submatriz de A
formada por las
A(f1 : fn, : ) >>A(1:3,:)
filas entre f1 y
fn
Submatriz de A
con elementos A(f1 : f2, c1 : c2)
consecutivos de >>A(1 : 2, 3 : 4)
las filas y co-
lumnas
Submatriz todas
las filas de A y
las columnas de A( : , ck: cl) >>A( : , 2 : 3)
la ck a la cl
143
Matlab para Matemticas en ingenieras
al final >>F=
[A;F] ones(1,4);Af=[A;F]
al principio >>F=
Aadir a una
matriz una fila [F;A] ones(1,4);fA=[F;A]
144
Introduccin al lgebra matricial
145
Matlab para Matemticas en ingenieras
Para aplicar operaciones entre elementos de matrices se requiere que las matrices ten-
gan el mismo tamao.
Tabla 6.5 Operaciones elemento a elemento
1 2 3 5 4 3 2
A 3 2 4 1 , B 5 3 0
6 4 3 2 2 5 9
Si queremos obtener el rango de las matrices usamos el comando >>rank
>>rank(A)
ans
3
146
Introduccin al lgebra matricial
>>A( : )
Cambia de matriz
a vector
Tamao de la >>size(A)
matriz
Redimensiona >>reshape(A,
una matriz 4, 3)
A (m u n) en
otra de tamao
pu q
Traza >>trace(B)
Suma de los ele-
mentos de la dia-
gonal
147
Matlab para Matemticas en ingenieras
148
Introduccin al lgebra matricial
149
Matlab para Matemticas en ingenieras
>> flip(D)
ans =
5
4
3
2
1
>> flipud(D)
ans =
5
4
3
2
1
Es decir, el comando >>flip acta tanto sea el argumento de entrada matriz o vector,
haciendo la operacin adecuada en cada caso. Sin embargo, cuando se usen los coman-
dos >>fliplr y >>flipud, si no pueden efectuar su accin sobre la matriz introducida, la
devolvern tal cual:
>> fliplr(D) %recordemos que D es vector columna
ans =
1
2
3
4
5
>> flipud(C) %recordemos que C es vector fila
ans =
1 2 3 4 5
150
Introduccin al lgebra matricial
151
Matlab para Matemticas en ingenieras
CRITERIO CLASIFICACIN
rg (A)< rg (A|b) Sistema Incompatible
rg (A)= rg (A|b)=n Sistema Compatible Determina-
do
rg (A)= rg (A|b)<n Sistema Compatible Indetermi-
nado (donde n de parme-
tros=n-rg(A))
Ejemplo 6.2 Clasificar los sistemas de ecuaciones lineales siguientes con el comando
>>rref
x y z 1
(a) x
y z 1
x y z 1
x y z 1
(b) 2 x
4 y 2 z 2
2 x 3 y 2 z 2
x 4 y z 3
(c) 3x y 2 z
1
2 x 5 y z 1
152
Introduccin al lgebra matricial
SCD SCI SI
Es evidente que los rangos se podran haber calculado directamente con el comando
>>rank, pero no era ese el objetivo de este ejemplo.
Para resolver los sistemas, basta partir de la forma escalonada reducida e ir haciendo
sustitucin regresiva; es decir, despejar de la ltima ecuacin obtenida la variable que
queda aislada e ir sustituyendo en las ecuaciones anteriores.
153
Matlab para Matemticas en ingenieras
(valor prximo a
cero)
Tiene inversa No tiene inversa No tiene inversa
x=1,y=1,z=1
154
Introduccin al lgebra matricial
Nota: de nuevo este mtodo sirve solo cuando los sistemas son compatibles de-
terminados.
x y z 1
La resolucin del sistema (a) x y z 1 del Ejemplo 6.2 mediante solve
x y z 1
x=
1
>>[x,y,z]=solve('-x+y+z=1','x- y=
y+z=1','x+y-z=1') 1
z=
SCD 1
La solucin es nica y el sistema se clasifica como Sistema Compatible Determinado.
155
Matlab para Matemticas en ingenieras
x y z 1
Uso de solve para resolver el sistema (b) 2 x 4 y 2 z
2 del Ejemplo 6.2
2 x 3 y 2 z 2
>>
[x,y,z]=solve('x+y+z=1','2*x+4*y+2*z=
2','2*x+3*y+2*z=2')
Warning: The solutions are parametrized
>> by the symbols:
[x,y,z]=solve('x+y+z=1','2+x+4*y+2*z=
z1 = C_
2','2*x+3*y+2*z=2')
> In solve at 190
x=
1 - z1
SCI y=
0
z=
z1
x 4 y z 3
Resolucin del sistema (c) 3x y 2 z
1 del Ejemplo 6.2.
2 x 5 y z 1
SI z=
[]
156
Introduccin al lgebra matricial
157
Matlab para Matemticas en ingenieras
b=
1
1
1
Ab =
1 1 1 1
1 -1 1 1
2 1 1 1
>> rank(A) %primero se comprueba mediante rangos que el sistema es SCD
ans =
3
>> rank(Ab)
ans =
3
Por lo tanto, el sistema es COMPATIBLE DETERMINADO, y puede ser resuelto
usando la Regla de Cramer. As:
>> x1=det([b A(:,2) A(:,3)])/det(A),x2=det([A(:,1) b A(:,3)])/det(A),x3=det([ A(:,1)
A(:,2) b])/det(A)
x1 =
0
x2 =
0
x3 =
1
O bien, tambin puede escribirse:
>> x=[det([b A(:,2) A(:,3)])/det(A),det([A(:,1) b A(:,3)])/det(A),det([A(:,1) A(:,2)
b])/det(A)]
x=
0 0 1
158
Introduccin al lgebra matricial
x Programando Cramer:
Para no ir poniendo en cada caso la matriz de coeficientes en la que se reemplaza el
vector de los trminos independientes y as aplicar Cramer, se puede programar el m-
todo en Matlab. Debe hacerse desde el Editor de Matlab y usando sentencias de pro-
gramacin. Los bucles en Matlab se realizan a travs del comando for o while y las
condiciones mediante la estructura if. Para ir al editor, bastar seleccionar en el men la
opcin New Script:
159
Matlab para Matemticas en ingenieras
Las autoras han creado para su asignatura una funcin que aplica la regla de Cramer
(se llamar cramer). Aunque no se adjunta aqu dicha funcin, s se expondrn ejem-
plos de su uso para ilustrar Cramer ms ampliamente, e iniciarse un poco con el tema
de programacin.
Una funcin se crea directamente, siempre que conozcamos su estructura, o bien cli-
cando en el icono desplegable de New desde el Editor, y ah seleccionando function.
Para poder usarla posteriormente, en la sesin de trabajo, debe estar cargada y tener la
ruta donde est almacenada en Matlab. Si se duda acerca de lo que hace o de los argu-
mentos de entrada, teclear en la Command Window:
>> help cramer
Este programa calcula la solucin de un sistema de n ecuaciones
con n incgnitas que sea SCD mediante la Regla de Cramer.
160
Introduccin al lgebra matricial
independientes.
El argumento de salida ser la solucin del sistema.
El programador de una funcin habr puesto comentarios previos a la primera instruc-
cin, que son los que se obtienen cuando se pide la ayuda con el comando >>help. Su
ejecucin indicar si la Regla de Cramer es o no aplicable, y en caso de respuesta afir-
mativa resolver el sistema.
x1 x2 + x3 =1
x 2x2 =-1
a) 1 b) x1 2x2 +3 x3 =1 c) x1 x2 x3 =1
2x1 4x2 =-2
2 x1 x2 x3 =1
Resolucin:
a) Claramente es un sistema compatible indeterminado, por lo tanto no se puede usar
directamente la regla de Cramer, y as nos lo indicar el programa cramer:
>> cramer([1 2; 2 4],[-1 ;-2])
Error using cramer (line 16)
Aunque la matriz es cuadrada, el sistema NO es compatible determinado. NO podemos
usar la regla de Cramer
b) En este caso el sistema no es un sistema cuadrado, luego tampoco se puede aplicar
Cramer, hecho que tambin lo indicar funcin:
>> cramer([ 1 2 3],[1])
Error using cramer (line 22)
La matriz no es cuadrada. NO podemos aplicar Regla de Cramer
c) Este sistema de momento es cuadrado, luego se introducen las matrices argumento:
>> cramer(A,b)
La matriz es cuadrada y el sistema es Compatible Determinado. Podemos aplicar Re-
gla de Cramer
x=
0 0 1
Observar que la funcin cramer precisa de 2 argumentos, la matriz de coeficientes y el
vector columna de trminos independientes. Si no se le proporcionan, devolver la
161
Matlab para Matemticas en ingenieras
De todas formas, para aquel alumno interesado en la programacin y que desee tener el
cdigo empleado, o bien podr pedir una vez cargado
>>type cramer, saliendo por pantalla en la Command Window el cdigo del programa,
o bien
>>edit cramer, que abrir la ventana del editor y acceder al programa desde ah.
(Matlab usa colores para indicar las sentencias de programacin azul-, los comenta-
rios verde-, las asignaciones o instrucciones negro-, las salidas de texto por pantalla
morado-. Ayudando as a una mejor comprensin del cdigo del programa).
162
Introduccin al lgebra matricial
x y z 1
x my z 1
px y z 1
Resolucin.
1 Definiendo como simblicas las variables m y p, se introduce la matriz ampliada y
se aplican operaciones elementales sobre filas para obtener la matriz escalonada aso-
ciada al sistema de ecuaciones.
163
Matlab para Matemticas en ingenieras
Caso m=1, pz1 Caso mz1, p=1 Caso m=1, p=1 Caso mz1, pz1
164
Introduccin al lgebra matricial
n es el nmero de datos
p son los coeficientes del polinomio de ajuste.
La funcin >>polyfit se utiliza para obtener el ajuste sobre m puntos, para cualquier
grado indicado por n. Si n=1 ajustamos a una recta; n= 2 ser un parbola, etc.
La salida son los coeficientes del polinomio. El nmero de coeficientes depende del
grado del polinomio que pidamos para ajustar.
Coeficiente de correlacin:
Para estudiar el grado de relacin lineal que existe entre dos variables, se calcula el
coeficiente de correlacin lineal R, con R [-1,1]. Si el coeficiente de correlacin lineal
est prximo a 1, los datos se agrupan en torno a una recta de pendiente positiva; si
est prximo a -1, los datos se agrupan en torno a una recta de pendiente negativa.
Cuanto ms alejado del valor 1 o -1, ms dispersa se encuentra la nube de puntos de la
curva ajustada.
Cuando el valor de R es positivo, indica que la relacin entre las variables es directa, es
decir, a mayor cantidad de una variable, mayor cantidad de la otra. Mientras que si da
un coeficiente de correlacin negativo, la relacin sera indirecta, a mayor valor de una
variable menor valor de la otra.
Matemticamente el coeficiente de correlacin de Pearson viene dado por la expresin:
donde es la covarianza de las variables, y el producto de las desviaciones
tpicas de x e y respectivamente.
En Matlab, el comando >>cov(X), donde X es una matriz de datos, o bien >>cov(X,Y)
donde X e Y son los vectores de datos de las dos variables a analizar, devuelve una
matriz C donde los elementos de la diagonal son las varianzas de cada una de las varia-
bles. Con este matriz es con la que Matlab calcula el coeficiente de correlacin.
R, en verdad, ser de nuevo una matriz, donde la posicin que al usuario le interesa
para conocer el coeficiente de correlacin de Pearson, es la posicin (1,2) o (2,1), ya
que es una matriz simtrica.
En Matlab se calcula mediante
>> corrcoef(x,y) % devuelve la matriz de correlacin entre ambas variables
Una vez obtenida la curva de regresin, se pueden obtener las predicciones para la
variable y a partir de los valores conocidos de la variable x, sustituyendo conveniente-
mente o bien utilizando el comando >>polyval de MATLAB.
165
Matlab para Matemticas en ingenieras
Ejemplo 6.6
Se han realizado medidas de la velocidad de un coche en (m/s) cada 0.5 segundos. Los
datos obtenidos se muestran en la siguiente tabla:
166
Introduccin al lgebra matricial
(b) representacin
>>plot(t,v,'o');xlabel('tiempo');ylabel('velocidad')
10
7
velocidad
1
0.5 1 1.5 2 2.5 3
tiempo
167
Matlab para Matemticas en ingenieras
10
7
velocidad
1
0.5 1 1.5 2 2.5 3
tiempo
168
Introduccin al lgebra matricial
6.4 Ejercicios
1.- Introducir la siguiente matriz sin hacerlo elemento a elemento.
1 0 2 3 4
0 1 1 1 1
0 0 3 0 0
0 0 0 3 0
0 0 0 0 3
1 0 1 1 1
0 1 1 1 1
2.- Dada la matriz M 0 0 2 0 0
0 0 0 2 0
0 0 0 0 2
(a) Introducir M en Matlab sin hacerlo elemento a elemento; es decir, utilizando
matrices especiales o los cambios explicados.
(b) Definir una matriz M1 a partir de M pero con una columna de unos entre la 3
y 4 columna.
(c) Calcular para M: traza, rango, determinante e inversa.
(d) Obtener M2 a partir de M1 cambiando la ltima fila por los nmeros que van
del 2 al 12.
(e) qu cambios deben hacerse para generar a partir de M la matriz M3? siendo
M3 la siguiente matriz
1 2 1 2 1 2 1
1 0 1 1 1 2 1
0 1 3 1 1 2 1
M 3 0 0 0 4 1 2 1
0 0 0 0 5 2 1
1 2 3 4 5 6 1
6 5 4 3 2 1 1
169
Matlab para Matemticas en ingenieras
1 1 1 2 1 3
3.- Sean las matrices A = , B= y C= 2 10 . Obtener la matriz
3 4 -1 0
X que cumple la igualdad C (B+X) A-1 + CT = A
4.- Discutir el siguiente sistema de ecuaciones lineales en funcin del parmetro k.
kx y z 1
x ky z k
x y kz k 2
5.- Resolver los siguientes sistemas usando Cramer. Primero hallando cada una de las
variables y luego usando la funcin cramer:
a)
7 x 16 8
6.- Dada la matriz 16 7 x 8 , estudiar para qu valores de x el
8 8 5 x
determinante de la matriz se anula.
0 1 1 1
1 0 1 1 x 3
7.- Encontrar el valor o valores de x que cumple 9.
1 1 0 1 4 1 x
1 1 1 0
k 20 x 2 k 0
2
8.- Resolver en funcin de x la ecuacin k 2k 5 x k 0 , con
2
0 k k 20 x
k .
170
Introduccin al lgebra matricial
p q
9.- Hallar la relacin que debe existir entre los elementos de la matriz A
r s
1 1
para que conmute con la matriz B 0 1 .
1 1 0
10.- Sea la matriz A 0 2 3
0 0 3
(i) Calcular A-1
(ii) Si B= A-I, es invertible?
171
7 Referencias bibliogrficas
[1] Chapra, Steven C.(2012). Applied numerical methods with Matlab for
engineers and scientists Ed Mc Graw Hill International Edition.
[2] Estruch, V. & Sapena Piera, A. (2010) Lecciones de estadstica. Ed Universitat
Politcnica de Valncia.
[3] Giner,S. (2008) Curso de Matlab. /Apuntes de simulacin de procesos I. rea
departamental Igenieria Qumica. Facultad de Ingenieria. Procedencia Internet
[4] Moore, H. (2007) Matlab para ingenieros.
[5] Marchand, P. (2003). Graphics and guis with MATLAB.
[6] Pabn ngel, H. (2010). Probabilidad y estadstica con matlab para
investigadores MSc. Universidad de Cundimarca.
[7] Pateiro Lpez , B. (2008-2009 ) Estadstica ingeniera qumica USC. Curso.
[8] Polana Puentes, J.A, Tutorial de matlab aplicado
[9] Rodrguez del Ro, R. Grficas con Matlab, Departamento de Matemtica
Aplicada, Universidad Complutense de Madrid.
[10] Romero,R., Znica R. (2012). Mtodos estadsticos en ingeniera. Ed
Universitat Politcnica de Valncia.
[11] https://www.uam.es/personal_pdi/economicas/rociomar/descriptiva.htm
[12] http://www.unizar.es/fmi, Versin actualizada en agosto de 2006. Un curso de
MATLAB, Grupo FMI, Departamento de Matemtica Aplicada, Universidad de
Zaragoza.
[13] http://dv.ujaen.es/docencia
(/ilias.php?ref_id=85771&from_page=33288&frame=_blank&obj_id=33286&
cmd=layout&cmdClass=illmpresentationgui&cmdNode=9i&base)
[14]
http://www.academia.edu/1743296/Manual_de_Introducci%C3%B3n_a_Matl
ab
[15] https://cristiancastrop.files.wordpress.com/2010/09/matlab_graficos.pdf
[16] Borrel i Nogueras, Guillem. Introduccin informal al Matlab y Octave.
http://www.dc.uba.ar/materias/escuela-compluense/2012/CursoMatlabguillem.
173