06.10.2019 Views

Matlab-para-Matematicas-en-Ingenierias-Lucia-Agud-y-Ma-Leonor-Pla-pdf

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> matemáticas<br />

<strong>en</strong> ing<strong>en</strong>ierías<br />

Lucía <strong>Agud</strong> Albesa<br />

Mª <strong>Leonor</strong> <strong>Pla</strong> Ferrando<br />

EDITORIAL<br />

UNIVERSITAT POLITÈCNICA DE VALÈNCIA


www.full-ebook.com


www.full-ebook.com


Lucía <strong>Agud</strong> Albesa<br />

Mª <strong>Leonor</strong> <strong>Pla</strong> Ferrando<br />

<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> matemáticas<br />

<strong>en</strong> ing<strong>en</strong>ierías<br />

EDITORIAL<br />

www.full-ebook.com<br />

UNIVERSITAT POLITÈCNICA DE VALÈNCIA


Los cont<strong>en</strong>idos de esta publicación han sido revisados por el Departam<strong>en</strong>to de <strong>Ma</strong>temática<br />

Aplicada de la Universitat Politécnica de València<br />

Colección Académica<br />

Para refer<strong>en</strong>ciar esta publicación utilice la sigui<strong>en</strong>te cita: AGUD ALBESA, L; PLA FERRANDO, Mª L<br />

(2015). <strong><strong>Ma</strong>tlab</strong> <strong>para</strong> matemáticas <strong>en</strong> ing<strong>en</strong>ierías. Val<strong>en</strong>cia: Universitat Politècnica de València<br />

Primera edición, 2015 (versión impresa)<br />

Primera edición, 2015 (versión electrónica)<br />

© Lucía <strong>Agud</strong> Albesa<br />

Mª <strong>Leonor</strong> <strong>Pla</strong> Ferrando<br />

© de la pres<strong>en</strong>te edición: Editorial Universitat Politècnica de València<br />

distribución: Telf.: 963 877 012 / www.lalibreria.upv.es / Ref.: 6270_01_01_01<br />

ISBN: 978-84-9048-421-0 (versión impresa)<br />

ISBN: 978-84-9048-422-7 (versión electrónica)<br />

Queda prohibida la reproducción, distribución, comercialización, transformación y, <strong>en</strong> g<strong>en</strong>eral,<br />

cualquier otra forma de explotación, por cualquier procedimi<strong>en</strong>to, de la totalidad o de cualquier<br />

parte de esta obra sin autorización expresa y por escrito de los autores.<br />

www.full-ebook.com


www.full-ebook.com<br />

Para todas las personas<br />

que nos han ofrecido su apoyo día a día.


www.full-ebook.com


Cont<strong>en</strong>ido<br />

1 Capítulo1Entornodetrabajo<strong><strong>Ma</strong>tlab</strong>................................................................5<br />

1.1 Introducción.................................................................................................5<br />

1.2 Comandosoinstrucciones<strong>en</strong><strong><strong>Ma</strong>tlab</strong>..........................................................7<br />

1.3 Variablesyformatos....................................................................................8<br />

1.4 Variablessimbólicasynuméricas................................................................9<br />

1.4.1 Salidamatemáticaeleganteporpantalla.............................................12<br />

1.4.2 G<strong>en</strong>erarvectoresovariables................................................................12<br />

1.4.3 G<strong>en</strong>erar<strong>Ma</strong>trices..................................................................................13<br />

1.5 Funciones...................................................................................................13<br />

1.5.1 Crearfunciones.....................................................................................13<br />

2 Capítulo2Gráficoscon<strong><strong>Ma</strong>tlab</strong>........................................................................19<br />

2.1 Introducción...............................................................................................19<br />

2.2 Funcionesdeunavariable,y=f(x)..............................................................20<br />

2.2.1 AlgunosComandos<strong>para</strong>repres<strong>en</strong>tar...................................................20<br />

2.2.2 Subv<strong>en</strong>tanas..........................................................................................26<br />

2.3 Repres<strong>en</strong>tacióndefuncionessimbólicas...................................................27<br />

2.3.1 Repres<strong>en</strong>tacióndefuncionescreadascomofichero.m.......................31<br />

2.4 Funcionesatrozos:definiciónyrepres<strong>en</strong>tación.......................................32<br />

2.4.1 Funciónatrozosdesdefichero.m........................................................32<br />

2.4.2 Funciónatrozosvectorizada................................................................33<br />

2.5 Otroscomandos<strong>para</strong>dibujarcurvas<strong>en</strong>elplanoycurvas<strong>para</strong>métricas:<br />

>>ezplot.............................................................................................................35<br />

2.5.1 Curvas<strong>en</strong><strong>para</strong>métricas.......................................................................37<br />

2.6 Curvasplanas<strong>en</strong>coord<strong>en</strong>adaspolares......................................................38<br />

I<br />

www.full-ebook.com


2.6.1 Otroscomandos<strong>para</strong>curvas<strong>en</strong>coord<strong>en</strong>adaspolares.........................39<br />

2.6.2 Cambiosdecoord<strong>en</strong>adasrectangularesapolares...............................40<br />

2.7 Rell<strong>en</strong>oderegionesdelplano....................................................................40<br />

2.8 Funcionesdevariasvariables.Superficies.................................................43<br />

2.8.1 Repres<strong>en</strong>tacióndefunciones<strong>en</strong>3D:z=f(x,y).Comandosmásusados.43<br />

2.8.2 Curvasd<strong>en</strong>iveldeunasuperficie.........................................................44<br />

2.8.3 Curvas<strong>en</strong>elespacio..............................................................................45<br />

2.8.4 Superficiesderevolución......................................................................46<br />

2.8.5 SuperficiesParamétricas.......................................................................51<br />

2.8.6 Cambiosdecoord<strong>en</strong>adasacilíndricasyesféricasyviceversa..............54<br />

2.9 Ejercicios....................................................................................................54<br />

3 Capítulo3Operacionesbásicasconfunciones..................................................57<br />

3.1 Polinomios..................................................................................................57<br />

3.1.1 Polinomiointroducidocomovector....................................................57<br />

3.1.2 Polinomiointroducidocomofunción...................................................58<br />

3.2 Dominiosdefuncioneseinecuaciones......................................................61<br />

3.2.1 Comando>>solve..................................................................................61<br />

3.2.2 Comando>>fzero(resoluciónnuméricaoaproximadadeecuaciones).62<br />

3.2.3 Inecuacionesconvaloresabsolutos......................................................64<br />

3.3 Simplificar,factorizar,expandirydemásoperacionesalgebraicas...........65<br />

3.4 Cálculodelímites.......................................................................................67<br />

3.4.1 Límiteslaterales....................................................................................67<br />

3.4.2 Asíntotas...............................................................................................68<br />

3.4.3 Límitesdefuncionesatrozos................................................................72<br />

3.5 NúmerosComplejos...................................................................................74<br />

3.6 Derivadas....................................................................................................79<br />

IV<br />

www.full-ebook.com


3.6.1 Funcionesde1variable........................................................................80<br />

3.6.2 Funcionesdevariasvariables...............................................................81<br />

3.7 Integración.................................................................................................81<br />

3.7.1 Integralesimpropias.............................................................................82<br />

3.7.2 Cálculodeáreas....................................................................................84<br />

3.8 Ejercicios....................................................................................................85<br />

4 Capítulo4Funcionesdevariasvariables.Ecuacionesdifer<strong>en</strong>ciales.................89<br />

4.1 Derivacióndefuncionesdevariasvariables..............................................89<br />

4.2 Vectorgradi<strong>en</strong>te........................................................................................91<br />

4.3 <strong>Ma</strong>trizJacobianayJacobiano.....................................................................91<br />

4.4 <strong>Ma</strong>trizHessianayHessiano.......................................................................92<br />

4.5 Puntoscríticosdefuncionesdevariasvariables.......................................95<br />

4.6 Integracióndefuncionesdevariasvariables.............................................99<br />

4.7 Ecuacionesdifer<strong>en</strong>ciales..........................................................................103<br />

4.7.1 SistemasdeEDO’s...............................................................................105<br />

4.7.2 Métodosnuméricos<strong>para</strong>laresolucióndeEDO’s...............................106<br />

4.8 Ejercicios..................................................................................................107<br />

5 Capítulo5IntroducciónalaEstadísticaDescriptiva........................................111<br />

5.1 Introducción.............................................................................................111<br />

5.2 Estadísticosyrepres<strong>en</strong>tación...................................................................114<br />

5.2.1 Variablesestadísticas..........................................................................114<br />

5.3 Distribucióndefrecu<strong>en</strong>cias.....................................................................115<br />

5.3.1 Repres<strong>en</strong>tacionesgráficas..................................................................116<br />

5.3.2 Ejemploscon<strong><strong>Ma</strong>tlab</strong>dedistribucióndefrecu<strong>en</strong>ciasydiagramas.....117<br />

5.4 Parámetrosestadísticosdeposiciónydispersión...................................126<br />

5.4.1 Parámetrosestadísticosdeposición..................................................126<br />

III<br />

www.full-ebook.com


5.4.2 Medidasdedispersión........................................................................130<br />

5.5 Ejercicios..................................................................................................135<br />

6 Capítulo6IntroducciónalÁlgebramatricial..........................................139<br />

6.1 Introducciónalasmatrices<strong>en</strong><strong><strong>Ma</strong>tlab</strong>.....................................................139<br />

6.1.1 G<strong>en</strong>erarmatrices.Operacionesconmatrices.....................................139<br />

6.1.2 <strong>Ma</strong>tricesespeciales.............................................................................140<br />

6.1.3 <strong>Ma</strong>nipulacióndematrices,submatrices.............................................142<br />

6.1.4 Operacionesconmatrices...................................................................145<br />

6.1.5 Otrasfuncionesimplem<strong>en</strong>tadas<strong>en</strong><strong><strong>Ma</strong>tlab</strong>.......................................146<br />

6.2 Clasificaciónyresolucióndesistemasdeecuacioneslineales................151<br />

6.2.1 Clasificacióndesistemasdeecuaciones.............................................151<br />

6.2.2 Resolucióndesistemasusandolafunción:>>inv(A)oA 1 ................154<br />

6.2.3 Resolucióndesistemasusandodivisiónmatricialalaizquierda:A\b154<br />

6.2.4 Resolucióndesistemasusandolafunción:>>solve...........................155<br />

6.2.5 ResolucióndesistemasusandolaRegladeCramer...........................157<br />

6.2.6 Resolucióndesistemasdeecuacionesdep<strong>en</strong>di<strong>en</strong>tesdeparámetros162<br />

6.3 Ajustesdedatos(mínimoscuadrados)....................................................164<br />

6.4 Ejercicios..................................................................................................169<br />

7 Refer<strong>en</strong>ciasbibliográficas................................................................................173<br />

IV<br />

www.full-ebook.com


1 Capítulo 1<br />

Entorno de trabajo <strong><strong>Ma</strong>tlab</strong><br />

1.1 Introducción<br />

Este libro consta de dos partes, una dedicada al Álgebra: matrices, determinantes, sistemas<br />

de ecuaciones, etc; y otra <strong>en</strong>focada al análisis matemático, donde se trabajarán<br />

funciones, expresiones algebraicas, ecuaciones, derivadas e integrales. El paquete matemático<br />

que se emplea es <strong><strong>Ma</strong>tlab</strong>, cuyo nombre responde a las siglas de <strong>Ma</strong>trix Laboratory.<br />

Al abrir este paquete matemático se observa que la pantalla se subdivide <strong>en</strong> varias<br />

v<strong>en</strong>tanas que se detallan a continuación:<br />

- La v<strong>en</strong>tana Command Window (v<strong>en</strong>tana c<strong>en</strong>tral) es donde se introducirán los<br />

comandos, variables e instrucciones a realizar. Es decir, la v<strong>en</strong>tana donde se<br />

trabaja.<br />

- La v<strong>en</strong>tana Curr<strong>en</strong>t Folder (izquierda superior) indica el cont<strong>en</strong>ido del directorio<br />

<strong>en</strong> el que se está trabajando, y que salvo cambio del mismo, es donde se irá<br />

guardando el archivo o las funciones que se hayan creado.<br />

- La v<strong>en</strong>tana de Workspace (derecha superior) es la v<strong>en</strong>tana donde se indican las<br />

variables definidas <strong>en</strong> la sesión de trabajo o ya guardadas y cargadas de otras<br />

sesiones. Para borrar alguna de ellas, se usará el comando >>clear nombredevariable<br />

o se selecciona la variable <strong>en</strong> esa v<strong>en</strong>tana y se suprime.<br />

5<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

- La v<strong>en</strong>tana de Command History muestra todos los comandos y órd<strong>en</strong>es que se<br />

han introducido, permiti<strong>en</strong>do recuperarlos o bi<strong>en</strong> arrastrándolos a la Command<br />

Window (no ejecuta), o bi<strong>en</strong> haci<strong>en</strong>do doble click sobre ellos (ejecuta).<br />

Figura 1.1 Pantalla de <strong><strong>Ma</strong>tlab</strong> y v<strong>en</strong>tanas<br />

Al ejecutar el comando <strong>para</strong> repres<strong>en</strong>tar una función, <strong><strong>Ma</strong>tlab</strong> abre una nueva v<strong>en</strong>tana<br />

de Figure, la cual se puede minimizar y mant<strong>en</strong>er toda la sesión mi<strong>en</strong>tras se va actualizando,<br />

o bi<strong>en</strong> cerrar.<br />

Con el icono del folio o New Script de la barra de herrami<strong>en</strong>tas (primero de los iconos<br />

de la misma), también se abrirá una nueva v<strong>en</strong>tana donde <strong><strong>Ma</strong>tlab</strong> permite programar o<br />

crear funciones <strong>en</strong> ficheros con ext<strong>en</strong>sión .m.<br />

La sesión de trabajo que se está realizando se puede guardar. Para ello, cuando se quiere<br />

com<strong>en</strong>zar a guardar se escribe (sin espacios <strong>en</strong> blanco <strong>en</strong> el nombre del fichero):<br />

>>diary nombrefichero.txt<br />

Y desde ahí hasta que se teclee >>diary off, guarda con el nombre indicado la sesión<br />

realizada. Si <strong>en</strong> cualquier mom<strong>en</strong>to se quiere volver a activar dicha sesión, bastará con<br />

poner de nuevo >>diary on. Por defecto, se guardará <strong>en</strong> la ruta que esté especificada<br />

<strong>en</strong> Curr<strong>en</strong>t Directory.<br />

En caso de querer guardar sólo las variables creadas <strong>en</strong> la sesión, bastará realizarlo con<br />

el comando >>save, o bi<strong>en</strong> <strong>en</strong> File >>Save Workspace. Para recuperarlas <strong>en</strong> una nueva<br />

sesión de trabajo se cargan con el comando >>load y el nombre especificado cuando<br />

han sido guardadas.<br />

6<br />

www.full-ebook.com


Entorno de trabajo <strong><strong>Ma</strong>tlab</strong><br />

1.2 Comandos o instrucciones <strong>en</strong> <strong><strong>Ma</strong>tlab</strong><br />

Los comandos <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> se escrib<strong>en</strong> <strong>en</strong> minúscula y sus argum<strong>en</strong>tos <strong>en</strong>tre paréntesis.<br />

Su escritura es <strong>en</strong> inglés y se ejecutan <strong>en</strong> cuanto se presiona la tecla <strong>en</strong>ter.<br />

Cuando hayan dudas de los argum<strong>en</strong>tos de alguna instrucción, bastará con escribir <strong>en</strong><br />

la v<strong>en</strong>tana de comandos >>help nombredelcomando, como por ejemplo:<br />

>>help gcd (y saldrá la ayuda de <strong><strong>Ma</strong>tlab</strong>, <strong>en</strong> este caso <strong>para</strong> el cálculo del máximo común<br />

divisor).<br />

Para recuperar alguno de los comandos introducidos, hay dos formas. Una, como ya se<br />

ha com<strong>en</strong>tado, desde la v<strong>en</strong>tana deCommand History;la otra, con las teclas de desplazami<strong>en</strong>to.<br />

Las flechas de arriba y abajo, , recuperan los comandos. Mi<strong>en</strong>tras que las<br />

de izquierda y derecha, , , sirv<strong>en</strong> <strong>para</strong> desplazarse d<strong>en</strong>tro de la línea de edición<br />

<strong>para</strong> poder modificar las expresiones.<br />

Para interrumpir el funcionami<strong>en</strong>to de una instrucción de MATLAB se pulsan las teclas<br />

Control y C a la vez y después <strong>en</strong>ter. A veces, esta operación se deberá repetir.<br />

La forma de salir de <strong><strong>Ma</strong>tlab</strong> es o bi<strong>en</strong> cerrar la v<strong>en</strong>tana, o bi<strong>en</strong> con los comandos<br />

>>exit, o >>quit. Y como siempre dándole al <strong>en</strong>ter al final de cualquier instrucción<br />

<strong>para</strong> que así se ejecute.<br />

Si no se quiere que la ejecución de un comando salga por pantalla, aunque sí que sea<br />

ejecutado, bastará con poner después del comando un ;.<br />

Al introducir una ord<strong>en</strong> <strong>en</strong> la v<strong>en</strong>tana Command Window que no quepa toda <strong>en</strong>tera <strong>en</strong><br />

una misma línea de instrucción, se puede terminar con … y darle a <strong>en</strong>ter. <strong><strong>Ma</strong>tlab</strong> <strong>en</strong>ti<strong>en</strong>de<br />

que no ha terminado la instrucción y sin aparecer el prompt del sistema, >>,<br />

permite seguir escribi<strong>en</strong>do <strong>en</strong> la línea sigui<strong>en</strong>te, ejecutando luego la instrucción al darle<br />

a <strong>en</strong>ter:<br />

>> A=[1 2 3 4 5 6 7 8 9;- 1 -2 -3 -4 -5 -6 -7 9 2;zeros(1,9);3*ones(1,9);...<br />

9:-1:1]<br />

A =<br />

1 2 3 4 5 6 7 8 9<br />

-1 -2 -3 -4 -5 -6 -7 9 2<br />

0 0 0 0 0 0 0 0 0<br />

3 3 3 3 3 3 3 3 3<br />

9 8 7 6 5 4 3 2 1<br />

7<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Si <strong>en</strong> una línea de instrucción se introduce el símbolo %, cambia el color del texto y<br />

automáticam<strong>en</strong>te <strong><strong>Ma</strong>tlab</strong> <strong>en</strong>ti<strong>en</strong>de que lo que se escribe, hasta pulsar <strong>en</strong>ter, es un com<strong>en</strong>tario<br />

y no debe ser ejecutado.<br />

1.3 Variables y formatos<br />

Cuando se ejecuta un comando sin dar nombre a la variable que se obti<strong>en</strong>e como resultado,<br />

<strong><strong>Ma</strong>tlab</strong> lo asigna a una variable que él ti<strong>en</strong>e <strong>en</strong> el sistema llamada ans. Nunca se<br />

podrá llamar a ninguna variable con este nombre, por t<strong>en</strong>erlo ya el programa asignado.<br />

En cada ejecución sin variable de salida, <strong><strong>Ma</strong>tlab</strong> irá guardando <strong>en</strong> ella ese resultado,<br />

machacando el resultado anterior. Para guardar <strong>en</strong> una variable la operación realizada,<br />

se asignará con el =<br />

>>a=gcd(3,12)<br />

a=<br />

3<br />

Automáticam<strong>en</strong>te <strong>en</strong> la v<strong>en</strong>tana del Workspace aparecerá la variable a e indicará su<br />

tipo y dim<strong>en</strong>sión. Para asignar a este nombre de variable otro valor, simplem<strong>en</strong>te o se<br />

borra y vuelve a definir o se reasigna con otro valor. <strong><strong>Ma</strong>tlab</strong> es s<strong>en</strong>sible a mayúsculas<br />

y minúsculas; por lo tanto a y A son dos variables distintas.<br />

No se puede nombrar a una variable cuyo nombre ya esté si<strong>en</strong>do utilizado por <strong><strong>Ma</strong>tlab</strong><br />

o bi<strong>en</strong> <strong>en</strong> una función o comando, o bi<strong>en</strong> <strong>para</strong> sus variables internas. Variables ya asignadas<br />

por <strong><strong>Ma</strong>tlab</strong> son, <strong>en</strong>tre otras:<br />

i ó j ........................................................ <strong>para</strong> la unidad imaginaria i=1<br />

pi ......................................................... <strong>para</strong> el valor de <br />

ans ......................................................... <strong>para</strong> las variables de salida que no<br />

t<strong>en</strong>gan asignación previa<br />

eps ....................................................... como valor es 2.2204e-016.También<br />

puede utilizarse como comando<br />

(mirar >>help eps <strong>en</strong> caso de querer<br />

más información)<br />

<strong><strong>Ma</strong>tlab</strong> almac<strong>en</strong>a internam<strong>en</strong>te los números <strong>en</strong> formato de coma flotante normalizado;<br />

es decir, notación ci<strong>en</strong>tífica tal que, la parte <strong>en</strong>tera es 0 y la primera cifra decimal es<br />

distinta de cero (0.0003 sería 0.3*e03). G<strong>en</strong>eralm<strong>en</strong>te, por pantalla muestra el resultado<br />

con el formato short, 4 dígitos decimales. Si interesa cambiar el formato, se consigue<br />

con el comando<br />

>>format tipodeformato<br />

8<br />

www.full-ebook.com


Entorno de trabajo <strong><strong>Ma</strong>tlab</strong><br />

Los formatos que exist<strong>en</strong> <strong>en</strong> <strong><strong>Ma</strong>tlab</strong>, y que usaremos g<strong>en</strong>eralm<strong>en</strong>te, son:<br />

FORMAT SHORT<br />

FORMAT LONG son 5 dígitos o 7<br />

FORMAT SHORTE<br />

FORMAT LONGE<br />

FORMAT SHORTG<br />

FORMAT +<br />

FORMAT RAT<br />

son 5 dígitos, contando parte <strong>en</strong>tera y decimal.<br />

son 5 dígitos <strong>en</strong> coma flotante normalizada<br />

son 15 dígitos o 7 <strong>en</strong> coma flotante normalizada<br />

elige el mejor formato con 5 dígitos de salida (adecuado si<br />

trabajas <strong>en</strong> un vector con números de difer<strong>en</strong>tes longitudes)<br />

saca por pantalla los signos, +, - y espacios <strong>en</strong> blanco<br />

pone el valor <strong>en</strong> forma racional.<br />

Si se quiere obt<strong>en</strong>er más información sobre los formatos de <strong><strong>Ma</strong>tlab</strong>, el programa la<br />

proporciona escribi<strong>en</strong>do<br />

>> help format<br />

1.4 Variables simbólicas y numéricas<br />

Cuando <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> se quiere trabajar con una variable como tal, ha de definirse como<br />

simbólica. En caso contrario <strong><strong>Ma</strong>tlab</strong> pediría valores <strong>para</strong> esa variable y daría un m<strong>en</strong>saje<br />

de error. Si se quiere introducir una función de forma que la variable x no tome<br />

valores concretos hasta cuando se requiera, existe el comando >>sym, o se declara la<br />

variable como simbólica de cualquiera de las dos formas sigui<strong>en</strong>tes:<br />

>>x=sym(‘x’),<br />

o bi<strong>en</strong> >>syms x<br />

De la segunda forma, es posible declarar todas las variables simbólicas <strong>en</strong> una misma<br />

s<strong>en</strong>t<strong>en</strong>cia, se<strong>para</strong>das por espacios <strong>en</strong> blanco.<br />

Dar un valor concreto a esta variable <strong>para</strong> que deje de ser simbólica, y así conocer el<br />

valor numérico del resultado, se realiza con el comando >>double.<br />

Ejemplo 1.1 Evaluar la función f(x)=x 2 -3x+2 <strong>en</strong> x=2, /4.<br />

>>syms x<br />

>>f=x^2-3*x+2;<br />

>>subs(f,2)<br />

ans=<br />

0<br />

9<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>>subs(f,pi/4)<br />

ans =<br />

pi^2/16 - (3*pi)/4 + 2<br />

>>double(ans)<br />

ans =<br />

0.2607<br />

Nota: dep<strong>en</strong>di<strong>en</strong>do de la versión de <strong><strong>Ma</strong>tlab</strong>, esta última operación de sustitución<br />

puede hacerla de forma directa. Por ejemplo, <strong>en</strong> la versión R2011a; sin embargo<br />

<strong>en</strong> la versión R2013b hay que hacerlo como se ha indicado <strong>en</strong> el Ejemplo 1.1.<br />

El comando >>subs siempre evalúa funciones de tipo simbólico y el resultado que<br />

devuelve es considerado también simbólico. Si se define la función de otra forma, por<br />

ejemplo con el comando >>inline, la instrucción >>subs no funciona; debe evaluarse<br />

con su nombre directam<strong>en</strong>te o con el comando >>feval.<br />

Ejemplo 1.2 Define la función f(x)=x 2 -3x+2 con inline y evalúala <strong>en</strong> x=2,0.<br />

>> clear x<br />

>> g=inline('x^2-3*x+2')<br />

g =<br />

Inline function:<br />

g(x) = x^2-3*x+2<br />

>> g(2)<br />

ans =<br />

0<br />

>>feval(g,0)<br />

ans=<br />

0<br />

El comando inline será explicado con detalle más adelante.<br />

Fracciones de decimales no exactos o valores irracionales<br />

Es importante destacar qué ocurre cuando se trabaja con fracciones que no dan lugar a<br />

decimales exactos, por ejemplo fracciones del tipo 1/3, o radicales como etc.<br />

10<br />

<strong><strong>Ma</strong>tlab</strong> siempre guarda <strong>en</strong> memoria los datos <strong>en</strong> coma flotante, y por lo tanto redondea<br />

dichos números. Al efectuar operaciones con ellos, el resultado final puede verse afecwww.full-ebook.com


Entorno de trabajo <strong><strong>Ma</strong>tlab</strong><br />

tado de error. Una forma s<strong>en</strong>cilla de solucionarlo es definir estos valores como simbólicos:<br />

>>a=sym(1/3)<br />

Ejemplo 1.3 Realizar la sigui<strong>en</strong>te operación 1-<br />

a) de forma numérica,<br />

b) defini<strong>en</strong>do como simbólico los números.<br />

<br />

<br />

<br />

y com<strong>para</strong>r los resultados:<br />

Es evid<strong>en</strong>te, sin más que realizar los cálculos, que esta operación debe dar 0:<br />

>> 1-(1/3+1/2)/(1-1/6)<br />

ans =<br />

1.1102e-16<br />

Sin embargo, <strong><strong>Ma</strong>tlab</strong> no devuelve el valor 0 aunque sí un valor muy pequeño. Esto se<br />

debe al trabajo con decimales y su redondeo. La forma de solucionarlo sería:<br />

>> a=sym(1/3);b=sym(1/6)<br />

b =<br />

1/6<br />

>> 1-(a+1/2)/(1-b)<br />

ans =<br />

0<br />

Otro problema de este estilo que se observa es, por ejemplo, si se quiere calcular algo<br />

tan s<strong>en</strong>cillo como sin(pi), cuyo valor es 0. <strong><strong>Ma</strong>tlab</strong> devuelve un valor muy pequeño, que<br />

se puede considerar como 0, pero no lo es. Por lo tanto, a la hora de resolver ecuaciones<br />

no detectará estos valores (una solución a esto se verá cuando se expliqu<strong>en</strong> las<br />

funciones y el comando <strong>para</strong> resolver ecuaciones >>solve):<br />

>>sin(pi)<br />

ans =<br />

1.2246e-16<br />

En este caso, la opción <strong>para</strong> que evalúe bi<strong>en</strong> vuelve a ser, definir este valor como<br />

simbólico:<br />

>>syms pi,sin(pi)<br />

ans=<br />

0<br />

11<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

1.4.1 Salida matemática elegante por pantalla<br />

<strong><strong>Ma</strong>tlab</strong> escribe por pantalla las expresiones matemáticas tal cual deb<strong>en</strong> ser introducidas:<br />

>> syms x,<br />

>> f = x^3-6*x^2+11*x-6<br />

Sin embargo, mediante el comando >>pretty(expression) las muestra de la forma que<br />

uno escribe la expresión matemática:<br />

>> pretty(f)<br />

3 2<br />

x - 6 x + 11 x – 6<br />

Otro ejemplo sería:<br />

>> syms x, y=1/(x+1)<br />

y =<br />

1/(x + 1)<br />

>> pretty(y)<br />

1<br />

-----<br />

x + 1<br />

1.4.2 G<strong>en</strong>erar vectores o variables<br />

Para g<strong>en</strong>erar una variable que tome valores <strong>en</strong> un rango elegido exist<strong>en</strong> varias formas.<br />

Entre ellas cabe destacar las sigui<strong>en</strong>tes:<br />

>>x=0:.2:12; .................................. calcula un vector con 0 donde los valores<br />

van de 0.2 <strong>en</strong> 0.2.<br />

>>x=linspace(0,12,200); ................. calcula un vector con 0 con 200 valores<br />

equiespaciados.<br />

>>w=logspace(-1,3); ...................... calcula 50 valores espaciados logarítmicam<strong>en</strong>te <strong>en</strong>tre<br />

10 -1 y 10 3 .<br />

Nota: En los comandos linspace y logspace, el tercer argum<strong>en</strong>to de <strong>en</strong>trada, correspondi<strong>en</strong>te<br />

al número de puntos, es opcional. Los valores por defecto son 100<br />

y 50, respectivam<strong>en</strong>te. Asimismo, si no se especifica la distancia <strong>en</strong>tre valores,<br />

el paso por defecto es 1.<br />

Es importante destacar que las variables así definidas son vectores y, por ello, las operaciones<br />

algebraicas que las involucr<strong>en</strong> deb<strong>en</strong> realizarse con un punto delante: ./, .*, .^.<br />

De esta forma, <strong><strong>Ma</strong>tlab</strong> realiza los cálculos elem<strong>en</strong>to a elem<strong>en</strong>to, todo esto se explica<br />

con más detalle <strong>en</strong> el Capítulo 6.<br />

12<br />

www.full-ebook.com


Entorno de trabajo <strong><strong>Ma</strong>tlab</strong><br />

1.4.3 G<strong>en</strong>erar <strong>Ma</strong>trices<br />

Las matrices <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> se defin<strong>en</strong> <strong>en</strong>tre corchetes. Los elem<strong>en</strong>tos de cada fila pued<strong>en</strong><br />

ir se<strong>para</strong>dos mediante comas o espacios <strong>en</strong> blanco. Las columnas van indicadas por<br />

punto y coma, ;. Los elem<strong>en</strong>tos se pued<strong>en</strong> introducir de forma manual, con comandos o<br />

bi<strong>en</strong> indicando el paso que lleva de un elem<strong>en</strong>to al sigui<strong>en</strong>te:<br />

>> A=[1:2:9; 0 -2 4 6 -1;ones(1,5)]<br />

A =<br />

1 3 5 7 9<br />

0 -2 4 6 -1<br />

1 1 1 1 1<br />

Para saber más sobre matrices y matrices implem<strong>en</strong>tadas ya por <strong><strong>Ma</strong>tlab</strong>, consultar la<br />

parte de Álgebra.<br />

1.5 Funciones<br />

<strong><strong>Ma</strong>tlab</strong> posee muchas funciones implem<strong>en</strong>tadas. Para saber cuáles basta teclear >>helpwin<br />

y desde ahí acudir a matlab\elfun, donde mostrará las funciones que ti<strong>en</strong>e definidas.<br />

Entre las más habituales destacan:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Funciones s<strong>en</strong>o y cos<strong>en</strong>o: sin(x), cos(x),sind(x),cosd(x)<br />

Funciones s<strong>en</strong>o y cos<strong>en</strong>o hiperbólico: sinh(x), cosh(x)<br />

Función tang<strong>en</strong>te: tan(x)<br />

Funciones arcos<strong>en</strong>o, arcocos<strong>en</strong>o y arcotang<strong>en</strong>te: asin(x), acos(x), atan(x)<br />

Función expon<strong>en</strong>cial, logaritmo neperiano y logaritmo decimal: exp(x),<br />

log(x), log10(x)<br />

Función valor absoluto: abs(x)<br />

Funciones hiperbólicas: sinh(x),cosh(x),asinh(x), etc.<br />

Nota: <strong><strong>Ma</strong>tlab</strong> trabaja, salvo definición distinta de la variable, con valores numéricos.<br />

Concretam<strong>en</strong>te, <strong>para</strong> las funciones trigonométricas, si no se declaran previam<strong>en</strong>te<br />

como variables simbólicas, <strong>en</strong>ti<strong>en</strong>de que son valores numéricos y, por<br />

lo tanto, expresados <strong>en</strong> radianes. En caso de querer trabajar con valores expresados<br />

<strong>en</strong> grados, deb<strong>en</strong> usarse las funciones:<br />

>>sind, >>cosd<br />

1.5.1 Crear funciones<br />

Para crear funciones <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> exist<strong>en</strong> varias formas. Aquí sólo se va a indicar cómo<br />

definirlas y evaluarlas. Para su repres<strong>en</strong>tación gráfica consultar el tema de gráficos.<br />

13<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Se van a considerar dos tipos de funciones que <strong>en</strong>globan a todas, las simbólicas y las<br />

funciones a trozos. Exist<strong>en</strong> varias posibilidades de definir funciones simbólicas.<br />

A. Definición de función simbólica usando Anonymus<br />

Esta definición se realiza mediante el símbolo @. Cuando las funciones son básicas de<br />

<strong><strong>Ma</strong>tlab</strong> no hace falta indicar el argum<strong>en</strong>to si este es x:<br />

>>fun=@atan, ................................ Y <strong>para</strong> dibujarla >> fplot(fun,[-2,2])<br />

>>fun2=@sin, ................................ Y <strong>para</strong> dibujarla >> fplot(fun2,[-3,3])<br />

Sin embargo, si el argum<strong>en</strong>to resulta ser composición de funciones o la función posee<br />

varios argum<strong>en</strong>tos, <strong>en</strong>tonces debe indicarse al principio, justo al lado de @, tal y como<br />

se muestra <strong>en</strong> el sigui<strong>en</strong>te ejemplo<br />

>> y=@(x) x^2+1;<br />

Para evaluarla se puede hacer directam<strong>en</strong>te asignándole un nombre:<br />

>> y(1)<br />

ans =<br />

2<br />

>> y(0)<br />

ans =<br />

1<br />

O también con el comando >>subs<br />

>> subs(y,0)<br />

ans =<br />

1<br />

B. Definición de funciones simbólicas mediante el comando >>inline<br />

Los argum<strong>en</strong>tos se introduc<strong>en</strong> <strong>en</strong>tre comillas simples.<br />

De esta forma se hallan los valores de la función sin más que calcular su imag<strong>en</strong> directam<strong>en</strong>te<br />

o con el comando >>feval. Se detalla <strong>en</strong> el ejemplo sigui<strong>en</strong>te<br />

14<br />

www.full-ebook.com


Entorno de trabajo <strong><strong>Ma</strong>tlab</strong><br />

Ejemplo 1.4 Definir dos funciones cualesquiera con el comando >>inline y evaluarlas<br />

de forma distinta:<br />

a) >> f=inline('x^2-3*x+2')<br />

f =<br />

Inline function:<br />

f(x) = x^2-3*x+2<br />

>> f(2)<br />

ans =<br />

0<br />

b) >> y=inline('x^2+1')<br />

y =<br />

Inline function:<br />

y(x) = x^2+1<br />

>> y(1)<br />

ans =<br />

2<br />

>> feval(y,1)<br />

ans =<br />

2<br />

Nota: Se recuerda que <strong>para</strong> evaluar funciones definidas mediante >>inline no se<br />

puede usar el comando >>subs.<br />

C. Definición de funciones simbólicas defini<strong>en</strong>do la variable como simbólica<br />

Para evaluar se utiliza el comando >>subs.<br />

>> x=sym('x');p=2*x-5;<br />

>> subs(p,1)<br />

ans =<br />

-3<br />

D.- Definición de función simbólica <strong>en</strong>tre comillas simples<br />

En este caso no hace falta declarar la variable. De nuevo es evaluada con el comando<br />

>>subs<br />

>> y='x^2+1';<br />

15<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>> subs(y,0)<br />

ans =<br />

1<br />

Para las funciones a trozos se indican aquí la forma vectorizada y mediante archivo .m;<br />

es decir, esta segunda desde el Editor de <strong><strong>Ma</strong>tlab</strong>. Se ilustra mediante un ejemplo.<br />

Ejemplo 1.5 Introducir, de varias formas la sigui<strong>en</strong>te función a trozos:<br />

<br />

<br />

<br />

1. Desde fichero .m<br />

Esta definición debe hacerse desde la v<strong>en</strong>tana del Editor de <strong><strong>Ma</strong>tlab</strong>, icono de NewScript<br />

o más directam<strong>en</strong>te <strong>en</strong> NewFunction. Se crea con ello un archivo .m que, si no se<br />

indica nada, se guarda con el nombre que se le haya puesto a la función.<br />

Es importante que si posteriorm<strong>en</strong>te se modifica, se t<strong>en</strong>ga cuidado de no cambiarle el<br />

nombre, ya que la llamada <strong>para</strong> ser ejecutada se hace por el nombre del fichero.<br />

Para evaluarla basta referirse a ella con su nombre.<br />

Si se realiza <strong>para</strong> la función del Ejemplo 1.5, quedaría<br />

function y=funcion2(x)<br />

if x


Entorno de trabajo <strong><strong>Ma</strong>tlab</strong><br />

2. Vectorizada<br />

<br />

Para introducir y evaluar una función así definida es conv<strong>en</strong>i<strong>en</strong>te usar el comando<br />

>>inline:<br />

>>f=inline('(x.^2).*(x


www.full-ebook.com


2 Capítulo 2<br />

Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

2.1 Introducción<br />

Este capítulo se dedica a mostrar cómo dibujar funciones con <strong><strong>Ma</strong>tlab</strong>, tanto combinaciones<br />

de las funciones ya exist<strong>en</strong>tes, como funciones creadas por el usuario, o funciones<br />

a trozos.<br />

Si se quiere conocer con más detalle algo de los comandos <strong>para</strong> gráficos, tipos de argum<strong>en</strong>tos<br />

que admit<strong>en</strong> o cualquier característica suya, basta introducir el comando:<br />

>> help nombredelcomando<br />

y automáticam<strong>en</strong>te, <strong><strong>Ma</strong>tlab</strong> proporciona una ayuda sobre dicha instrucción. Otra opción<br />

es teclear >>helpwin <strong>para</strong> acceder a los temas de la ayuda de <strong><strong>Ma</strong>tlab</strong>, o darle al<br />

icono de ayuda <strong>en</strong> la barra de herrami<strong>en</strong>tas.<br />

Con el comando >>help graph2d, <strong><strong>Ma</strong>tlab</strong> da ayuda sobre gráficos <strong>en</strong> dos dim<strong>en</strong>siones y<br />

con >>help graph3d proporciona ayuda <strong>para</strong> dibujar superficies.<br />

<br />

Guardar y cargar figuras: puede hacerse directam<strong>en</strong>te desde la v<strong>en</strong>tana de<br />

la gráfica, <strong>en</strong> el m<strong>en</strong>ú de Herrami<strong>en</strong>tas: File>Save. <strong><strong>Ma</strong>tlab</strong> permite guardarlas<br />

con diversas ext<strong>en</strong>siones (por defecto las guarda con ext<strong>en</strong>sión .fig).<br />

Para recuperar una figura, basta con teclear:<br />

>> op<strong>en</strong>fig('nombre')<br />

19<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

<br />

Otra posibilidad es <strong>en</strong> la v<strong>en</strong>tana de Curr<strong>en</strong>t Directory, haci<strong>en</strong>do doble click<br />

sobre el archivo <strong>en</strong> el que se ti<strong>en</strong>e la figura.<br />

Para borrar una figura, o bi<strong>en</strong> se cierra la v<strong>en</strong>tana que abre <strong><strong>Ma</strong>tlab</strong> por defecto<br />

al plotearla, o bi<strong>en</strong> se teclea al comando >>clf, que borrará la última figura<br />

creada.<br />

Aunque se van a detallar <strong>en</strong> este capítulo todos los comandos más importantes relacionados<br />

con gráficos -necesarios <strong>para</strong> muchas versiones anteriores de <strong><strong>Ma</strong>tlab</strong> como<br />

<strong><strong>Ma</strong>tlab</strong> R2011a-, cabe destacar que <strong>en</strong> la versión de <strong><strong>Ma</strong>tlab</strong> R2013b aparec<strong>en</strong> directam<strong>en</strong>te<br />

como iconos <strong>en</strong> la pestaña plots, y se activan sin más que seleccionar la variable<br />

o función a dibujar, ofreci<strong>en</strong>do ayuda si se pone el cursor <strong>en</strong>cima de ellos:<br />

Figura 2.1 Ayuda de <strong><strong>Ma</strong>tlab</strong><br />

2.2 Funciones de una variable, y=f(x)<br />

2.2.1 Algunos Comandos <strong>para</strong> repres<strong>en</strong>tar<br />

Los comandos más usado son los indicados a continuación: Comando >>plot(x,y)<br />

Comando >>fplot<br />

Comando >>ezplot<br />

D. Comando >> plot(x,y)<br />

Es uno de los comandos más s<strong>en</strong>cillos, >>plot(a,b). Si, por ejemplo, se quiere dibujar<br />

la gráfica de la función y=sin(x), primero se ha de crear una tabla de valores <strong>para</strong> x, lo<br />

que puede llevarse a cabo de varias formas; o bi<strong>en</strong><br />

>> x=0:pi/100:2*pi;<br />

20<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

donde se origina un vector que toma valores de [0,2] y la distancia <strong>en</strong>tre los puntos es<br />

de /100; es decir, un total de 200 puntos <strong>en</strong> los que la función tomará valores. O bi<strong>en</strong>,<br />

el mismo resultado puede conseguirse con el comando:<br />

>>x=linspace(0,2*pi,200);<br />

El sigui<strong>en</strong>te paso es darle valores a la variable a repres<strong>en</strong>tar:<br />

>>y=sin(x)<br />

Y <strong>para</strong> dibujar la figura, se introduce la ord<strong>en</strong>:<br />

>>plot(x,y)<br />

Ejemplo 2.1<br />

Figura 2.2 Repres<strong>en</strong>tación de y=sinx , y=cosx<br />

21<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

En la figura 2.2 se han repres<strong>en</strong>tado <strong>en</strong> la misma v<strong>en</strong>tana dos funciones gracias al comando<br />

>>hold on. Pued<strong>en</strong> seguir añadiéndose gráficas <strong>en</strong> la misma figura, y <strong>para</strong> repres<strong>en</strong>tar<br />

una gráfica posterior <strong>en</strong> una v<strong>en</strong>tana aparte indicarse con el comando >>hold<br />

off. Otra forma de dibujar varias funciones <strong>en</strong> una misma v<strong>en</strong>tana gráfica, es ponerlas<br />

todas <strong>en</strong> el propio comando >>plot<br />

>> plot(x,sin(x),'r-',x, cos(x),'b.')<br />

Las opciones del trazado del comando >>plot pued<strong>en</strong> consultarse con >>help plot,<br />

aunque la sigui<strong>en</strong>te tabla proporciona un resum<strong>en</strong> de ellas:<br />

Tabla 2.1 Tabla de símbolos, trazado y color <strong>en</strong>torno gráfico<br />

SÍMBOLO COLOR SÍMBOLO TIPO DE<br />

LÍNEA<br />

SÍMBOLO<br />

TÍPO DE LÍNEA<br />

y amarillo . puntos s cuadrados<br />

m mag<strong>en</strong>ta o círculos d diamantes<br />

c cian x equis ^ Triángulo (bajo)<br />

r rojo + mases v triángulo (arriba)<br />

g verde * asteriscos < Triángulo (izquierda)<br />

b azul - línea continua<br />

w blanco : línea de<br />

puntos<br />

k negro -. guiont<br />

- línea de<br />

guiones<br />

> Triángulo (derecha)<br />

p<br />

h<br />

p<strong>en</strong>tagrama<br />

hexagrama<br />

Nota: En caso de utilizar algún símbolo <strong>para</strong> repres<strong>en</strong>tar puntos de la gráfica,<br />

debe especificarse a continuación el tipo de trazado, <strong>para</strong> forzar a que una dichos<br />

puntos mediante una línea.<br />

Ejemplo 2.2 Repres<strong>en</strong>tación de vectores de datos. Repres<strong>en</strong>tar los pares de valores<br />

[t,v] de la sigui<strong>en</strong>te tabla, donde la velocidad vi<strong>en</strong>e dada por (v) fr<strong>en</strong>te al tiempo (t)<br />

v 1.1 1.2 1.3 1.5 2<br />

t 1.65 1.80 1.95 2.25 3.00<br />

Introducir primero la matriz de datos<br />

>> t=[1.65,1.80,1.95,2.25,3];<br />

22<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

>> v=[1.1,1.2,1.3,1.5,2];<br />

>> plot(t,v); % repres<strong>en</strong>ta una línea continua.<br />

2<br />

1.9<br />

1.8<br />

1.7<br />

1.6<br />

1.5<br />

1.4<br />

1.3<br />

1.2<br />

1.1<br />

1.6 1.8 2 2.2 2.4 2.6 2.8 3<br />

Figura 2.3 Repres<strong>en</strong>tación [t, v] línea continua<br />

>> plot(t,v,’bo’); %Si se quiere indicar cómo repres<strong>en</strong>tar el tipo de puntos<br />

>> plot(t,v,'bo-') % Si se quiere indicar trazo de puntos y de línea<br />

2<br />

1.9<br />

1.8<br />

1.7<br />

1.6<br />

1.5<br />

1.4<br />

2<br />

1.9<br />

1.8<br />

1.7<br />

1.6<br />

1.5<br />

1.4<br />

1.3<br />

1.2<br />

1.1<br />

1.6 1.8 2 2.2 2.4 2.6 2.8 3<br />

E. Comando >>fplot<br />

Figura 2.4 Repres<strong>en</strong>tación [t, v] puntos y puntos con línea<br />

La gráfica del s<strong>en</strong>o dibujada <strong>en</strong> el Ejemplo 2.1 también podría repres<strong>en</strong>tarse mediante<br />

el comando >>fplot con la sigui<strong>en</strong>te ord<strong>en</strong>:<br />

>>fplot(‘sin(x)’,[0,2*pi])<br />

1.1<br />

1.6 1.8 2 2.2 2.4 2.6 2.8 3<br />

La función >>fplot puede dibujar varias gráficas a la vez, indicando <strong>en</strong> el segundo<br />

argum<strong>en</strong>to el dominio de la variable x y de la y mediante una caja. Puede indicarse el<br />

trazado, si<strong>en</strong>do conv<strong>en</strong>i<strong>en</strong>te que <strong>en</strong> el caso de función a trozos o con asíntotas, se le<br />

exija un trazado discontinuo. Por defecto une mediante un trazo continuo.<br />

1.3<br />

1.2<br />

23<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Respondería al sigui<strong>en</strong>te comando:<br />

>>fplot(‘[funcion1,funcion2]’,[xmin xmax ymin ymax],’trazadofuncion1,trazadofuncion2’)<br />

Los trazados se pued<strong>en</strong> modificar desde la v<strong>en</strong>tana de gráficos <strong>en</strong> el m<strong>en</strong>ú Edit/Figure<br />

Properties/…, botón derecho del ratón y seleccionando la función que se quiere modificar.<br />

O con el último icono de la barra de herrami<strong>en</strong>tas <strong>en</strong> la v<strong>en</strong>tana de la figura:<br />

Show Plot Tools and Dock Figure<br />

Nota: hay que t<strong>en</strong>er cuidado a la hora de dibujar funciones que realic<strong>en</strong> operaciones<br />

con la variable x definida mediante un >>linspace o mediante un vector,<br />

ya que al evaluarlas debe realizarse coord<strong>en</strong>ada a coord<strong>en</strong>ada. Por lo tanto, salvo<br />

<strong>en</strong> las sumas y restas que lo hace por defecto, <strong>en</strong> las demás operaciones debe especificarse:<br />

./, .*, o bi<strong>en</strong> .^ dep<strong>en</strong>di<strong>en</strong>do de la operación a realizar.<br />

Ejes: En cuanto a los ejes, además de poder cambiarlos desde la misma v<strong>en</strong>tana de la<br />

gráfica como se verá <strong>en</strong> la sigui<strong>en</strong>te sección, también pued<strong>en</strong> ser establecidos desde el<br />

principio. Para ello, como se detallaa <strong>en</strong> el Ejemplo 2.1 hay varias formas. Una de ellas<br />

es el comando<br />

>>axis([xmin xmax ymin ymax])<br />

Si se desea un escalado logarítmico <strong>en</strong> los ejes, basta utilizar estos comandos:<br />

>>semilogx, >>semilogy, (eje x <strong>en</strong> logarítmico y eje y <strong>en</strong> lineal, o viceversa<br />

respectivam<strong>en</strong>te)<br />

>>loglog, (escalado logarítmico <strong>para</strong> ambos ejes)<br />

>>polar, <strong>para</strong> coord<strong>en</strong>adas polares (que serán descritas más adelante)<br />

F. Comando >>ezplot<br />

A la hora de repres<strong>en</strong>tar gráficas, <strong>en</strong> g<strong>en</strong>eral, es mucho más s<strong>en</strong>cillo utilizar el comando<br />

>>ezplot.<br />

Este comando dibuja también funciones definidas de forma implícita. Las variables<br />

deb<strong>en</strong> ser simbólicas o ir escritas <strong>en</strong>tre comillas simples. Además dibuja perfectam<strong>en</strong>te<br />

los saltos de las funciones, o las asíntotas, sin unirlas con un trazo como ocurre con el<br />

comando >>fplot (si <strong>en</strong> este último comando no se exige trazo discontinuo).<br />

Ejemplo 2.3 Repres<strong>en</strong>tar la gráfica de la función <strong>en</strong> el intervalo [-5,3].<br />

<br />

24<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

Se puede observar, <strong>en</strong> las Figuras 2.5 y 2.6, la difer<strong>en</strong>cia de gráficos que se obti<strong>en</strong><strong>en</strong> al<br />

repres<strong>en</strong>tar la función 1/x <strong>en</strong> el intervalo cerrado [-5,3], usando ezplot, fplot y fplot<br />

forzando, <strong>en</strong> esta última, el trazo discontinuo:<br />

>> syms x, ezplot(1/x,[-5 3])<br />

1/x<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-2.5<br />

-5 -4 -3 -2 -1 0 1 2 3<br />

Figura 2.5 Repres<strong>en</strong>tación usando >>ezplot<br />

Mi<strong>en</strong>tras que, con el comando >>fplot:<br />

>> fplot('1./x',[-5 3]) >> fplot('1./x',[-5 3],'k.')<br />

150<br />

150<br />

100<br />

100<br />

50<br />

50<br />

0<br />

0<br />

-50<br />

-50<br />

-100<br />

-100<br />

-150<br />

-5 -4 -3 -2 -1 0 1 2 3<br />

-150<br />

-5 -4 -3 -2 -1 0 1 2 3<br />

Figura 2.6 Repres<strong>en</strong>tación usando >>fplot, <strong>en</strong> la segunda gráfica con trazo discontinuo<br />

Este comando será desarrollado con mayor amplitud <strong>en</strong> secciones posteriores.<br />

Captura de coord<strong>en</strong>adas: Si una vez repres<strong>en</strong>tada la gráfica se busca obt<strong>en</strong>er las coord<strong>en</strong>adas<br />

de algún punto de la gráfica, <strong><strong>Ma</strong>tlab</strong> lo permite con la instrucción<br />

>>ginput<br />

En ese mom<strong>en</strong>to, aparece el cursor sobre la gráfica y basta hacer click con el ratón <strong>en</strong><br />

cada punto del que se quiere obt<strong>en</strong>er su posición. Pulsando Enter se vuelve a la v<strong>en</strong>tana<br />

de comandos, donde aparec<strong>en</strong> las coord<strong>en</strong>adas de los puntos seleccionados.<br />

25<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Borrado de formato: <strong>para</strong> borrar el formato de una gráfica, o bi<strong>en</strong> se cierra la v<strong>en</strong>tana<br />

correspondi<strong>en</strong>te a esa gráfica (si no se indica lo contrario, <strong><strong>Ma</strong>tlab</strong> abre una nueva v<strong>en</strong>tana<br />

<strong>para</strong> cada gráfica), o bi<strong>en</strong> se escribe el comando:<br />

>> clf reset<br />

2.2.2 Subv<strong>en</strong>tanas<br />

Cuando <strong>en</strong> una misma figura se desea visualizar varias v<strong>en</strong>tanas con sus gráficas correspondi<strong>en</strong>tes,<br />

se ti<strong>en</strong>e el comando >> subplot.<br />

Los argum<strong>en</strong>tos de este comando son, el número de filas y columnas de v<strong>en</strong>tanas y el<br />

lugar que estas ocuparán.<br />

Ejemplo 2.4<br />

Si una vez que <strong><strong>Ma</strong>tlab</strong> ha creado la figura, interesa modificarla, no hay más que situarse<br />

<strong>en</strong> esa v<strong>en</strong>tana y darle al icono de más a la derecha de la barra de herrami<strong>en</strong>tas:<br />

Figura 2.7 Subv<strong>en</strong>tanas gráficas del Ejemplo 2.4<br />

26<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

Al accionar este icono se abrirá una nueva v<strong>en</strong>tana donde modificar cada una de las<br />

gráficas, clicando sobre ellas. Permite modificar su color, sus ejes, y muchas más propiedades<br />

descritas <strong>en</strong> la subv<strong>en</strong>tana inferior, seleccionado el recuadro Ticks.<br />

Figura 2.8 Opciones <strong>para</strong> modificar cada una de las gráficas<br />

Para nombrar los ejes cartesianos, si no se desea hacer directam<strong>en</strong>te desde la v<strong>en</strong>tana<br />

mostrada <strong>en</strong> la Figura 2.8, exist<strong>en</strong> también los comandos >>xlabel(‘etiqueta’) e >>ylabel(‘etiqueta’),<br />

<strong>para</strong> los ejes OX y OY, respectivam<strong>en</strong>te.<br />

2.3 Repres<strong>en</strong>tación de funciones simbólicas<br />

Para definir funciones o variables simbólicas hay difer<strong>en</strong>tes modos de hacerlo, algunos<br />

ya explicados <strong>en</strong> el Capítulo 1; es conv<strong>en</strong>i<strong>en</strong>te recordar que, <strong>para</strong> declarar la variable x<br />

como simbólica se hará<br />

>>syms x<br />

o bi<strong>en</strong>, con >>x=sym(‘x’).<br />

A. Repres<strong>en</strong>tación de función simbólica definida usando Anonymus<br />

Cuando las funciones a repres<strong>en</strong>tar son básicas de <strong><strong>Ma</strong>tlab</strong>, a la hora de definirlas, no<br />

hace falta indicar el argum<strong>en</strong>to si este es x.<br />

Los comandos <strong>para</strong> repres<strong>en</strong>tar las funciones así definidas son tanto >>ezplot, como<br />

>>fplot. Ambos trabajan <strong>en</strong> simbólico.<br />

27<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Ejemplo 2.5 Definir y repres<strong>en</strong>tar las funciones y=arctg(x), y =s<strong>en</strong>(x), una con cada<br />

comando.<br />

>>fun=@atan, ezplot(fun,[-2 2]),<br />

>>fun2=@sin, fplot(fun2,[-3,3])<br />

1.5<br />

1<br />

0.8<br />

1<br />

0.5<br />

0<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.5<br />

-1<br />

-0.4<br />

-0.6<br />

-0.8<br />

-1.5<br />

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2<br />

Figura 2.9 Repres<strong>en</strong>tación de f(x)= arctg(x)<br />

-1<br />

-3 -2 -1 0 1 2 3<br />

Figura 2.10 Repres<strong>en</strong>tación de f(x)= sin(x)<br />

Sin embargo, si se trabaja con composiciones de funciones o funciones con varios argum<strong>en</strong>tos,<br />

<strong>en</strong>tonces el o los argum<strong>en</strong>tos deb<strong>en</strong> indicarse al principio:<br />

>>fun3=@(x)sin(1./x), ezplot(fun3,[.01 0.1])<br />

sin(1/x)<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1<br />

x<br />

Figura 2.11 Repres<strong>en</strong>tación de f(x)= sin(1/x)<br />

B. Repres<strong>en</strong>tación de función simbólica definida mediante el comando >>inline<br />

Las funciones así definidas se dibujan, también, con el comando:<br />

>>fplot(f,[a,b])<br />

donde [a,b] es el intervalo de las abscisas <strong>en</strong> el que la función toma valores y f el nombre<br />

asignado a la variable inline.<br />

28<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

C. Repres<strong>en</strong>tación de función simbólica definida directam<strong>en</strong>te<br />

En el caso de introducirla de forma directa, es decir defini<strong>en</strong>do la variable como simbólica,<br />

o defini<strong>en</strong>do <strong>en</strong>tre comillas simples directam<strong>en</strong>te la función, también puede ser<br />

dibujada con el comando >>fplot:<br />

>> y='sin(x)'<br />

y =<br />

sin(x)<br />

>> fplot(y,[0,pi])<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

0 0.5 1 1.5 2 2.5 3<br />

Figura 2.12 Función y=’sin(x)’ con >>fplot<br />

Nota: De todas formas, <strong>en</strong> g<strong>en</strong>eral, <strong>para</strong> dibujar funciones simbólicas -tanto definidas<br />

vía inline, vía Anonymus, o vía variable simbólica o función <strong>en</strong>tre comillas<br />

simples-, es recom<strong>en</strong>dable por su s<strong>en</strong>cillez, el comando:<br />

>>ezplot(función, intervalo)<br />

El argum<strong>en</strong>to intervalo es opcional, tomando por defecto el intervalo [0,2] si<br />

no se le indica. Además este comando ya le pone título a la gráfica con el nombre<br />

de la función dibujada.<br />

Ejemplo 2.6 Dibujar la función y=sin(x) definiéndola de varias formas<br />

>> f=@sin(x),ezplot(f)<br />

>> f=inline('sin(x)');ezplot(f)<br />

>> syms x, y=sin(x); ezplot(y)<br />

>> y='sin(x)';ezplot(y)<br />

Todas estas instrucciones devuelv<strong>en</strong> la figura:<br />

29<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

sin(x)<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-6 -4 -2 0 2 4 6<br />

x<br />

Figura 2.13 Repres<strong>en</strong>tación del Ejemplo 2.5<br />

Las figuras creadas <strong>en</strong> <strong><strong>Ma</strong>tlab</strong>, se guardan y salvan sin más que acceder a File/Save as<br />

<strong>en</strong> el m<strong>en</strong>ú de la v<strong>en</strong>tana de Figure, con la ext<strong>en</strong>sión que más interese.<br />

Figura 2.14 Imag<strong>en</strong> de cómo guardar una figura<br />

30<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

2.3.1 Repres<strong>en</strong>tación de funciones creadas como fichero .m<br />

Si se defin<strong>en</strong> las funciones desde la v<strong>en</strong>tana del Editor de <strong><strong>Ma</strong>tlab</strong>, se crea un fichero .m<br />

quedando la función almac<strong>en</strong>ada como fichero y no como variable (casos anteriores).<br />

Para llamar a ese archivo desde cualquier sesión se ejecuta el comando Op<strong>en</strong>, o bi<strong>en</strong> se<br />

hace doble click <strong>en</strong> su nombre. Este archivo aparecerá <strong>en</strong> la v<strong>en</strong>tana de Curr<strong>en</strong>t Directory<br />

una vez haya sido cargado. En este último caso, ya no hay que declarar la variable<br />

como simbólica al ser introducida como argum<strong>en</strong>to de <strong>en</strong>trada:<br />

Figura 2.15 Introducción de una función con el Editor<br />

Para repres<strong>en</strong>tarla se le refer<strong>en</strong>cia con el nombre puesto al archivo creado (debe coincidir<br />

el nombre de la función con el nombre del archivo). <strong><strong>Ma</strong>tlab</strong> pone este por defecto<br />

pero hay que prestar at<strong>en</strong>ción si se efectúan modificaciones <strong>para</strong> no cambiarle el nombre.<br />

Esta llamada se hace como argum<strong>en</strong>to carácter, es decir, ‘nombre del archivo’:<br />

Figura 2.16 Cómo dibujar una función .m<br />

31<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

2.4 Funciones a trozos: definición y repres<strong>en</strong>tación<br />

Las funciones definidas a trozos pued<strong>en</strong> ser definidas de diversas formas. En este apartado<br />

se destacan dos formas distintas, usando fichero .m o función a trozos vectorizada.<br />

2.4.1 Función a trozos desde fichero .m<br />

Si se quiere definir y repres<strong>en</strong>tar, por ejemplo, la función sigui<strong>en</strong>te:<br />

<br />

<br />

<br />

<br />

se ha de utilizar un poco de programación, ya que una función a trozos no es más que<br />

una s<strong>en</strong>t<strong>en</strong>cia de la forma: if, elseif, else, <strong>en</strong>d.<br />

Esta definición debe hacerse desde la v<strong>en</strong>tana del Editor de <strong><strong>Ma</strong>tlab</strong>, icono de<br />

NewScript, o más directam<strong>en</strong>te <strong>en</strong> New/Function. Se crea con ello un archivo .m, que<br />

se guarda con el nombre puesto a la función. Para evaluarla basta referirse a ella con su<br />

nombre.<br />

Ejemplo 2.7 Definir la función a trozos anterior y evaluarla <strong>en</strong> x=4, 3, 1, 2,-2.<br />

En el Editor se introduce la sigui<strong>en</strong>te función:<br />

function y=funcion2(x)<br />

if x


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

A la hora de dibujarla se hará uso del comando >>fplot. Como los nombres de las funciones<br />

son una cad<strong>en</strong>a carácter, cuando esta es llamada con >>fplot debe ponerse <strong>en</strong>tre<br />

comillas simples.<br />

Nota: con fplot es importante indicar, como argum<strong>en</strong>to, el tipo de la línea de la<br />

gráfica; por ejemplo puntos, <strong>para</strong> que dibuje los saltos que puedan producirse <strong>en</strong><br />

la misma. Por defecto los uniría con una línea continua.<br />

>> fplot('funcion2',[-5,10],'.'),axis([-5 10 0 10])<br />

10<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

-5 0 5 10<br />

Figura 2.17 Repres<strong>en</strong>tación de función a trozos con >>fplot<br />

2.4.2 Función a trozos vectorizada<br />

Directam<strong>en</strong>te <strong>en</strong> la v<strong>en</strong>tana Command Window, se introduc<strong>en</strong> los distintos trozos de la<br />

función mediante operadores lógicos. De cara a dibujarla, hay varias posibilidades:<br />

<br />

<br />

definir previam<strong>en</strong>te la variable a evaluar como un vector de muchas compon<strong>en</strong>tes,<br />

por ejemplo con el comando >>linspace.<br />

dibujarla directam<strong>en</strong>te con fplot, sin definirla, siempre que indiquemos trazo<br />

discontinuo <strong>para</strong> que no una los posibles saltos mediante una línea.<br />

Ejemplo 2.8 Definir y repres<strong>en</strong>tar la función a trozos:<br />

<br />

<br />

<br />

<br />

Para definirla vectorizada:<br />

>> x=linspace(-10,10,100);<br />

>> y=(x.^2).*(x


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

10<br />

Función definida a trozos<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

-5 -4 -3 -2 -1 0 1 2 3 4 5<br />

Otra forma de repres<strong>en</strong>tarla:<br />

Figura 2.18 Repres<strong>en</strong>tación usando >>linspace<br />

>> fplot('x^2.*(x


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

>>f=inline('(x.^2).*(x


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Directam<strong>en</strong>te <strong><strong>Ma</strong>tlab</strong> abrirá una v<strong>en</strong>tana gráfica como primera repres<strong>en</strong>tación de la<br />

figura; <strong>en</strong> ella, editando la figura y dándole al icono de “Show Plot Tools and Dock<br />

Figure” pued<strong>en</strong> modificarse ejes, texto y más propiedades del gráfico.<br />

>>ezplot(f,[a,b]), lo mismo que el comando anterior <strong>para</strong> x variando <strong>en</strong> el intervalo<br />

[a,b]<br />

Ejemplo 2.9 Repres<strong>en</strong>tar las funciones y 2sin x cos3x<br />

, y sin <br />

2<br />

<br />

2 x .<br />

>> ezplot('2*sin(x/2)*cos(3*x)'), >> ezplot('2*sin(x/2)*cos(3*x)',[0,pi/2])<br />

2 sin(x/2) cos(3 x)<br />

2 sin(x/2) cos(3 x)<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-0.6<br />

-0.8<br />

-1<br />

-6 -4 -2 0 2 4 6<br />

0 0.5 1 1.5<br />

Figura 2.20 Repres<strong>en</strong>tación con >>ezplot(f) y con >>ezplot (f,[a,b])<br />

Nota: los comandos >>ezplot(f), >>ezplot(f,[a,b]), donde f es una expresión de<br />

(x,y), dibujan la curva implícitam<strong>en</strong>te definida por f(x,y)=0, <strong>para</strong> x e y variando<br />

<strong>en</strong> el intervalo [-2,2] <strong>en</strong> el primer caso; y <strong>para</strong> x e y variando <strong>en</strong> el intervalo<br />

[a,b], <strong>en</strong> el segundo caso.<br />

Ejemplo 2.10 Repres<strong>en</strong>tar la función definida <strong>en</strong> forma implícita f(x,y)=x 2 y-1.<br />

>> ezplot('x^2*y-1')<br />

6<br />

x 2 y-1 = 0<br />

4<br />

2<br />

y<br />

0<br />

-2<br />

-4<br />

-6<br />

-6 -4 -2 0 2 4 6<br />

x<br />

Figura 2.21 Repres<strong>en</strong>tación de f(x,y)=x 2 y-1<br />

36<br />

www.full-ebook.com


y<br />

y<br />

Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

2.5.1 Curvas <strong>en</strong> <strong>para</strong>métricas<br />

Sea una curva <strong>en</strong> <strong>para</strong>métricas r(t) = (x(t), y(t)), con t [a, b].<br />

Una primera forma de dibujarla sería usando las órd<strong>en</strong>es:<br />

>>ezplot(x,y), >>ezplot(x,y,[a,b])<br />

donde<br />

- x e y son dos cad<strong>en</strong>as de caracteres cont<strong>en</strong>i<strong>en</strong>do las expresiones de dos funciones x(t)<br />

e y(t).<br />

- dibuja la curva de ecuaciones <strong>para</strong>métricas x=x(t) y=y(t) <strong>para</strong> t <strong>en</strong> el intervalo [0,2],<br />

<strong>en</strong> el primer caso y <strong>para</strong> t [a,b], <strong>en</strong> el segundo.<br />

Ejemplo 2.11 Usando los comandos arriba indicados, repres<strong>en</strong>tar las curvas<br />

>> ezplot('sin(3*t) ', 'cos(3*t)'), ezplot('sin(3*t)','cos(t)')<br />

1<br />

x = sin(3 t), y = cos(t)<br />

1<br />

x = sin(3 t), y = cos(3 t)<br />

0.8<br />

0.8<br />

0.6<br />

0.6<br />

0.4<br />

0.4<br />

0.2<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.6<br />

-0.8<br />

-0.8<br />

-1 -0.5 0 0.5 1<br />

x<br />

Figura 2.22 Repres<strong>en</strong>taciones del ejemplo<br />

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1<br />

x<br />

Otra posibilidad que ofrece <strong><strong>Ma</strong>tlab</strong> es la sigui<strong>en</strong>te. Para dibujar la gráfica de la curva<br />

<br />

<br />

con 5 t 5, <strong>en</strong> primer lugar se g<strong>en</strong>eran los valores de t <strong>en</strong> el intervalo indicado:<br />

>>t=linspace(-5,5,1000);<br />

Se puede dibujar de dos formas distintas (como ocurre con todas las gráficas):<br />

>>plot((t.*(t.^2-1))./(t.^2+1),(2*(t.^2-1))./(t.^2+1))<br />

37<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-5 -4 -3 -2 -1 0 1 2 3 4 5<br />

Figura 2.23 Primera repres<strong>en</strong>tación con >>plot<br />

Y otra forma de hacerlo es utilizar el comando >> comet(x(t),y(t)):<br />

>>comet((t.*(t.^2-1))./(t.^2+1),(2*(t.^2-1))./(t.^2+1))<br />

Los dos comandos produc<strong>en</strong> el mismo resultado. Sin embargo, la forma de ejecución es<br />

difer<strong>en</strong>te. Minimizando un poco la v<strong>en</strong>tana principal de <strong><strong>Ma</strong>tlab</strong>, se consigue ver simultáneam<strong>en</strong>te<br />

la Command Window y la v<strong>en</strong>tana de gráficas. Al ejecutar este comando, se<br />

observa que <strong>en</strong> la v<strong>en</strong>tana de la figura aparece un circulito, el cometa, que va dibujando<br />

la curva.<br />

La velocidad de ejecución dep<strong>en</strong>de del número de puntos que se hayan g<strong>en</strong>erado con el<br />

comando >>linspace.<br />

2.6 Curvas planas <strong>en</strong> coord<strong>en</strong>adas polares<br />

Una curva <strong>en</strong> coord<strong>en</strong>adas polares es la imag<strong>en</strong> de la función r=h(), donde [ 1 , 2 ].<br />

Un punto de la curva <strong>en</strong> polares (r 0 , 0 ) ti<strong>en</strong>e distancia al orig<strong>en</strong> r 0, y el ángulo que<br />

forma el vector de posición del punto con el semieje positivo horizontal, medido <strong>en</strong><br />

s<strong>en</strong>tido positivo, es 0 .<br />

Por lo tanto, la relación <strong>en</strong>tre las coord<strong>en</strong>adas polares y las coord<strong>en</strong>adas cartesianas o<br />

rectangulares vi<strong>en</strong>e dada por:<br />

<br />

<br />

Para dibujar una curva <strong>en</strong> polares con <strong><strong>Ma</strong>tlab</strong> se utiliza el comando >>polar.<br />

Los valores del ángulo son g<strong>en</strong>erados mediante el comando >>linspace.<br />

38<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

Ejemplo 2.12 Dibujar la curva cardioide r = 2 4cos(), con .<br />

>> theta=linspace(-pi,pi,100);r=2-4*cos(theta);polar(theta,r)<br />

120<br />

90<br />

6<br />

60<br />

4<br />

150<br />

2<br />

30<br />

180 0<br />

210<br />

330<br />

240<br />

270<br />

300<br />

Figura 2.24 Repres<strong>en</strong>tación <strong>en</strong> coord<strong>en</strong>adas polares<br />

2.6.1 Otros comandos <strong>para</strong> curvas <strong>en</strong> coord<strong>en</strong>adas polares<br />

>>ezpolar(f), >> ezpolar(f,[a,b])<br />

donde:<br />

- f es una cad<strong>en</strong>a de caracteres cont<strong>en</strong>i<strong>en</strong>do la expresión de una función f()<br />

- dibuja la curva definida <strong>en</strong> coord<strong>en</strong>adas polares por r= f() <strong>para</strong> variando <strong>en</strong><br />

el intervalo [0,2], <strong>en</strong> el primer caso y <strong>en</strong> el intervalo [a,b], <strong>en</strong> el segundo.<br />

Ejemplo 2.13 a) Dibujar la curva rosácea de 5 hojas <strong>en</strong> polares r=cos (5).<br />

b) Dibujar la curva <strong>en</strong> polares r=sin(2 , <strong>en</strong> el intervalo [0,].<br />

>> ezpolar('cos(5*theta)',[0,2*pi]), ezpolar('sin(2*)*cos(3*)',[0,pi])<br />

1<br />

0.8<br />

120<br />

90<br />

1<br />

0.8<br />

60<br />

a)<br />

120<br />

90<br />

1<br />

0.8<br />

60<br />

0.6<br />

150<br />

0.4<br />

0.6<br />

0.4<br />

30<br />

150<br />

0.6<br />

0.4<br />

30<br />

0.2<br />

0.2<br />

0.2<br />

1800<br />

0<br />

180 0<br />

-0.2<br />

-0.4<br />

210<br />

-0.6<br />

330<br />

210<br />

330<br />

-0.8<br />

-1<br />

240<br />

270<br />

300<br />

240<br />

270<br />

300<br />

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1<br />

r = sin(2 t) cos(3 t)<br />

r = cos(5 )<br />

Figura 2.25 Repres<strong>en</strong>taciones de curvas <strong>en</strong> polares<br />

39<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

2.6.2 Cambios de coord<strong>en</strong>adas rectangulares a polares<br />

Cuando se desea cambiar las coord<strong>en</strong>adas <strong>en</strong> las que vi<strong>en</strong>e expresada una función,<br />

exist<strong>en</strong> comandos que lo hallan de forma directa. Estos son:<br />

>> [TH,R] = cart2pol(X,Y) ……………… pasa de coord<strong>en</strong>adas cartesianas a polares.<br />

El ángulo lo devuelve <strong>en</strong> radianes.<br />

Nota: Estos comandos sólo sirv<strong>en</strong> <strong>para</strong> hallar puntos, es decir, los argum<strong>en</strong>tos no<br />

pued<strong>en</strong> ser variables simbólicas. Para calcular ecuaciones <strong>en</strong> coord<strong>en</strong>adas cualesquiera,<br />

ha de hacer uno mismo las cu<strong>en</strong>tas; o bi<strong>en</strong> hacer cambio de variable y<br />

simplificar con el comando >>simplify.<br />

Ejemplo 2.14 Obt<strong>en</strong>er <strong>en</strong> polares la ecuación de la circunfer<strong>en</strong>cia (x-1) 2 +y 2 =4.<br />

>> syms x y r theta, f=(x-1)^2+y^2-4, F=simplify(subs(f,{x,y},[r*cos(theta),r*sin(theta)]))<br />

f =<br />

(x - 1)^2 + y^2 - 4<br />

F =<br />

r^2 - 2*cos(theta)*r – 3<br />

Por lo tanto, la ecuación <strong>en</strong> polares de la circunfer<strong>en</strong>cia quedaría:<br />

r 2 - 2cos(theta) r = 3.<br />

Nota: Si la función se define vía inline, <strong>en</strong> vez del comando >>subs, bastará<br />

con evaluar la función <strong>en</strong> (rcos(theta),rsin(theta)).<br />

2.7 Rell<strong>en</strong>o de regiones del plano<br />

En ocasiones, puede interesar sombrear regiones del plano o áreas <strong>en</strong>cerradas <strong>en</strong>tre<br />

curvas. Esto puede realizarse <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> mediante el comando >>fill.<br />

Si las curvas se cortan, previam<strong>en</strong>te han de hallarse los puntos de corte, y posteriorm<strong>en</strong>te,<br />

<strong>para</strong> rell<strong>en</strong>ar, recorrer las curvas desde sus puntos de corte de izquierda a derecha.<br />

Esto último lo hace el comando >>fliplr.<br />

Si las curvas a rell<strong>en</strong>ar son polígonos es más s<strong>en</strong>cillo. Basta indicar los valores de las x<br />

y de las y de los puntos de corte y rell<strong>en</strong>ar con >>fill.<br />

Todo esto va a ser ilustrado con ejemplos <strong>para</strong> <strong>en</strong>t<strong>en</strong>der mejor el comando y sus argum<strong>en</strong>tos.<br />

Primero, es necesario saber el punto de corte de las gráficas, el cual se hallará<br />

con el comando >>solve (este comando se desarrolla ampliam<strong>en</strong>te <strong>en</strong> el sigui<strong>en</strong>te capítulo).<br />

40<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

Ejemplo 2.15 Dibujar las curvas y=x 2 , y=2-x 2 y rell<strong>en</strong>ar el área <strong>en</strong>cerrada <strong>en</strong>tre ambas<br />

curvas.<br />

>>% <strong>para</strong> <strong>en</strong>contrar los puntos de corte<br />

>> solve(x^2==2-x^2,x)<br />

ans =<br />

1<br />

-1<br />

Aunque el dominio de repres<strong>en</strong>tación será x[-2,2], la región a pintar se <strong>en</strong>cu<strong>en</strong>tra<br />

<strong>en</strong>tre los puntos de corte, x[-1,1]. La repres<strong>en</strong>tación de las curvas, la región pintada y<br />

los comandos utilizados, se pued<strong>en</strong> consultar <strong>en</strong> la Figura 2.26 (el tercer argum<strong>en</strong>to ‘c’<br />

<strong>en</strong> >>fill indica el color, cyan <strong>en</strong> este caso)<br />

>> subplot(1,3,1); >> subplot(1,3,2);<br />

>> subplot(1,3,3);<br />

>>x=linspace(-2,2,50);<br />

>>plot(x,x.^2,'b-',x,2-<br />

x.^2,'b--')<br />

>>x=linspace(-2,2,50);<br />

>>plot(x,x.^2,'b-',x,2-x.^2,'b--')<br />

>>hold on;<br />

>> xn=linspace(-1,1,10);<br />

>>plot([xn;xn],[xn.^2;2-<br />

xn.^2],'k--')<br />

>>x=linspace(-2,2,50);<br />

>>plot(x,x.^2,'b-',x,2-x.^2,'b--')<br />

>> hold on;<br />

>> xn=linspace(-1,1,50);<br />

>>fill([xn,fliplr(xn)],[xn.^2,flipl<br />

r(2-xn.^2)],'c')<br />

Figura 2.26 Repres<strong>en</strong>taciones de regiones sombreadas con >>fill y >>fliplr<br />

41<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

En el caso de repres<strong>en</strong>tación de polígonos se puede proceder de dos modos difer<strong>en</strong>tes,<br />

como se muestra <strong>en</strong> los Ejemplos 2.16 y 2.17.<br />

Ejemplo 2.16 Dibujar el triángulo cuyos vértices son (0,0), (0,1) y (1,1). Rell<strong>en</strong>ar el<br />

área <strong>en</strong>cerrada por este triángulo.<br />

>> x=[0,1,0];y=[0,1,1]; % Vértices del triángulo recorridos de izquierda a derecha<br />

>> fill(x,y,'b'), axis square<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

0 0.2 0.4 0.6 0.8 1<br />

Figura 2.27 Repres<strong>en</strong>tación de rell<strong>en</strong>o de un polígono usando >>fill<br />

Ejemplo 2.17 Dada la recta y=x, dibujar el área <strong>en</strong>cerrada por esta recta y los ejes<br />

coord<strong>en</strong>ados <strong>en</strong> el primer cuadrante.<br />

Evid<strong>en</strong>tem<strong>en</strong>te debe salir lo mismo que el ejemplo 2.16.<br />

Primero, se dibujará la recta y=x, y luego se rell<strong>en</strong>ará la figura, recorriéndola de izquierda<br />

a derecha, con el comando >>fliplr. Es decir:<br />

>>x=linspace(0,1,100);y=x;plot(x,y,'k-'),hold on,<br />

>>xn=linspace(0,1,100);yn=linspace(1,1,100);fill([xn,fliplr(xn)],[xn,yn],'b')<br />

Figura 2.28 Repres<strong>en</strong>tación de rell<strong>en</strong>o de un polígono usando >>fliplr<br />

42<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

Nota: Se obt<strong>en</strong>dría el mismo rell<strong>en</strong>o, pero recorri<strong>en</strong>do la figura de izquierda a<br />

derecha y com<strong>en</strong>zando por la parte superior, ejecutando:<br />

>>x=linspace(0,1,100);y=x;plot(x,y,'k-'), hold on<br />

>> xn=linspace(0,1,100);yn=linspace(1,1,100);fill([xn,fliplr(xn)],[yn,fliplr(xn)],'b')<br />

2.8 Funciones de varias variables. Superficies<br />

2.8.1 Repres<strong>en</strong>tación de funciones <strong>en</strong> 3D: z=f(x,y). Comandos más usados<br />

Una superficie se define por la expresión z=f(x,y), si<strong>en</strong>do x,y las variables indep<strong>en</strong>di<strong>en</strong>tes.<br />

Los comandos más usados son:<br />

Comando<br />

Dibuja<br />

(x,y) varía <strong>en</strong><br />

>> ezmesh(f) z=f(x,y) En el cuadrado [-,][-,]<br />

>> ezmesh(f,[a,b])<br />

f<br />

expresión de<br />

z=f(x,y) <strong>en</strong> el cuadrado [a,b][a,b]<br />

>> ezmesh(f,[a,b,c,d]) dos variables z=f(x,y) <strong>en</strong> el rectángulo [a,b][c,d]<br />

El proceso <strong>para</strong> dibujar consiste <strong>en</strong> crear una malla con segm<strong>en</strong>tos coloreados, <strong>en</strong> función<br />

de los valores de los extremos. Editando posteriorm<strong>en</strong>te la gráfica, se pued<strong>en</strong><br />

cambiar colores, ejes y demás propiedades.<br />

En caso de querer que los ejes X e Y se ori<strong>en</strong>t<strong>en</strong> al revés, <strong>en</strong> la v<strong>en</strong>tana de la figura,<br />

con los ejes seleccionados, se elige la opción Reverse.<br />

Ejemplo 2.18 Repres<strong>en</strong>tar la superficie dada por la función <br />

>> ezmesh('x*exp(-x^2 - y^2)')<br />

x exp(-x 2 - y 2 )<br />

0.5<br />

0<br />

-0.5<br />

3<br />

2<br />

1<br />

0<br />

y<br />

-1<br />

-2<br />

-3<br />

-3<br />

-2<br />

-1<br />

x<br />

0<br />

1<br />

2<br />

3<br />

43<br />

www.full-ebook.com


y<br />

<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Otros comandos interesantes <strong>para</strong> repres<strong>en</strong>tar superficies son:<br />

>>ezmesh(... , 'circ') ........................... dibuja la función correspondi<strong>en</strong>te sobre<br />

un círculo c<strong>en</strong>trado <strong>en</strong> el orig<strong>en</strong>.<br />

>>ezsurf(f) ......................................... dibuja una superficie coloreada z=f(x,y).<br />

Sus argum<strong>en</strong>tos son como <strong>en</strong> >>ezmesh.<br />

Ejercicio: Ejecutar las órd<strong>en</strong>es indicadas y observar las difer<strong>en</strong>cias:<br />

>>ezmesh('x*exp(-x^2 - y^2)','circ'), y >>ezmesh('x*exp(-x^2 - y^2)').<br />

Ejemplo 2.19 La s<strong>en</strong>t<strong>en</strong>cia <strong>para</strong> repres<strong>en</strong>tar<br />

<br />

es:<br />

>> ezsurf('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)')<br />

2.8.2 Curvas de nivel de una superficie<br />

Para repres<strong>en</strong>tar curvas de nivel pued<strong>en</strong> utilizarse los comandos:<br />

>> ezcontour(f), >> ezcontour(f,[a,b]), >>ezcontour(f,[a,b,c,d])<br />

Estos comandos dibujan las líneas de nivel (isovalores) de la función z=f(x,y). Pued<strong>en</strong><br />

ejecutarse los sigui<strong>en</strong>tes ejemplos <strong>para</strong> ir comprobando los resultados.<br />

Ejemplo: >> ezcontour('x*exp(-x^2 - y^2)')<br />

3<br />

x exp(-x 2 - y 2 )<br />

2<br />

1<br />

0<br />

-1<br />

-2<br />

-3<br />

-3 -2 -1 0 1 2 3<br />

x<br />

>>ezcontourf(. . . )…………. hace lo mismo que >>ezcontour, pero rell<strong>en</strong>ando con un<br />

color sólido las distintas zonas determinadas por las líneas de nivel.<br />

Ejemplo: >> ezcontourf('x*exp(-x^2 - y^2)')<br />

44<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

>>ezmeshc(f) ………………con los mismos argum<strong>en</strong>tos que >>ezmesh, dibuja simultáneam<strong>en</strong>te<br />

las líneas de nivel y la superficie.<br />

Ejemplo: >> ezmeshc('sin(u/2)*sin(v/2)')<br />

sin(u/2) sin(v/2)<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

6<br />

4<br />

2<br />

0<br />

v<br />

-2<br />

-4<br />

-6<br />

-6<br />

-4<br />

-2<br />

u<br />

0<br />

2<br />

4<br />

6<br />

>>ezsurfc(f)………………..como >>ezsurf pero, además, dibuja las líneas de nivel.<br />

Ejemplo: >>ezsurfc('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)')<br />

2.8.3 Curvas <strong>en</strong> el espacio<br />

Para dibujar curvas <strong>en</strong> el espacio <strong>en</strong> <strong>para</strong>métricas se ti<strong>en</strong><strong>en</strong> los comandos detallados a<br />

continuación:<br />

>> plot3(x,y,z)…………… dibuja una línea <strong>en</strong> el espacio a través de los puntos cuyas<br />

coord<strong>en</strong>adas son los elem<strong>en</strong>tos de los vectores x, y, z.<br />

Ejemplo: >>t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t, ’r’);<br />

40<br />

30<br />

20<br />

10<br />

0<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1<br />

-0.5<br />

0<br />

0.5<br />

1<br />

>>ezplot3(x,y,z), >>ezplot3(x,y,z,[a,b]) ……… donde<br />

- x , y , z son tres cad<strong>en</strong>as de caracteres cont<strong>en</strong>i<strong>en</strong>do las expresiones de tres funciones<br />

x(t) , y(t) , z(t) (por eso <strong>en</strong> la llamada de la función deb<strong>en</strong> ponerse <strong>en</strong>tre<br />

comillas simples)<br />

45<br />

www.full-ebook.com


z<br />

z<br />

<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

- dibujan la curva de ecuaciones <strong>para</strong>métricas x=x(t), y=y(t), z=z(t), <strong>para</strong> t <strong>en</strong> el<br />

intervalo [0,2], <strong>en</strong> el primer caso y <strong>para</strong> t [a,b], <strong>en</strong> el segundo.<br />

Ejemplo: >>ezplot3('3*cos(t)','2*t.*sin(t)','sqrt(t)'), ezplot3('3*cos(t)','3*t.*sin(t)','sqrt(t)')<br />

x = 3 cos(t), y = 2 t sin(t), z = sqrt(t)<br />

x = 3 cos(t), y = 3 t sin(t), z = sqrt(t)<br />

3<br />

3<br />

2.5<br />

2.5<br />

2<br />

2<br />

1.5<br />

1.5<br />

1<br />

1<br />

0.5<br />

0.5<br />

0<br />

5<br />

0<br />

y<br />

-5<br />

-10<br />

-4<br />

-2<br />

x<br />

0<br />

2<br />

4<br />

0<br />

10<br />

0<br />

y<br />

-10<br />

-20<br />

-4<br />

-2<br />

x<br />

0<br />

2<br />

4<br />

2.8.4 Superficies de revolución<br />

<strong><strong>Ma</strong>tlab</strong> ti<strong>en</strong>e implem<strong>en</strong>tadas algunas funciones <strong>para</strong> ello:<br />

<br />

<br />

Cilindro: El comando >>cylinder(R,n) g<strong>en</strong>era automáticam<strong>en</strong>te un cilindro de<br />

revolución de radio R, donde n es el número de puntos de la circunfer<strong>en</strong>cia de<br />

la base del cilindro.<br />

Si no se indica el segundo argum<strong>en</strong>to, el número n es, por defecto, 20.<br />

Esfera, Elipsoide: Exist<strong>en</strong> de forma similar al comando anterior, >>sphere,<br />

>>ellipsoid.<br />

Lo realm<strong>en</strong>te interesante de este comando >>cylinder, es que también admite radios<br />

variables R(t), donde t [a, b]. De esta forma, puede ser utilizado <strong>para</strong> obt<strong>en</strong>er las<br />

gráficas de difer<strong>en</strong>tes tipos de superficies de revolución, donde la g<strong>en</strong>eratriz es una<br />

función definida por R(t).<br />

No convi<strong>en</strong>e poner demasiados puntos a la hora de g<strong>en</strong>erar el vector, de cara a apreciar<br />

bi<strong>en</strong> el dibujo.<br />

Ejemplo 2.20 Dibujar la superficie de revolución que se obti<strong>en</strong>e al girar la curva z=e -y<br />

alrededor del eje OZ.<br />

En este caso, la función radio es r=r(z), y por lo tanto será y=-ln(z). Con lo que la<br />

ecuación de la superficie v<strong>en</strong>drá dada por:<br />

<br />

Para ello <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> se introduce:<br />

46<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

>>t=linspace(0.1,5);r=-log(t);cylinder(r)<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

-2.5<br />

-2<br />

-1.5<br />

-1<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1.5<br />

2<br />

2.5<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-2.5<br />

Figura 2.29 Superficie de revolución<br />

Superficies de revolución con respecto a cualquier eje<br />

En el supuesto de que la superficie de revolución no v<strong>en</strong>ga de girar alrededor del eje<br />

OZ, debe t<strong>en</strong>erse especial at<strong>en</strong>ción.<br />

Ejemplo 2.21 Dibujar la superficie de revolución que se obti<strong>en</strong>e al girar la curva<br />

y= , alrededor del eje OX.<br />

En este caso, la función radio es r=r(x) y por lo tanto será y= . Así, la ecuación de la<br />

superficie v<strong>en</strong>drá dada por:<br />

<br />

En <strong><strong>Ma</strong>tlab</strong> se introduc<strong>en</strong> las expresiones:<br />

>> t=linspace(-5,5);r=exp(-t);cylinder(r)<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

-150<br />

-100<br />

-50<br />

0<br />

50<br />

100<br />

150<br />

150<br />

100<br />

50<br />

0<br />

-50<br />

-100<br />

-150<br />

Figura 2.30 Superficie de revolución mostrando como eje el vertical<br />

47<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Esta no es la gráfica esperada ya que el eje de rotación debe ser el eje OX.<br />

Sin embargo, la superficie es la correcta. Simplem<strong>en</strong>te, puede interpretarse la repres<strong>en</strong>tación<br />

gráfica p<strong>en</strong>sando que, <strong>en</strong> este caso, el eje vertical es el eje OX, y girar el ord<strong>en</strong><br />

de los ejes <strong>en</strong> s<strong>en</strong>tido contrario a las agujas del reloj. Quedando:<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

EJE X<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

-150<br />

0.1<br />

0<br />

-150<br />

-100<br />

-50<br />

0<br />

50<br />

100<br />

150<br />

150<br />

100<br />

50<br />

0<br />

-50<br />

-100<br />

EJE Y<br />

EJE Z<br />

Figura 2.31 Superficie de revolución con los ejes indicados<br />

Nota: En el caso de que querer dibujar una superficie de revolución que gire con<br />

respecto al eje OX, o bi<strong>en</strong> eje OY, y obt<strong>en</strong>er una repres<strong>en</strong>tación realista <strong>en</strong> dichos<br />

ejes, debe <strong>para</strong>metrizarse la superficie.<br />

La <strong>para</strong>metrización <strong>en</strong> este caso es s<strong>en</strong>cilla, ya que simplem<strong>en</strong>te deb<strong>en</strong> <strong>para</strong>metrizarse<br />

las circunfer<strong>en</strong>cias que se obti<strong>en</strong><strong>en</strong> <strong>en</strong> el plano deseado, t<strong>en</strong>i<strong>en</strong>do <strong>en</strong><br />

cu<strong>en</strong>ta que los radios son variables, y dejar como parámetro la variable que nos<br />

da el radio.<br />

Se ilustra esto mediante el sigui<strong>en</strong>te ejemplo.<br />

Ejemplo 2.22 Dibujar la superficie de revolución que se obti<strong>en</strong>e de girar la curva y=x 2<br />

con respecto al eje OY.<br />

Se va a realizar tanto la repres<strong>en</strong>tación de la curva, como de la superficie de revolución<br />

obt<strong>en</strong>ida. Como el giro se efectúa con respecto al eje OY, la función radio es .<br />

Y la ecuación de la superficie de revolución será:<br />

<br />

En este caso, la <strong>para</strong>metrización de las circunfer<strong>en</strong>cias v<strong>en</strong>dría dada por:<br />

48<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

<br />

<br />

Puede hacerse de varias formas:<br />

Opción 1: asignar a la variable y el parámetro t (como luego es un radicando, sólo tomará<br />

valores positivos)<br />

>> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square<br />

>> 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))<br />

25<br />

Curva a girar<br />

3<br />

20<br />

2<br />

1<br />

15<br />

0<br />

10<br />

-1<br />

-2<br />

5<br />

-3<br />

0<br />

0<br />

-5 0 5<br />

1<br />

2<br />

3<br />

4<br />

5<br />

4<br />

2<br />

0<br />

-2<br />

-4<br />

Figura 2.32 Curva originaria y superficie g<strong>en</strong>erada<br />

La ori<strong>en</strong>tación de los ejes ha sido cambiada desde la v<strong>en</strong>tana gráfica, dándole a la opción<br />

de ‘Reverse’ <strong>para</strong> el eje OY. También hubiera bastado poni<strong>en</strong>do como argum<strong>en</strong>to<br />

de la variable y:<br />

>> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square<br />

>> subplot(1,2,2),t=0:.1:5;u=0:.1:2*pi;surf(sqrt(t)'*cos(u),t,sqrt(t)'*sin(u))<br />

Para elegir el color de la superficie con el comando >>surf, es sufici<strong>en</strong>te añadir un<br />

último argum<strong>en</strong>to<br />

>> surf(sqrt(t)'*cos(u),t'*ones(size(u)),sqrt(t)'*sin(u),’FaceColor’,blue’)<br />

49<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Opción 2: <strong>para</strong>metrizar de otra manera <strong>para</strong> que no haya radicales, esta vez asignar a la<br />

variable y el valor t 2 , es decir, el parámetro t es .<br />

>> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square<br />

>> subplot(1,2,2), u=0:.1:2*pi;surf(t'*cos(u),t.^2,t'*sin(u),'FaceColor','blue')<br />

25<br />

Curva a girar<br />

20<br />

5<br />

15<br />

0<br />

10<br />

5<br />

-5<br />

0<br />

10<br />

5<br />

0<br />

-5 0 5<br />

20<br />

30<br />

-5<br />

0<br />

Figura 2.33 Curva orig<strong>en</strong> y superficie de revolución obt<strong>en</strong>ida<br />

Opción 3: Con el comando >>cylinder. Este exige darle como argum<strong>en</strong>to la función<br />

radio, aunque dibujará siempre <strong>en</strong> el eje OZ. Es el interesado el que debe saber que, <strong>en</strong><br />

realidad, esa figura es <strong>en</strong> torno al eje OY -<strong>en</strong> este caso-, y <strong>en</strong> cada ejercicio elegir la<br />

rotación de ejes adecuada:<br />

>> t=0:.1:5;y=sqrt(t);cylinder(y)<br />

1<br />

0.8<br />

0.6<br />

EJE Y<br />

0.4<br />

0.2<br />

0<br />

3<br />

2<br />

1<br />

0<br />

-1<br />

-2<br />

-3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-2.5<br />

EJE X<br />

EJE Z<br />

Figura 2.34 Ejecución del comando >>cylinder<br />

50<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

2.8.5 Superficies Paramétricas<br />

Una superficie S puede ser repres<strong>en</strong>tada por una función vectorial r(u,v) = (x, y, z),<br />

donde (u,v)R uv 2 .<br />

Las ecuaciones<br />

x=x(u,v), y=y(u,v), z=z(u,v),<br />

se d<strong>en</strong>ominan ecuaciones <strong>para</strong>métricas de S.<br />

Una superficie S <strong>para</strong>metrizada por r(u,v) es suave <strong>en</strong> un punto (u 0 ,v 0 ) si dichas funciones<br />

(u,v) son continuas, ti<strong>en</strong><strong>en</strong> primeras derivadas parciales continuas <strong>en</strong> (u 0 ,v 0 ) y<br />

existe plano tang<strong>en</strong>te a S <strong>en</strong> (u 0 ,v 0 ).<br />

Si se quiere dibujar superficies expresadas <strong>en</strong> <strong>para</strong>métricas, los comandos a utilizar<br />

son:<br />

>> ezmesh(x,y,z), >> ezmesh(x,y,z,[a,b]), >>ezmesh(x,y,z,[a,b,c,d])<br />

donde<br />

- x, y, z son expresiones de funciones de dos variables<br />

- dibujan la superficie de coord<strong>en</strong>adas <strong>para</strong>métricas x=x(u,v), y=y(u,v), z=z(u,v)<br />

<strong>para</strong> (u,v) variando <strong>en</strong> el cuadrado [-2,2][-2,2] <strong>en</strong> el primer caso; <strong>en</strong> el<br />

cuadrado [a,b][a,b] <strong>en</strong> el segundo; y <strong>en</strong> el rectángulo [a,b][c,d] <strong>en</strong> el tercer<br />

caso.<br />

Ejemplo: >> ezmesh('u*cos(v)','u*sin(v)','v',[-pi,pi])<br />

z<br />

4<br />

3<br />

2<br />

1<br />

0<br />

-1<br />

-2<br />

-3<br />

-4<br />

4<br />

2<br />

0<br />

y<br />

-2<br />

-4<br />

-4<br />

-3<br />

-2<br />

-1<br />

x<br />

0<br />

1<br />

2<br />

3<br />

4<br />

Figura 2.35 Repres<strong>en</strong>tación del helicoide<br />

51<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

También puede ser usado el comando >>mesh, creando previam<strong>en</strong>te una matriz de<br />

puntos o definida por el usuario, o con >>meshgrid ya que los argum<strong>en</strong>tos deb<strong>en</strong> ser<br />

matrices de puntos (puede verse el ejemplo desarrollado <strong>en</strong> el tema de funciones de<br />

varias variables).<br />

Ejemplo 2.23 Sea el semicono de ecuación z 2 =x 2 +y 2 con z[0,1]. Parametrizar y repres<strong>en</strong>tar<br />

<strong>para</strong> los valores de z[0,1].<br />

Para realizar la <strong>para</strong>metrización, considérese que sobre planos <strong>para</strong>lelos al plano XY se<br />

ti<strong>en</strong><strong>en</strong> circunfer<strong>en</strong>cias con radio variable:<br />

x(u,v)= u*cos(v), y(u,v)=u*sin(v),<br />

Sustituy<strong>en</strong>do <strong>en</strong> la ecuación del cono, se obti<strong>en</strong>e la variable z que, <strong>en</strong> este caso, es<br />

z(u,v)= u con u[0,1], v[0,2].<br />

Las expresiones necesarias <strong>para</strong> repres<strong>en</strong>tar el semicono son:<br />

>> u=linspace(0,1,20);v=linspace(0,2*pi,20);<br />

>> [U,V]=meshgrid(u,v);<br />

>> X=U.*cos(V);Y=U.*sin(V);Z=U;<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1<br />

-0.5<br />

0<br />

0.5<br />

1<br />

Figura 2.36 Repres<strong>en</strong>tación del semicono <strong>para</strong>metrizado<br />

Ejemplo 2.24 Sea el <strong>para</strong>boloide de ecuación z=2-x 2 -y 2 con z. Parametrizar y<br />

repres<strong>en</strong>tar el trozo de <strong>para</strong>boloide con z[0,2].<br />

Para realizar la <strong>para</strong>metrización, considérese que sobre planos <strong>para</strong>lelos al plano XY se<br />

ti<strong>en</strong><strong>en</strong> circunfer<strong>en</strong>cias con radio variable<br />

x(u,v)= u*cos(v), y(u,v)=u*sin(v),<br />

52<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

Sustituy<strong>en</strong>do <strong>en</strong> la ecuación del <strong>para</strong>boloide, se obti<strong>en</strong>e la variable z que, <strong>en</strong> este caso,<br />

es z(u,v)= 2-u 2 donde u [0,1], v[0,2]. Como del ejemplo anterior ya se ti<strong>en</strong><strong>en</strong><br />

valores asignados <strong>para</strong> u y v, <strong>en</strong> este caso no hace falta volver a definirlas:<br />

>> X=U.*cos(V);Y=U.*sin(V);Z=2-U.^2;<br />

>> surf(X,Y,Z);axis([-1 1 -1 1 0 2])<br />

2<br />

1.8<br />

1.6<br />

1.4<br />

1.2<br />

1<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1<br />

-0.5<br />

0<br />

0.5<br />

1<br />

Figura 2.37 Repres<strong>en</strong>tación del <strong>para</strong>boloide<br />

Ejercicio: Indicar qué órd<strong>en</strong>es deb<strong>en</strong> darse <strong>para</strong> repres<strong>en</strong>tar conjuntam<strong>en</strong>te el semicono<br />

y el <strong>para</strong>boloide de los ejemplos anteriores y que el resultado final sea la sigui<strong>en</strong>te<br />

repres<strong>en</strong>tación:<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1<br />

-0.5<br />

0<br />

0.5<br />

1<br />

Figura 2.38 Repres<strong>en</strong>tación conjunta del semicono y <strong>para</strong>boloide<br />

53<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

2.8.6 Cambios de coord<strong>en</strong>adas a cilíndricas y esféricas y viceversa<br />

>>[TH,R,Z] = cart2pol(X,Y,Z) .............. pasa de coord<strong>en</strong>adas cartesianas a cilíndricas.<br />

>>[X,Y,Z] = pol2cart(TH,R,Z) .............. pasa de coord<strong>en</strong>adas cilíndricas a cartesianas.<br />

>>[TH,PHI,R] = cart2sph(X,Y,Z) ......... pasa de coord<strong>en</strong>adas cartesianas a esféricas.<br />

El ord<strong>en</strong> de los argum<strong>en</strong>tos de salida es: TH<br />

es el ángulo <strong>en</strong> s<strong>en</strong>tido contrario a las agujas<br />

del reloj <strong>en</strong> el plano XY, PHI es el ángulo de<br />

elevación desde el plano XY y R es el radio.<br />

>>[X,Y,Z] = sph2cart(TH,PHI,R) ......... pasa de coord<strong>en</strong>adas esféricas a cartesianas<br />

2.9 Ejercicios<br />

1.- Repres<strong>en</strong>ta las sigui<strong>en</strong>tes gráficas:<br />

a) <br />

, b) <br />

, c) <br />

,<br />

<br />

<br />

d) m(x)=log 2(x-2),<br />

e) <br />

, f) <br />

,<br />

g) <br />

2.- a) Dibujar <strong>en</strong> una sola v<strong>en</strong>tana con dos subv<strong>en</strong>tanas las funciones y = x 2 3x – 2,<br />

z = x 3 2x + 1 con x variando <strong>en</strong>tre -5 y 5 a intervalos de 0.02. <strong>Ma</strong>rcar con un ’+’ <strong>en</strong><br />

color rojo el punto (2,1) <strong>en</strong> ambas gráficas.<br />

b) Además de las anteriores, dibujar ahora 4 subv<strong>en</strong>tanas dispuestas de dos <strong>en</strong> dos<br />

de forma que <strong>en</strong> cada una de ellas se repres<strong>en</strong>t<strong>en</strong> las funciones anteriores y además,<br />

y= -x 2 + 3x + 2, z= -x 3 + 2x.<br />

c) ¿Qué se observa <strong>en</strong> las gráficas anteriores? ¿Cuáles son los coefici<strong>en</strong>tes directores<br />

de los polinomios <strong>en</strong> cada caso? ¿Qué puede decirse de los límites <strong>en</strong> el infinito sin<br />

necesidad de calcularlos?<br />

3.- Dibujar la superficie z = sin(x) + cos(y), donde x e y toman valores <strong>en</strong>tre -5 y 5 a<br />

intervalos de 0.1.<br />

4.- Dibujar la función y = x e x2 con x variando <strong>en</strong>tre -5 y 5 a intervalos de 0.05.<br />

5.- Dibuja la superficie z= , <strong>en</strong> el rectángulo [-2,2][-2,2].<br />

54<br />

www.full-ebook.com


Gráficos con <strong><strong>Ma</strong>tlab</strong><br />

6.- Dibujar <strong>en</strong> la misma v<strong>en</strong>tana las funciones , <br />

, <br />

<br />

decirse sobre la relación exist<strong>en</strong>te <strong>en</strong>tre las tres funciones?<br />

<br />

<br />

. ¿Qué puede<br />

7.- Repres<strong>en</strong>tar las sigui<strong>en</strong>tes funciones a trozos y evaluarlas <strong>en</strong> distintos valores de<br />

cada uno de los trozos. Dibujar y definir alguna de ellas de dos formas distintas:<br />

<br />

<br />

<br />

<br />

<br />

a) f(x)= , b) g(x)= <br />

<br />

<br />

8.- Indicar, desde la repres<strong>en</strong>tación gráfica, los valores de los límites más importantes<br />

de las funciones anteriores: puntos frontera, límites <strong>en</strong> los infinitos. Realizar analíticam<strong>en</strong>te<br />

con <strong><strong>Ma</strong>tlab</strong> dichos límites.<br />

9.- Repres<strong>en</strong>tar <strong>en</strong> coord<strong>en</strong>adas polares las sigui<strong>en</strong>tes curvas:<br />

a) r=cos(4), b) r=3, c) r=4cos(), d) =3/4, e) r=<br />

<br />

<br />

10.- Repres<strong>en</strong>tar las sigui<strong>en</strong>tes superficies de revolución a partir de su g<strong>en</strong>eratriz:<br />

a) Curva z=ln(y) sobre el plano XZ al girar alrededor del eje OZ.<br />

b) Curva z 2 =4y sobre el plano YZ al girar alrededor del eje OY.<br />

11.- Repres<strong>en</strong>tar los dominios de las sigui<strong>en</strong>tes funciones de dos variables:<br />

a) <br />

, b) <br />

<br />

12.- Calcular <strong>en</strong> coord<strong>en</strong>adas polares la ecuación de la Lemniscata de Bernoulli<br />

. Hacerlo defini<strong>en</strong>do la función con variables simbólicas y<br />

también defini<strong>en</strong>do la función vía inline.<br />

13.- Repres<strong>en</strong>tar las sigui<strong>en</strong>tes superficies <strong>en</strong> el intervalo indicado<br />

a) <strong>para</strong>boloide de ecuación z = 2-x 2 -y 2 con -1 z 2<br />

b) cono de ecuación x 2 +y 2 - z 2 =0 con 1 z 4<br />

c) cilindro de ecuación<br />

x y con 0 z 2.<br />

4<br />

2 2 1<br />

55<br />

www.full-ebook.com


www.full-ebook.com


3 Capítulo 3<br />

Operaciones básicas con<br />

funciones<br />

3.1 Polinomios<br />

Para trabajar con polinomios <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> se puede actuar de dos formas, bi<strong>en</strong> introducirlos<br />

como vectores, o bi<strong>en</strong> como función. Dep<strong>en</strong>di<strong>en</strong>do de cómo se trabaje con ellos, los<br />

comandos a utilizar son difer<strong>en</strong>tes.<br />

3.1.1 Polinomio introducido como vector<br />

En este caso se introduc<strong>en</strong> sólo los coefici<strong>en</strong>tes del polinomio, ord<strong>en</strong>ados desde el de<br />

mayor grado hasta el término indep<strong>en</strong>di<strong>en</strong>te, y poni<strong>en</strong>do un 0 cuando el monomio correspondi<strong>en</strong>te<br />

no aparezca. Así, aparec<strong>en</strong> tantos coefici<strong>en</strong>tes como el grado del polinomio.<br />

a) Para evaluar se usará el comando >>polyval.<br />

Ejemplo 3.1 Introducir el polinomio p=5x 4 – x 3 +2 x +1 y evaluar <strong>en</strong> x=0.<br />

>> p=[5 -1 0 2 1]<br />

>> polyval(p,0)<br />

ans =<br />

1<br />

57<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

b) Si se quiere calcular sus raíces, se empleará el comando >>roots. En el Ejemplo<br />

3.1 como se ti<strong>en</strong>e un polinomio de grado 4 con coefici<strong>en</strong>tes reales, t<strong>en</strong>drá 4<br />

raíces (tantas como el grado). Pudi<strong>en</strong>do ser 4 raíces reales, 4 complejas (conjugadas<br />

dos a dos) o dos reales y dos complejas (una y su conjugada). <strong><strong>Ma</strong>tlab</strong><br />

devuelve que <strong>para</strong> este caso las 4 raíces son complejas y por lo tanto conjugadas<br />

dos a dos:<br />

>> format rat<br />

>> roots(p)<br />

ans =<br />

1700/3047 + 367/549i<br />

1700/3047 - 367/549i<br />

-234/511 + 137/589i<br />

-234/511 - 137/589i<br />

c) Para calcular el producto o división de dos polinomios, p y q, introducidos<br />

mediante vectores, los comandos <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> son >>conv(p,q) y >>deconv(p,q),<br />

respectivam<strong>en</strong>te.<br />

3.1.2 Polinomio introducido como función<br />

Lo primero será definir la variable x como simbólica y después introducirlo de la forma<br />

habitual mediante operaciones:<br />

>> x=sym('x'); p=5*x^4-x^3+2*x+1<br />

p =<br />

5*x^4 - x^3 + 2*x + 1<br />

Destacar que si al introducirlo hubiera monomios semejantes, <strong><strong>Ma</strong>tlab</strong> ya devolverá el<br />

polinomio reduci<strong>en</strong>do esos monomios.<br />

a) Para evaluarlo, dep<strong>en</strong>de de cómo haya sido introducido. Si se ha hecho como<br />

acaba de explicarse:<br />

>> subs(p,0)<br />

ans =<br />

1<br />

Pero también podría haberse definido como una función inline, directam<strong>en</strong>te,<br />

sin declarar x como variable simbólica. En dicho caso <strong>para</strong> evaluarlo:<br />

>> p=inline('5*x^4-x*3+2*x+1')<br />

p=<br />

Inline function<br />

p(x) = 5*x^4-x*3+2*x+1<br />

>> feval(p,0)<br />

58<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

ans =<br />

1<br />

también directam<strong>en</strong>te<br />

>>p(0)<br />

ans=<br />

1<br />

b) Para calcular sus raíces se usará el comando >>solve. Las soluciones complejas<br />

las devuelve <strong>en</strong> formato decimal. Si <strong>en</strong> el comando solve no se especifica la<br />

variable, <strong><strong>Ma</strong>tlab</strong> <strong>en</strong>ti<strong>en</strong>de que la variable definida es la única variable de la<br />

función. Si hubiera varias deberá especificarse cuál de ellas es la que se desea<br />

resolver ya que sino <strong><strong>Ma</strong>tlab</strong> elige siempre la más cercana alfabéticam<strong>en</strong>te a la<br />

variable x. Si no se indica nada por defecto <strong><strong>Ma</strong>tlab</strong> sobre<strong>en</strong>ti<strong>en</strong>de que el usuario<br />

resuelve p(x)=0.<br />

>> solve(p,x)<br />

ans =<br />

0.66848752167174464637516725170716*i + 0.55792579323393509147440680377195<br />

0.55792579323393509147440680377195 - 0.66848752167174464637516725170716*i<br />

0.2325976273176772911514690533212*i - 0.45792579323393509147440680377195<br />

- 0.2325976273176772911514690533212*i - 0.45792579323393509147440680377196<br />

También podría haberse hecho directam<strong>en</strong>te, llamando al polinomio desde el<br />

argum<strong>en</strong>to. Obsérvese que <strong>en</strong> este caso dicho argum<strong>en</strong>to debe ir <strong>en</strong>tre comillas<br />

simples:<br />

>>solve('5*x^4-x^3+2*x+1')<br />

ans =<br />

0.66848752167174464637516725170716*i + 0.55792579323393509147440680377195<br />

0.55792579323393509147440680377195 - 0.66848752167174464637516725170716*i<br />

0.2325976273176772911514690533212*i - 0.45792579323393509147440680377195<br />

- 0.2325976273176772911514690533212*i - 0.45792579323393509147440680377196<br />

Nota: Si se pret<strong>en</strong>de resolver <strong>en</strong> vez p(x)=4, debe especificarse prestando<br />

at<strong>en</strong>ción a que el = <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> sólo indica asignación. Cuando se desee indicar<br />

una igualdad hay que usar el operador lógico de <strong><strong>Ma</strong>tlab</strong> ==. Es conv<strong>en</strong>i<strong>en</strong>te<br />

t<strong>en</strong>er especial cuidado aquí con las versiones de <strong><strong>Ma</strong>tlab</strong>.<br />

Por ejemplo <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> R2011a basta poner:<br />

59<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>> solve('5*x^4-x^3+2*x+1=4')<br />

ans =<br />

0.78652986718776168488859802566479<br />

-0.94832032580079086894804119425066<br />

0.87846082447569315793472841177844*i + 0.18089522930651459202972158429294<br />

0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i<br />

Pero con la versión <strong><strong>Ma</strong>tlab</strong> R2013b, <strong>en</strong>ti<strong>en</strong>de todas estas órd<strong>en</strong>es:<br />

- Variable no simbólica y polinomio simbólico:<br />

>> solve('5*x^4-x^3+2*x+1==4')<br />

ans =<br />

0.78652986718776168488859802566479<br />

-0.94832032580079086894804119425066<br />

0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i<br />

0.18089522930651459202972158429294 + 0.87846082447569315793472841177844*i<br />

<br />

>> solve('5*x^4-x^3+2*x+1=4')<br />

ans =<br />

0.78652986718776168488859802566479<br />

-0.94832032580079086894804119425066<br />

0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i<br />

0.18089522930651459202972158429294 + 0.87846082447569315793472841177844*i<br />

- Variable definida simbólica: aquí sólo admite utilizar ==<br />

>> x=sym('x');solve(p==4,x)<br />

ans =<br />

0.78652986718776168488859802566479<br />

-0.94832032580079086894804119425066<br />

0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i<br />

0.18089522930651459202972158429294 + 0.87846082447569315793472841177844*i<br />

Si dada una ecuación o un polinomio, sólo se busca que saque por pantalla las<br />

raíces reales, está la opción:<br />

>>solve(5*x^4-x^3+2*x-3, 'Real', true)<br />

Si se buscan sólo raíces positivas, pídase:<br />

>>syms x positive, solve(5*x^4-x^3+2*x-3)<br />

60<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

c) Finalm<strong>en</strong>te, <strong>para</strong> calcular productos o divisiones de polinomios, se efectúa<br />

con las operaciones habituales.<br />

El comando >>solve, lo desarrollamos <strong>en</strong> el párrafo posterior.<br />

3.2 Dominios de funciones e inecuaciones<br />

Para calcular dominios de funciones, es necesario recordar que:<br />

a) Si las funciones son polinómicas, su dominio son todos los reales. Dom(f)=.<br />

b) Funciones expon<strong>en</strong>ciales, Dom(f)=.<br />

c) Funciones racionales: f(x)= <br />

, con p(x) y q(x) polinomios. Dom(f)={x <br />

<br />

<br />

<br />

d) Funciones irracionales: f(x)= . Donde:<br />

<br />

<br />

<br />

e) Funciones logaritmo: f(x)=log(g(x)). Dom(f)= <br />

Por lo tanto, calcular dominios no es más que resolver ecuaciones o inecuaciones. Este<br />

proceso <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> se ejecuta con el comando >>solve. Para ello, la variable debe ser<br />

simbólica o introducir la función <strong>en</strong>tre comillas simples.<br />

3.2.1 Comando >>solve<br />

Este comando, que trabaja <strong>en</strong> simbólico, resuelve tanto ecuaciones, inecuaciones como<br />

sistemas. Hay que t<strong>en</strong>er cuidado cuando se quiere resolver un sistema con parámetros,<br />

<strong>en</strong> definirle todas las variables como simbólicas e indicarle quién es el parámetro:<br />

syms a u v<br />

[Sa,Su,Sv] = solve(a*u^2 + v^2,u - v == 1,a^2 - 5*a + 6) solves the three equations<br />

for a, u and v.<br />

Mi<strong>en</strong>tras que si se pide:<br />

syms a u v<br />

[Su,Sv] = solve(a*u^2 + v^2 == 0,u - v == 1) regards 'a' as a <strong>para</strong>meter and<br />

solves the two equations for u and v.<br />

Nota: También hay que prestar at<strong>en</strong>ción y pedir variables de salida cuando se resuelva<br />

un sistema con varias variables, ya que <strong><strong>Ma</strong>tlab</strong> puede devolverlas desord<strong>en</strong>adas.<br />

Esto se corrige imponi<strong>en</strong>do <strong>en</strong> la salida el ord<strong>en</strong> de las variables.<br />

61<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Si <strong>en</strong> algún mom<strong>en</strong>to al ejecutar este comando no devolviera todas las soluciones de la<br />

ecuación sino sólo una de ellas, es conv<strong>en</strong>i<strong>en</strong>te ejecutar la ord<strong>en</strong>:<br />

>>solve(ecuación,x,’IgnoreProperties’,true)<br />

Nota: Puede ocurrir que al resolver <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> una ecuación tan s<strong>en</strong>cilla como<br />

sin(x)=0, sólo devuelva una solución de todas las exist<strong>en</strong>tes:<br />

>> solve(sin(x))<br />

ans =<br />

0<br />

O incluso, si se le pide que saque las raíces positivas, devuelva una de ellas pero no<br />

la deseada:<br />

>> syms x positive, solve(sin(x))<br />

ans =<br />

2*pi<br />

Para solv<strong>en</strong>tar este problema existe el comando que se explica a continuación.<br />

3.2.2 Comando >>fzero (resolución numérica o aproximada de ecuaciones)<br />

Este hecho, que puede darse con más ecuaciones, se resuelve usando funciones que<br />

hall<strong>en</strong> las raíces de la ecuación que se <strong>en</strong>cu<strong>en</strong>tr<strong>en</strong> más próximas a un número que el<br />

usuario decida. Dicha acción la realiza el comando >>fzero.<br />

Su argum<strong>en</strong>to debe ser una función simbólica. Como segundo argum<strong>en</strong>to se introduce<br />

o bi<strong>en</strong> el punto al que la solución buscada debe acercarse; o bi<strong>en</strong> un intervalo donde se<br />

verifique el Teorema de Bolzano;es decir, la función cambie de signo <strong>en</strong> dicho intervalo<br />

y por lo tanto seguro exista solución <strong>en</strong> ese dominio especificado.<br />

Ejemplo 3.2 Para <strong>en</strong>contrar los puntos de corte de la función s<strong>en</strong>o con el eje OX, es<br />

sabido que el valor x= es uno de dichos puntos. Pero con >>solve no será detectado<br />

(por problemas de redondeo y aproximaciones internas de <strong><strong>Ma</strong>tlab</strong>). Su hallazgo v<strong>en</strong>drá<br />

forzado cuando se busqu<strong>en</strong> las soluciones más próximas, por ejemplo, a x=3, de la<br />

sigui<strong>en</strong>te forma:<br />

>> fzero('sin(x)',3)<br />

ans =<br />

3.1416<br />

También podría haberse definido vía inline o vía Anonymus:<br />

>>X = fzero(@sin,3)<br />

X=<br />

3.1416<br />

62<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

O, de otra forma, si el argum<strong>en</strong>to no es sólo la variable x:<br />

>> fzero(@(x)sin(3*x),3)<br />

ans =<br />

3.1416<br />

Ejemplo 3.3 Calcula el dominio de f x<br />

2<br />

<br />

x 1<br />

x 5x 6<br />

.<br />

Ha de verificarse que . <strong><strong>Ma</strong>tlab</strong> se <strong>en</strong>cu<strong>en</strong>tra con un inconv<strong>en</strong>i<strong>en</strong>te al pedir<br />

<br />

que lo haga directam<strong>en</strong>te:<br />

>> syms x,solve((x-1)/(x^2-5*x+6)>=0,x)<br />

ans =<br />

solve([0.0 > solve(x-1>=0,x^2-5*x+6>0)<br />

Warning: 2 equations in 1 variables.<br />

> In \\izar2\matlab\R2013b\toolbox\symbolic\symbolic\sym<strong>en</strong>gine.p>sym<strong>en</strong>gine at 56<br />

In mupad<strong>en</strong>gine.mupad<strong>en</strong>gine>mupad<strong>en</strong>gine.evalin at 97<br />

In mupad<strong>en</strong>gine.mupad<strong>en</strong>gine>mupad<strong>en</strong>gine.feval at 150<br />

In solve at 170<br />

ans =<br />

Dom::Interval([1], 2)<br />

Dom::Interval(3, Inf)<br />

Por lo tanto la solución <strong>en</strong> este primer caso vi<strong>en</strong>e dada por: [1,2)(3,)<br />

Nota: si se hubiera definido la variable como simbólica, <strong>en</strong> vez de sólo declararla,<br />

saldría directam<strong>en</strong>te (según ord<strong>en</strong>adores):<br />

>> x=sym('x');solve(x-1>=0,x^2-5*x+6>0)<br />

63<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

ans =<br />

Dom::Interval([1], 2)<br />

Dom::Interval(3, Inf)<br />

Caso II) Cuando ambos son negativos (con d<strong>en</strong>ominador distinto de cero):<br />

>> solve(x-1mupad<strong>en</strong>gine.feval at 150<br />

In solve at 170<br />

Warning: Explicit solution could not be found.<br />

> In solve at 179<br />

ans =<br />

[ empty sym ]<br />

Por lo tanto, este segundo caso no ocurre nunca. Y la solución final sería:<br />

Dom(f)= (Solución del caso I) U (Solución del caso II)= [1,2][3,) =[1,2] [3,)<br />

3.2.3 Inecuaciones con valores absolutos<br />

<strong><strong>Ma</strong>tlab</strong> no resuelve de golpe inecuaciones con valores absolutos. Se ti<strong>en</strong><strong>en</strong> que aplicar<br />

las propiedades del valor absoluto con respecto a desigualdades:<br />

|x| <br />

<br />

<br />

Ejemplo 3.4 Resuelve la sigui<strong>en</strong>te inecuación |x 2 -7x+12|> syms x, solve(abs(x^2-7*x+12)


Operaciones básicas con funciones<br />

Que evid<strong>en</strong>tem<strong>en</strong>te no son las soluciones de la inecuación. Esto ocurre porque <strong>en</strong><br />

<strong><strong>Ma</strong>tlab</strong>, <strong>para</strong> resolver inecuaciones, hay aplicar primero las propiedades y luego hacer<br />

la unión o intersección de los casos, según conv<strong>en</strong>ga. Es decir, como<br />

|x 2 -7x+12| syms x, solve(x^2-7*x+12>-2, 'Real',true)<br />

ans =<br />

R_<br />

Es decir, la solución del Caso I es x<br />

Caso II: resolver x 2 -7x+12> solve(x^2-7*x+12> p=(x-1)/(x^2-2*x+1)<br />

p =<br />

(x -1)/(x^2 - 2*x + 1)<br />

>> simplify(p)<br />

ans =<br />

1/(x - 1)<br />

Otro ejemplo: >> simplify(sin(x)^2+cos(x)^2)<br />

ans =<br />

1<br />

65<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

En ocasiones, hay expresiones que <strong><strong>Ma</strong>tlab</strong> las simplifica de forma automática. Por<br />

ejemplo si se introduc<strong>en</strong> polinomios no reducidos:<br />

>> f=x-1+2*x+5<br />

f =<br />

3*x + 4<br />

COMANDO FACTOR: devuelve el polinomio factorizado <strong>en</strong> los factores más simples<br />

posibles. También realiza operaciones devolvi<strong>en</strong>do el resultado factorizado.<br />

>> factor((x-1)*(x^2-3*x+2))<br />

ans =<br />

(x - 1)^2*(x - 2)<br />

COMANDO EXPAND: Devuelve desarrollada la expresión introducida. Muy útil <strong>para</strong><br />

recordar fórmulas de igualdades notables o de desarrollos trigonométricos.<br />

>> expand((x-1)^2)<br />

ans =<br />

x^2 - 2*x + 1<br />

O también por ejemplo:<br />

>> syms x y<br />

>> expand(sin(x+y))<br />

ans =<br />

cos(x)*sin(y) + cos(y)*sin(x)<br />

COMANDO RESIDUE: Descompone una función racional <strong>en</strong> fracciones simples. Los<br />

polinomios deb<strong>en</strong> ser introducidos como vectores. La salida son los coefici<strong>en</strong>tes de las<br />

fracciones simples, tomando las raíces <strong>en</strong> ord<strong>en</strong> decreci<strong>en</strong>te.<br />

Es importante indicar que <strong>en</strong> el caso de t<strong>en</strong>er un d<strong>en</strong>ominador q(x) cuyas raíces sean<br />

complejas, no se obti<strong>en</strong>e la descomposición de <br />

que <strong>en</strong> ocasiones se busca <strong>para</strong><br />

<br />

después integrar. <strong><strong>Ma</strong>tlab</strong> las trata como raíces o bi<strong>en</strong> simples o bi<strong>en</strong> múltiples, según<br />

sea el caso. Si se quiere obt<strong>en</strong>er algo parecido a esta descomposición, podemos aplicar<br />

los comandos >>diff(int(‘expresion’)), cuando el d<strong>en</strong>ominador es un polinomio de<br />

grado 2 con raíces complejas.<br />

66<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

Ejemplo 3.5 Calcular la descomposición <strong>en</strong> fracciones simples de<br />

>> residue([1 -1], [1 -5 6])<br />

ans =<br />

2.0000<br />

-1.0000<br />

Por lo tanto, la solución sería:<br />

Para comprobarlo:<br />

>> factor((2/(x-3))-(1/(x-2)))<br />

ans =<br />

(x - 1)/((x - 2)*(x - 3))<br />

3.4 Cálculo de límites<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Para calcular límites <strong><strong>Ma</strong>tlab</strong> trabaja con variable simbólica, el comando vi<strong>en</strong>e dado por<br />

>>limit(f,x,punto). Por ejemplo:<br />

>> syms x, limit((x-1)/(x^2-5*x+6),x,1)<br />

ans =<br />

0<br />

Para calcular límites <strong>en</strong> el infinito, hay que especificar el argum<strong>en</strong>to inf. En el ejemplo<br />

anterior, claram<strong>en</strong>te, el resultado dará 0 ya que el grado del d<strong>en</strong>ominador es mayor que<br />

el del numerador<br />

>> limit((x-1)/(x^2-5*x+6),x,inf)<br />

ans =<br />

0<br />

3.4.1 Límites laterales<br />

Si se comi<strong>en</strong>za a calcular de forma analítica el sigui<strong>en</strong>te límite, se obti<strong>en</strong>e como resultado:<br />

2<br />

x 5x4 2<br />

lim <br />

x2<br />

x 2 0<br />

Este resultado indica que primeram<strong>en</strong>te deb<strong>en</strong> calcularse sus límites laterales <strong>para</strong> ver<br />

si existe o no dicho límite - <strong>para</strong> ello ambos límites laterales deb<strong>en</strong> coincidir-. <strong><strong>Ma</strong>tlab</strong><br />

lo indicará devolvi<strong>en</strong>do como resultado NaN, es decir, está indicando que ese límite no<br />

existe:<br />

67<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>>syms x, limit((x^2-5*x+4)/(x-2),x,2)<br />

ans =<br />

NaN<br />

Para ver el por qué no existe, se calculan los límites laterales y se observa que dan<br />

resultados distintos. Por lo tanto, el límite no existirá, como bi<strong>en</strong> ha indicado <strong><strong>Ma</strong>tlab</strong>.<br />

El cálculo de los límites laterales se hace especificándolo como tercer argum<strong>en</strong>to <strong>en</strong> el<br />

comando anterior:<br />

>>limit(expression,x,punto,’Right’), o bi<strong>en</strong><br />

>>limit(expression,x,punto,’Left’).<br />

Estos argum<strong>en</strong>tos también pued<strong>en</strong> indicarse con minúsculas.<br />

>> limit((x^2-5*x+4)/(x-2),x,2,'right')<br />

ans =<br />

-Inf<br />

>> limit((x^2-5*x+4)/(x-2),x,2,'Left')<br />

ans =<br />

Inf<br />

3.4.2 Asíntotas<br />

El cálculo de las asíntotas de una función no es más que ir hallando los diversos límites<br />

<strong>en</strong> cada caso.<br />

a) Asíntotas verticales: la función f(x) ti<strong>en</strong>e una asíntota vertical <strong>en</strong> x=a, si<br />

lim f x .<br />

xa<br />

<br />

De hecho, posee A.V. (asíntota vertical) aunque el límite no exista y aunque sólo uno<br />

de los límites laterales dé infinito.<br />

Ejemplo 3.6 Hallar las asíntotas verticales de f(x)= . Repres<strong>en</strong>tar la función y la<br />

<br />

asíntota <strong>en</strong> la misma gráfica.<br />

Claram<strong>en</strong>te, el punto a estudiar es x=-1, ya que anula el d<strong>en</strong>ominador. Se com<strong>en</strong>zará<br />

hallando la asíntota:<br />

>> syms x, y=sqrt(x+2)/(x+1);limit(y,x,-1)<br />

ans =<br />

NaN<br />

68<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

Por lo tanto, se observa que no va a existir el límite. Si se hallan los límites laterales:<br />

>> limit(y,x,-1, 'Right')<br />

ans =<br />

Inf<br />

>>limit(y,x,-1, 'Left')<br />

ans =<br />

-Inf<br />

Es decir, existe una A.V. <strong>en</strong> x=-1. Para dibujar la función y la asíntota <strong>en</strong> una misma<br />

v<strong>en</strong>tana:<br />

>> x=-2:0.001:5;y=sqrt(x+2)./(x+1);plot(x,y,'b',[-1 -1],[-10 10],'k--'),axis([-2 5 -10<br />

10])<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

-2<br />

-4<br />

-6<br />

-8<br />

-10<br />

-2 -1 0 1 2 3 4 5<br />

Figura 3.1 Gráfico de función con asíntota vertical<br />

<br />

Nota: Si se dan valores a la variable x con el comando linspace, unirá con un sólo<br />

trazo las dos ramas de las figuras. Para que <strong>en</strong> principio no salga la gráfica toda<br />

unida, defínase la variable como un vector y después indíquese la asíntota de<br />

forma gráfica.<br />

Si se desea <strong>en</strong> la gráfica cambiar colores, ejes, poner una ley<strong>en</strong>da, un título o demás<br />

propiedades, recordar que puede ser realizado desde la v<strong>en</strong>tana de la gráfica, o bi<strong>en</strong> <strong>en</strong><br />

el m<strong>en</strong>ú Edit> Properties Figure; o bi<strong>en</strong> clicando <strong>en</strong> el último icono de dicha v<strong>en</strong>tana y<br />

luego con el botón derecho del ratón acceder a más propiedades.<br />

b) Asíntotas horizontales: la función f(x) ti<strong>en</strong>e una asíntota horizontal <strong>en</strong> y=b, si<br />

lim f x b .<br />

x<br />

<br />

69<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Ejemplo 3.7 Calcular las asíntotas de la función <br />

. Repres<strong>en</strong>tar dicha función<br />

e indicar todas sus asíntotas <strong>en</strong> la misma gráfica.<br />

>> syms x, y=1./log(x);limit(y,x,inf)<br />

ans =<br />

0<br />

>> limit(y,x,1)<br />

ans =<br />

NaN<br />

<br />

<br />

Por lo tanto, este límite no existe. Se comprueba con los límites laterales:<br />

>> limit(y,x,1,'right')<br />

ans =<br />

Inf<br />

>> limit(y,x,1,'left')<br />

ans =<br />

-Inf<br />

Así que existe una A.H. <strong>en</strong> y=0, y una A.V. <strong>en</strong> x=1. Para repres<strong>en</strong>tarlas:<br />

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

on,plot(x,0,'r--')<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

-1<br />

-2<br />

-3<br />

-4<br />

-5<br />

0 1 2 3 4 5 6<br />

<br />

Figura 3.2 Gráfico de función con asíntota horizontal y vertical<br />

<br />

c)Asíntotas oblicuas:Para hallar las asíntotas oblicuas, rectas de la forma y=mx+n,<br />

deb<strong>en</strong> verificarse dos propiedades:<br />

<br />

<br />

70<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

<br />

<br />

<br />

<br />

Cuando se verifiqu<strong>en</strong> estas dos propiedades, <strong>en</strong>tonces se calcula<br />

x<br />

<br />

nlimf x mx .<br />

Con lo que la ecuación de la asíntota oblicua (A.O.) será y=mx+n, con lo valores de m<br />

y n obt<strong>en</strong>idos.<br />

Observar que, por propia definición, si hay asíntotas horizontales ya no hay oblicuas y<br />

viceversa.<br />

Ejemplo 3.8 Calcular las asíntotas de la función <br />

<br />

Se estudia el punto x=2 por anular el d<strong>en</strong>ominador, candidato a ser una A.V.<br />

>> syms x, limit((x^2-1)/(x-2),x,2,'right')<br />

ans =<br />

Inf<br />

>>limit((x^2-1)/(x-2),x,2,'left')<br />

ans =<br />

-Inf<br />

Efectivam<strong>en</strong>te <strong>en</strong> x=2 existe una asíntota vertical.<br />

Si se repres<strong>en</strong>ta la función y la asíntota:<br />

>> ezplot((x^2-1)/(x-2),[-5 5]), axis([-5 5 -10 10]), hold on, y=-10:.001:10;plot(2,y,'r--')<br />

10<br />

(x 2 - 1)/(x - 2)<br />

8<br />

6<br />

4<br />

2<br />

0<br />

-2<br />

-4<br />

-6<br />

-8<br />

-10<br />

-5 -4 -3 -2 -1 0 1 2 3 4 5<br />

x<br />

En el dibujo ya se ha destacado la A.V. x=2, pero también se observa que existe una<br />

asíntota oblicua que va a ser calculada:<br />

<br />

71<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>> limit((x^2-1)/(x-2),x,inf)<br />

ans =<br />

Inf<br />

Por lo tanto, se cumple la primera condición <strong>para</strong> que haya A.O. Hay que verificar<br />

ahora si m <br />

>> m=limit((x^2-1)/(x*(x-2)),x,inf)<br />

m =<br />

1<br />

>> n=limit(((x^2-1)/(x-2))-x,x,inf)<br />

n =<br />

2<br />

Concluy<strong>en</strong>do que existe A.O., <strong>en</strong> la recta y=x+2. Para repres<strong>en</strong>tar todo <strong>en</strong> una sola<br />

gráfica:<br />

>>syms x, ezplot((x^2-1)/(x-2),[-5 5]), axis([-5 5 -10 15]), hold on ;<br />

>>y=-10:.001:15;plot(2,y,'r--')<br />

>> hold on,ezplot(x+2,[-5 5]), axis([-5 5 -10 15])<br />

15<br />

10<br />

5<br />

0<br />

-5<br />

-10<br />

-5 -4 -3 -2 -1 0 1 2 3 4 5<br />

x<br />

Figura 3.3 Gráfico de función con asíntota oblicua y vertical<br />

<br />

3.4.3 Límites de funciones a trozos<br />

Hasta el mom<strong>en</strong>to <strong><strong>Ma</strong>tlab</strong> no calcula de forma directa límites de funciones a trozos,<br />

debe irse seleccionando, <strong>en</strong> cada caso, el trozo de función <strong>en</strong> el que se está trabajando<br />

según dónde se quiera calcular el límite.<br />

Ejemplo 3.9 Dada la función<br />

2<br />

x 1,x1<br />

<br />

f x 1 , 1 x3<br />

<br />

x 1 ,x 3<br />

, averigua si es continua o no.<br />

Primero, observar que el Dom(f)=. Además, como <strong>en</strong> cada uno de los trozos es continua,<br />

por ser funciones polinómicas, basta estudiar qué ocurre <strong>en</strong> los puntos frontera<br />

x=1,3.<br />

72<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

Se introduce la función <strong>en</strong> <strong><strong>Ma</strong>tlab</strong>, vía inline o vía Anonymus:<br />

>> f=inline('(x.^2).*(x


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Así, la función f es continua <strong>en</strong> .<br />

3.5 Números Complejos<br />

Para trabajar con z, <strong><strong>Ma</strong>tlab</strong> proporciona las sigui<strong>en</strong>tes posibilidades.<br />

<br />

Primero el usuario puede construir un número complejo con el comando<br />

>>complex(a,b), si<strong>en</strong>do a,b<br />

>> format rat<br />

>> complex(2,-3)<br />

ans =<br />

2 - 3i<br />

Con esta ord<strong>en</strong>, ans pasa a ser ya un número complejo, no real, como puede comprobarse<br />

con el sigui<strong>en</strong>te comando lógico (la respuesta de este tipo de comandos es 1 si la<br />

com<strong>para</strong>ción es cierta, y 0 si la com<strong>para</strong>ción es falsa):<br />

>> isreal(ans)<br />

ans =<br />

0<br />

<br />

Para calcular sus partes reales e imaginarias, <strong><strong>Ma</strong>tlab</strong> posee los comandos<br />

>>reale>>imag, respectivam<strong>en</strong>te:<br />

>> z=complex(2,-3)<br />

z =<br />

2 - 3i<br />

>> real(z)<br />

ans =<br />

2<br />

>> imag(z)<br />

ans =<br />

-3<br />

<br />

Para operar con números complejos puede hacerse con las operaciones habituales.<br />

Ejemplo 3.10 Calcular 1 i<br />

.<br />

2<br />

3i<br />

>> z1=complex(1,1)<br />

z1 =<br />

1 + 1i<br />

74<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

>> z1/z<br />

ans =<br />

-1/13 + 5/13i<br />

O incluso directam<strong>en</strong>te:<br />

>> (1+i)/(2-3*i)<br />

ans =<br />

-1/13 + 5/13i<br />

<br />

Para hallar el complejo conjugado, se ti<strong>en</strong>e el comando>>conj:<br />

>> conj(z)<br />

ans =<br />

2 + 3i<br />

<br />

Y <strong>para</strong> hallar su módulo y argum<strong>en</strong>to, si se pret<strong>en</strong>de expresarlo <strong>en</strong> forma polar,<br />

expon<strong>en</strong>cial o trigonométrica, será>>abs,>>angle, respectivam<strong>en</strong>te:<br />

>> format short,abs(z)<br />

ans =<br />

3.6056<br />

Observar que este valor corresponde a:<br />

>> sqrt(13)<br />

ans =<br />

3.6056<br />

Nota: angle nos devuelve el ángulo <strong>en</strong> radianes, ya <strong>en</strong> el cuadrante adecuado. Si<br />

el argum<strong>en</strong>to de un número complejo, se calculase mediante <br />

, este<br />

<br />

comando devuelve el ángulo <strong>en</strong> radianes <strong>en</strong> el primer cuadrante, si la tang<strong>en</strong>te es<br />

positiva; y el ángulo <strong>en</strong> el cuarto cuadrante –medido <strong>en</strong> s<strong>en</strong>tido negativo-, si la<br />

tang<strong>en</strong>te es negativa. Si<strong>en</strong>do el usuario el que deberá seleccionar el ángulo adecuado,<br />

según la repres<strong>en</strong>tación del número complejo.<br />

<br />

Para calcular raíces, de forma directa <strong><strong>Ma</strong>tlab</strong> sólo averigua una de ellas.<br />

>> z^(1/4)<br />

ans =<br />

1.3366 - 0.3352i<br />

Para obt<strong>en</strong>erlas todas, se puede pasar el número complejo de forma binómica a forma<br />

expon<strong>en</strong>cial, y trabajar con la expresión de un número complejo <strong>en</strong> forma expon<strong>en</strong>cial:<br />

75<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

z=|z|e iArg(z) . Ahora basta operar así el número complejo, acordándose de que <strong>en</strong> <strong><strong>Ma</strong>tlab</strong><br />

el número e debe ser definido mediante<br />

>>e=exp(1)<br />

Finalm<strong>en</strong>te, la fórmula <strong>para</strong> calcular raíces n-ésimas de un número complejo,<br />

z=|z|e iArg(z) , dado <strong>en</strong> forma expon<strong>en</strong>cial, quedaría resuelta con:<br />

>> w=nthroot(abs(z),n)*exp(i*(angle(z)+2*pi*k)/n) con n dato y k=0, …, n-1<br />

Donde el comando >>nthroot(X,N), si<strong>en</strong>do X un número real y N el índice de la raíz,<br />

calcula las raíces N-ésimas del número real X.<br />

Ejemplo 3.11 Cálculo de las 4 raíces cuartas de z=2-3i<br />

>> z_0=(abs(z)^(1/4))*exp(i*angle(z)/4)<br />

>> z_1=(abs(z)^(1/4))*exp(i*(angle(z)+2*pi)/4)<br />

>> z_2=z_1*exp(i*2*pi/4)<br />

>> z_3=z_2*exp(i*2*pi/4)<br />

Estos resultados pued<strong>en</strong> obt<strong>en</strong>erse directam<strong>en</strong>te con la fórmula:<br />

>> z=2-3*i;N=4;k=0:N-1;w=nthroot(abs(z),N)*exp(i*(angle(z)+2*pi*k)/N)<br />

w =<br />

1.3366 - 0.3352i 0.3352 + 1.3366i -1.3366 + 0.3352i -0.3352 - 1.3366i<br />

<br />

Para pasar un número complejo a su forma polar (o viceversa). Dadas las<br />

coord<strong>en</strong>adas cartesianas también puede efectuarse (además de calculando su<br />

módulo y argum<strong>en</strong>to por se<strong>para</strong>do), con el comando<br />

>>[t,m]=cart2pol(a,b)<br />

Cabe t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta que el ángulo lo devuelve <strong>en</strong> radianes y que devolverá el Argum<strong>en</strong>to<br />

principal. Por lo que, según el afijo del número complejo, debe elegirse el ángulo<br />

adecuado correspondi<strong>en</strong>te al cuadrante <strong>en</strong> el que se <strong>en</strong>cu<strong>en</strong>tre.<br />

Para pasar de polares a cartesianas, se realiza con el comando:<br />

>>[a,b]=pol2cart(m,t)<br />

<br />

Para repres<strong>en</strong>tar el número complejo como un vector <strong>en</strong> el plano se ti<strong>en</strong>e el<br />

comando<br />

76<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

>>compass(z) % si<strong>en</strong>do z=a+bi<br />

o también como >>compass(real(z),imag(z))<br />

Si lo que se quiere es repres<strong>en</strong>tar sólo el afijo del número complejo z:<br />

>>plot(z,’o’)<br />

Ejemplo 3.12 Repres<strong>en</strong>ta los sigui<strong>en</strong>tes números complejos z1=2+2i y z2=3-2i.<br />

Para repres<strong>en</strong>tarlos <strong>en</strong> una misma v<strong>en</strong>tana, usando la sintaxis indicada anteriorm<strong>en</strong>te,<br />

introducir<br />

>> z1=2+2i; compass(z1); hold on; compass(3,-2)<br />

De donde se obti<strong>en</strong>e<br />

150<br />

120<br />

90 3<br />

2<br />

1<br />

60<br />

30<br />

180 0<br />

210<br />

330<br />

240 300<br />

270<br />

Figura 3.4 Repres<strong>en</strong>tación usando >>compass<br />

Aunque este comando permite ir más allá, ya que directam<strong>en</strong>te repres<strong>en</strong>ta todas las<br />

raíces obt<strong>en</strong>idas de un número complejo. Retomando el Ejemplo3.11, si se quiere repres<strong>en</strong>tar<br />

las raíces cuartas de z=2-3i, cuyo resultado estaba <strong>en</strong> la variable w, se escribe:<br />

>> compass(w)<br />

120<br />

90<br />

1.5<br />

60<br />

1<br />

150<br />

0.5<br />

30<br />

180 0<br />

210<br />

330<br />

240<br />

270<br />

300<br />

77<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Ejemplo 3.13 Se pide<br />

(a) Dados los números complejos z 1 =2+3i, z 2 =-3+i, repres<strong>en</strong>tar <strong>en</strong> color azul los afijos<br />

de z 1 y z 2 ; <strong>en</strong> color rojo el afijo de z 1 + z 2 ; y <strong>en</strong> verde el afijo de i z 1 .<br />

(b) Dado z 9, repres<strong>en</strong>tar el triángulo cuyos vértices son los afijos de las raíces<br />

cúbicas de z. Comprobar que el triángulo es equilátero.<br />

(c) Repres<strong>en</strong>tar, <strong>en</strong> una misma figura, el triángulo del apartado (b) y el triángulo girado<br />

un ángulo cualquiera.<br />

a) >>z_1=2+3*i;<br />

>>z_2=-3+i;<br />

>>suma=z_1+z_2;giro=i*z_1;<br />

>>plot(z_1, 'ob')<br />

>>text(real(z_1)+0.2,imag(z_1), 'z1') %indicamos las coord<strong>en</strong>adas donde<br />

ponemos el texto<br />

>>hold on<br />

>>plot(z_2, 'ob')<br />

>>text(real(z_2)+0.2,imag(z_2),'z2')<br />

>>plot(suma, 'or')<br />

>>text(real(suma)+0.2,imag(suma),'z1+z2')<br />

>>plot(giro, 'og')<br />

>>xlabel('real')<br />

>>ylabel('imaginario')<br />

>>puntos=[0 z_1 suma z_2 0];<br />

>>plot(real(puntos), imag(puntos), 'b')<br />

>>vector1=[0 suma];<br />

>>plot(real(vector1),imag(vector1),'r')<br />

>>vector2=[0 giro];<br />

>>plot(real(vector2), imag(vector2), 'g')<br />

>>axis equal -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2<br />

<br />

Figura 3.5 Repres<strong>en</strong>tación del polígono cuyos vértices son los afijos <br />

<br />

78<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

b) >> z=-9; % Cálculo de las 3 raíces cúbicas por nuestra cu<strong>en</strong>ta<br />

>>z_0=(abs(z)^(1/3))*exp(i*angle(z)/3);<br />

>>z_1=(abs(z)^(1/3))*exp(i*(angle(z)+2*pi)/3);<br />

>>z_2=z_1*exp(i*2*pi/3);<br />

>>% Repres<strong>en</strong>tación del triángulo<br />

>>vertices=[z_0 z_1 z_2 z_0];<br />

>>plot(real(vertices),imag(vertices), 'g')<br />

Es interesante comprobar que se ha obt<strong>en</strong>ido un triángulo equilátero, calculando<br />

la medida de cada uno de los lados, ejecutar <strong>para</strong> ello<br />

>>lado1=abs(vertices(1)-vertices(2)),lado2=abs(vertices(2)-vertices(3))<br />

>>lado3=abs(vertices(3)-vertices(1))<br />

c) Repres<strong>en</strong>tación <strong>en</strong> la misma figura del triángulo girado<br />

>>hold on<br />

>>anguloGiro=pi/4;<br />

>>verticesGirados=vertices*exp(i*anguloGiro);<br />

>>plot(real(verticesGirados),imag(verticesGirados), 'r')<br />

Figura 3.6 Repres<strong>en</strong>tación de las raíces cúbicas y del giro efectuado<br />

3.6 Derivadas<br />

Para derivar <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> se utiliza el comando<br />

>>diff<br />

el cual trabaja <strong>en</strong> simbólico. Si no fuera así, <strong><strong>Ma</strong>tlab</strong> lo que hace es calcular derivación<br />

numérica mediante difer<strong>en</strong>cias finitas, que no es objeto de estudio de este libro. Por<br />

79<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

eso, <strong>para</strong> hallar derivadas de funciones, se definirá previam<strong>en</strong>te como simbólica aquella<br />

variable con respecto a la cual se quiere derivar la función.<br />

Si se acude a la ayuda del comando que proporciona <strong><strong>Ma</strong>tlab</strong> <strong>para</strong> derivación simbólica,<br />

se <strong>en</strong>cu<strong>en</strong>tra:<br />

diff(S,'v') or diff(S,sym('v')) differ<strong>en</strong>tiates S with respect to v.<br />

diff(S,n), for a positive integer n, differ<strong>en</strong>tiates S n times.<br />

diff(S,'v',n) and diff(S,n,'v') are also acceptable.<br />

diff(S,'v1','v2',...) or diff(S,sym('v1'),sym('v2'),...) differ<strong>en</strong>tiates S with respect to v1, v2, ...<br />

Así, se ve cómo ir obt<strong>en</strong>i<strong>en</strong>do las derivadas sucesivas, sin más que indicar el ord<strong>en</strong> de<br />

derivación <strong>en</strong> el segundo o tercer argum<strong>en</strong>to.<br />

3.6.1 Funciones de 1 variable<br />

Cuando sólo se trabaja con una variable, no hace falta indicarla <strong>para</strong> obt<strong>en</strong>er la derivada.<br />

2<br />

Ejemplo 3.14 Obt<strong>en</strong>er la primera y segunda derivada de f x x<br />

Para obt<strong>en</strong>er la primera derivada:<br />

>> syms x, diff(sqrt(x^2+1))<br />

1<br />

ans =<br />

x/(x^2 + 1)^(1/2)<br />

>> pretty(ans) …………………….. (aquí no queda tan bi<strong>en</strong> por el formato <strong>en</strong> papel)<br />

x<br />

-----------<br />

2 1/2<br />

(x + 1)<br />

Para obt<strong>en</strong>er la derivada de ord<strong>en</strong> 2:<br />

>> diff(sqrt(x^2+1),2)<br />

ans =<br />

1/(x^2 + 1)^(1/2) - x^2/(x^2 + 1)^(3/2)<br />

80<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

>> pretty(ans)<br />

2<br />

1 x<br />

----------- - -----------<br />

2 1/2 2 3/2<br />

(x + 1) (x + 1)<br />

Finalm<strong>en</strong>te, <strong>para</strong> poner esta operación más simplificada, se pide a <strong><strong>Ma</strong>tlab</strong> que realice la<br />

suma de fracciones algebraicas:<br />

>> factor(ans)<br />

ans =<br />

1/(x^2 + 1)^(3/2)<br />

3.6.2 Funciones de varias variables<br />

En el caso de varias variables sí que debe especificarse con respecto a qué variable se<br />

deriva, obt<strong>en</strong>i<strong>en</strong>do con ello las derivadas parciales. Es decir, las derivadas con respecto<br />

a las variables de los ejes. Aunque se desarrollará con más profundidad <strong>en</strong> el capítulo<br />

de funciones de varias variables, se ilustra aquí un ejemplo.<br />

Ejemplo 3.15 Hallar las derivadas parciales de la función f (x,y)=3x 2 -y 2 +6.<br />

Hallar <br />

<br />

>>syms x y, f=3*x^2-y^2-6; diff(f,x)<br />

ans =<br />

6*x<br />

Hállese ahora <br />

<br />

>> f=3*x^2-y^2-6; diff(f,y)<br />

ans =<br />

- 2*y<br />

3.7 Integración<br />

Al igual que <strong>para</strong> la parte de derivación, <strong>en</strong> integración se procede a c<strong>en</strong>trarse <strong>en</strong> el<br />

caso simbólico. El comando exist<strong>en</strong>te es:<br />

>>int<br />

Si de nuevo se accede a la ayuda de <strong><strong>Ma</strong>tlab</strong> <strong>para</strong> integración simbólica:<br />

81<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

int(S,v) is the indefinite integral of S with respect to v. v is a scalar SYM.<br />

int(S,a,b) is the definite integral of S with respect to its symbolic variable from a to b.<br />

a and b are each double or symbolic scalars.<br />

The integration interval can also be specified using a row or a column vector<br />

with two elem<strong>en</strong>ts, i.e., valid calls are also int(S,[a,b]) or int(S,[a b]) and<br />

int(S,[a;b]).<br />

int(S,v,a,b) is the definite integral of S with respect to v from a to b.<br />

The integration interval can also be specified using a row or a column vector<br />

with two elem<strong>en</strong>ts, i.e., valid calls are also int(S,v,[a,b]) or int(S,v,[a b]) and<br />

int(S,v,[a;b]).<br />

3.7.1 Integrales impropias<br />

Destacar que <strong>en</strong> este caso, además de las integrales impropias de primera y segunda<br />

especie y las integrales mixtas, puede ocurrir que se quiera calcular la integral con el<br />

‘Valor principal de Cauchy’.<br />

Para integrales impropias de 1ª especie, el Valor Principal de Cauchy se define como:<br />

<br />

<br />

<br />

<br />

<br />

Y <strong>para</strong> el caso de una integral impropia de 2ª especie, con problemas <strong>en</strong> el punto<br />

x=b[a,c], el Valor principal de Cauchy sería<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Si esto es así, debe indicársele a <strong><strong>Ma</strong>tlab</strong> d<strong>en</strong>tro del comando >>int, mediante el sigui<strong>en</strong>te<br />

argum<strong>en</strong>to extra:<br />

>>int(...,'PrincipalValue',VAL)<br />

Los valores que toma la variable VAL son true o false, si<strong>en</strong>do este último el que se<br />

toma por defecto cuando no se indica nada.<br />

En cualquiera de los otros casos, <strong><strong>Ma</strong>tlab</strong> calcula directam<strong>en</strong>te las integrales impropias<br />

sin hallar su valor principal.<br />

82<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

Ejemplo 3.16 Sea la función<br />

f<br />

x<br />

<br />

2<br />

, calcular las sigui<strong>en</strong>tes integrales:<br />

x 1<br />

<br />

<br />

2<br />

<br />

x 1 dx ,<br />

3<br />

2<br />

<br />

x 1 dx ,<br />

1<br />

0<br />

<br />

1<br />

2<br />

x 1 dx <br />

Para calcular la integral indefinida<br />

>> syms x,int(2/(x+1),x)<br />

ans =<br />

2*log(x + 1)<br />

Para calcular la integral definida<br />

3<br />

1<br />

<br />

2<br />

x 1 dx , introducir<br />

2<br />

<br />

x 1 dx :<br />

>> int(2/(x+1),x,1,3)<br />

ans =<br />

log(4)<br />

Si ahora se pide como uno de los extremos de integración el valor x=-1,<br />

0<br />

2<br />

<br />

x 1 dx se<br />

pasa a t<strong>en</strong>er una integral impropia de 2ª especie, ya que la función no está definida <strong>en</strong><br />

ese punto. <strong><strong>Ma</strong>tlab</strong> lo calcula de forma directa, dando una integral impropia diverg<strong>en</strong>te:<br />

>> int(2/(x+1),x,-1,0)<br />

ans =<br />

Inf<br />

2<br />

Ejemplo 3.17 Hallar la integral impropia de 1ª especie dx .<br />

2<br />

1<br />

x<br />

De nuevo, <strong><strong>Ma</strong>tlab</strong> directam<strong>en</strong>te calcula la integral, sea o no impropia. En este caso, la<br />

integral impropia es converg<strong>en</strong>te<br />

>> int(1/(1+x^2),x,1,inf)<br />

ans =<br />

pi/4<br />

<br />

1<br />

1<br />

83<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

3.7.2 Cálculo de áreas<br />

Para calcular áreas, <strong><strong>Ma</strong>tlab</strong> permite repres<strong>en</strong>tar el recinto que queda <strong>en</strong>cerrado <strong>en</strong>tre<br />

una curva y el eje OX. Para ello, <strong>en</strong> las pestañas de PLOTS, se ti<strong>en</strong>e el icono de la barra<br />

de herrami<strong>en</strong>tas de area:<br />

Figura 3.7 Imag<strong>en</strong> de <strong><strong>Ma</strong>tlab</strong> del icono area<br />

A continuación, se introduce la función de la que se quiere calcular el área, t<strong>en</strong>i<strong>en</strong>do<br />

cuidado de que al ser repres<strong>en</strong>tada, no puede definirse de forma simbólica. Al darle al<br />

icono, <strong><strong>Ma</strong>tlab</strong> pone la ord<strong>en</strong> <strong>en</strong> la v<strong>en</strong>tana Command Window de forma automática.<br />

Ejemplo 3.18 Calcular el área <strong>en</strong>cerrada <strong>en</strong>tre la curva sinusoidal y=sin(x) y el eje OX<br />

con x[-2,2].<br />

Primero se va a hacer una repres<strong>en</strong>tación gráfica del área solicitada, usando las instrucciones<br />

anteriores.<br />

>> x=linspace(0,2*pi,1000); y=sin(x);axis([0 2*pi -1 1])<br />

>> area(y)<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

-1<br />

100 200 300 400 500 600 700 800 900 1000<br />

Figura 3.8 Área <strong>en</strong>cerrada<br />

84<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

Para calcular el área <strong>en</strong>cerrada, debe se<strong>para</strong>rse <strong>en</strong> dos integrales, ya que el segundo<br />

trozo da una aportación negativa. Para ello, si es necesario, primero calcular los puntos<br />

de corte con los ejes mediante el comando >>solve o con >>fzero ya explicados. En<br />

este caso, como ya son conocidos se calculan de golpe las integrales:<br />

>> syms x, y=sin(x); S=int(y,x,0,pi)+abs(int(y,x,pi,2*pi))<br />

S =<br />

4<br />

3.8 Ejercicios<br />

1.- Hallar el dominio de las sigui<strong>en</strong>tes funciones. Hallar también sus asíntotas:<br />

a) <br />

, b) <br />

, c) <br />

, d) <br />

<br />

2.- Repres<strong>en</strong>tar las sigui<strong>en</strong>tes gráficas:<br />

a) <br />

, b) <br />

, c) <br />

,<br />

<br />

<br />

d) j(x)=log 2(x-2),<br />

e) <br />

,<br />

f) <br />

, h) <br />

<br />

<br />

3.- a) En cada apartado del ejercicio anterior, calcular todas las asíntotas de las funciones<br />

y dibujarlas <strong>en</strong> las gráficas ya obt<strong>en</strong>idas.<br />

b) Observando las gráficas anteriores, indicar el dominio de cada apartado. Después<br />

calcularlo también analíticam<strong>en</strong>te.<br />

c) Observando las gráficas nuevam<strong>en</strong>te y sin necesidad de calcularlos, indicar los<br />

límites <strong>en</strong> los infinitos y <strong>en</strong> los puntos sigui<strong>en</strong>tes -según el apartado que se indica-: x=-<br />

1 a); x=1,-3 b); x=-1,3 c); x=2 d),; x=2 e); x=1 f) y finalm<strong>en</strong>te, <strong>para</strong> el apartado g) <strong>en</strong><br />

x=1, 2.<br />

4.- Indicar la expresión <strong>para</strong> repres<strong>en</strong>tar las sigui<strong>en</strong>tes funciones, introdúcelas y represéntalas<br />

gráficam<strong>en</strong>te:<br />

85<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

a)<br />

1<br />

x<br />

e si x<br />

4 2 1<br />

f(x) <br />

4 sin( 2x ) si 1 x 20<br />

4x<br />

2<br />

<br />

si x 0<br />

x 1<br />

<br />

2<br />

x 2<br />

b) f( x) si 0 x3<br />

2<br />

x x6<br />

tag x<br />

si x 3<br />

<br />

<br />

5.- Realizar con <strong><strong>Ma</strong>tlab</strong> las sigui<strong>en</strong>tes operaciones algebraicas. Simplificar siempre que<br />

sea necesario. Obt<strong>en</strong>er factorizados los resultados y, cuando se pueda, hallar el valor<br />

numérico:<br />

3<br />

x 3x2<br />

a)<br />

,<br />

2<br />

x<br />

4x<br />

3<br />

<br />

3<br />

<br />

4<br />

b) 2 <br />

<br />

<br />

6<br />

<br />

2<br />

<br />

21<br />

12<br />

c)<br />

s<strong>en</strong>( 2x )<br />

<br />

2<br />

tg( x )( 1<br />

s<strong>en</strong> x )<br />

, d)<br />

<br />

<br />

<br />

5<br />

elne 4 (e 1)<br />

e<br />

4<br />

<br />

e<br />

Soluciones: a) <br />

, b)0, c)2, d)<br />

<br />

6.- Dada la función y=s<strong>en</strong>(x). Evaluar dicha función <strong>para</strong> x=, /2, 0, /4, -/3.<br />

7.- Calcular los sigui<strong>en</strong>tes límites:<br />

1 2x<br />

<br />

a) lim <br />

x2<br />

x<br />

2 <br />

2 x 4 <br />

3<br />

x 3x2<br />

c) lim <br />

x1<br />

3 <br />

x x2<br />

<br />

1<br />

2<br />

x 4<br />

<br />

b) lim <br />

x2<br />

x x2<br />

x<br />

d) lim<br />

x 0<br />

1 1x<br />

2<br />

3x<br />

2x16<br />

2<br />

2<br />

x 3x2<br />

2x s<strong>en</strong>( x )<br />

e) lim <br />

f) lim<br />

x2<br />

x 2<br />

x0<br />

<br />

x s<strong>en</strong>( x )<br />

2 1<br />

x sin x <br />

g) lim x 2x4 2x 2<br />

h) lim<br />

x<br />

x0<br />

sin x<br />

2<br />

x1<br />

x 3 <br />

ln( 1 x ) sin x<br />

i) lim<br />

lim<br />

x<br />

2<br />

x 2<br />

<br />

j)<br />

<br />

x0<br />

xsinx<br />

m) lim f x<br />

x0<br />

si<strong>en</strong>do<br />

f<br />

x<br />

1<br />

xe x 2<br />

<br />

<br />

2x<br />

1<br />

<br />

2<br />

x x2<br />

<br />

x 1<br />

,x 0<br />

,x 0<br />

<br />

<br />

<br />

<br />

<br />

8.- Resolver las ecuaciones:<br />

a) x 6 -1 =0 b) tag x 2 1 c) s<strong>en</strong> x = -1/2 x[0,2]<br />

86<br />

www.full-ebook.com


Operaciones básicas con funciones<br />

9.- Hallar el conjunto de valores de x <strong>para</strong> los que se verifican las sigui<strong>en</strong>tes desigualdades<br />

a) 1 3 5<br />

x<br />

2x<br />

b)<br />

2 1<br />

x x<br />

3 x2x1<br />

x 1<br />

c) d) 0<br />

2<br />

x 2 3x<br />

1<br />

5 x<br />

x 1 d) 1<br />

e) | x+2| < | x-5| f ) -3 x-5 2 g) x 2 -2x -3 >0<br />

x 2<br />

10.- Resolver la ecuación e z =z 0 , <strong>para</strong> los valores de z 0 =-2,1+ y 1.<br />

11.- Calcular las sigui<strong>en</strong>tes raíces complejas y repres<strong>en</strong>tarlas:<br />

<br />

<br />

a) , b) , c) , d) <br />

<br />

12.- Dados los números z 1 =2-i, z 2 = 4 , z 3 = 3cos isin<br />

<br />

4 4<br />

, realizar las operaciones<br />

que se indican a continuación expresando el resultado <strong>en</strong> forma binómica.<br />

4<br />

(i) z 1 z 2 (ii) z 3 + z 2 (iii) z<br />

2<br />

(iv) z (v)<br />

3<br />

3<br />

z<br />

3<br />

x<br />

e x si x0<br />

<br />

f x bx x<br />

<br />

2 si 0 x 10<br />

x <br />

función sea continua <strong>en</strong> x=0.<br />

13.- Dada la función <br />

2<br />

. Obt<strong>en</strong>er b <strong>para</strong> que la<br />

14.- Estudiar qué valor (o valores) debe tomar el parámetro a <strong>para</strong> que la sigui<strong>en</strong>te<br />

función sea continua <strong>en</strong> su dominio de definición<br />

s<strong>en</strong>x a cos x si x 0<br />

f x <br />

2xa 2 2 si x0<br />

15.- Calcular las derivadas obt<strong>en</strong>i<strong>en</strong>do la expresión más simplificada posible<br />

a) f x<br />

16.- Sea <br />

e<br />

x<br />

x1<br />

b) c) f x <br />

x 2 5x6Lnx<br />

3<br />

3<br />

x 1<br />

f x<br />

Ln x 1<br />

f x x<br />

x 1<br />

x 1<br />

. Analizar:<br />

a) Dominio y asíntotas.<br />

b) Repres<strong>en</strong>tar <strong>en</strong> la misma gráfica la función y las asíntotas.<br />

17.- Hallar los extremos relativos de f(x)= <br />

87<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

18.- Para las sigui<strong>en</strong>tes funciones indicar: intervalos de crecimi<strong>en</strong>to, decrecimi<strong>en</strong>to,<br />

concavidad o convexidad y obt<strong>en</strong>er, <strong>en</strong> caso de existir, máximos, mínimos y los<br />

puntos de inflexión.<br />

a) f(x)= x 3 – 3x 2 – 3x + 4<br />

b) f(x) = x 4 – 6x 3 +11x 2 –6x<br />

c) f(x) = x 3 – 6x 2 + 5x + 6<br />

19.- Hallar las derivadas de las sigui<strong>en</strong>tes funciones<br />

a) f x<br />

e<br />

x<br />

x1<br />

b) <br />

c) f x <br />

x 2 5x6Lnx<br />

3<br />

3<br />

x 1<br />

f x<br />

Ln x 1<br />

20.- Calcular las sigui<strong>en</strong>tes integrales:<br />

2<br />

a) x arctg( x ) dx b) 1<br />

dx<br />

2<br />

4x<br />

x<br />

c) 1 s<strong>en</strong>(x)cos(x)dx<br />

d)<br />

cos 2 ( 3x )dx e) arctg( 2x )dx f)<br />

x<br />

x<br />

2<br />

2<br />

1<br />

dx<br />

1<br />

3<br />

g) x 1<br />

<br />

e<br />

1<br />

Lnx dx<br />

21.- Hallar el área de la figura que queda <strong>en</strong>tre las curvas y=-x+1, y=ln(x+2),<br />

y= <br />

, cuando x . Repres<strong>en</strong>tar la figura y sombrear el área pedida.<br />

22.- Sea f(x) =(x-1) e -x . Calcular el área de la región limitada por la curva f(x) y el eje<br />

OX <strong>en</strong> el intervalo [1, e].<br />

23.- Calcular el área <strong>en</strong>cerrada <strong>en</strong>tre las gráficas de las funciones f(x)=x 2 +4 ,<br />

g(x)= -x 2 +6.<br />

24.- Dada la función f x<br />

x 1<br />

,x 1<br />

<br />

2<br />

1<br />

x<br />

<br />

xarctgx ,x<br />

1<br />

. Calcular f <br />

0<br />

3<br />

x dx .<br />

x 1<br />

25.- Dada la curva la curva y , calcular el valor del parámetro b (con b>3) de<br />

2<br />

x 4<br />

manera que <strong>en</strong> la región limitada por la gráfica de la curva, el eje de abscisas y<br />

4<br />

las recta x=3, x=b, el área sea Ln b 2 3<br />

.<br />

88<br />

www.full-ebook.com


4 Capítulo 4<br />

Funciones de varias variables.<br />

Ecuaciones difer<strong>en</strong>ciales<br />

4.1 Derivación de funciones de varias variables<br />

El comando <strong>para</strong> hallar las derivadas parciales sigue si<strong>en</strong>do >>diff, pero aquí sí que<br />

debe ser especificado con respecto a qué variable se deriva, obt<strong>en</strong>i<strong>en</strong>do así las derivadas<br />

parciales. Es decir, las derivadas con respecto a las variables de los ejes. Destacar<br />

que se deb<strong>en</strong> definir todas las variables como simbólicas.<br />

Ejemplo 4.1 Hallar las derivadas parciales de la función f (x,y)=x 2 +y 2 -1. Dibujarla.<br />

f<br />

Para hallar<br />

x<br />

>>syms x y, f=x^2+y^2-1; diff(f,x)<br />

ans =<br />

2*x<br />

f<br />

Ahora se calcula<br />

y<br />

>> f=x^2+y^2-1; diff(f,y)<br />

ans =<br />

2*y<br />

Para repres<strong>en</strong>tarla: >>ezplot(x^2+y^2-1, [-2 2])), o bi<strong>en</strong> >>ezplot(f,[-2 2])<br />

89<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

2<br />

x 2 + y 2 - 1<br />

1.5<br />

1<br />

0.5<br />

y<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2<br />

x<br />

Para calcular derivadas parciales sucesivas, hay que indicar como argum<strong>en</strong>tos las variables<br />

con respecto a las cuales se quiere ir derivando y esto ya dice el ord<strong>en</strong> de derivación.<br />

>>diff(f,var1,var2,...)<br />

Ejemplo 4.2 Hallar las primeras y segundas derivadas parciales de f(x,y)=x 2 y 2 +xy-3x+2y.<br />

>>syms x y, f=x^2*y^2+x*y-3*x+2*y;<br />

>> diff(f,x)<br />

ans =<br />

2*x*y^2 + y – 3<br />

<br />

Se obti<strong>en</strong>e, =2xy2 +y-3<br />

>> diff(f,y)<br />

ans =<br />

2*y*x^2 + x + 2<br />

<br />

Se obti<strong>en</strong>e, =2yx2 +x-2<br />

>> diff(f,y,x)<br />

ans =<br />

4*x*y + 1<br />

<br />

Se obti<strong>en</strong>e,<br />

<br />

(x,y)=4xy+1<br />

<br />

>> diff(f,y,y)<br />

ans =<br />

2*x^2<br />

90<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

Se obti<strong>en</strong>e, <br />

(x,y)=2x2<br />

>> diff(f,x,y)<br />

ans =<br />

4*x*y + 1<br />

Se obti<strong>en</strong>e, <br />

(x,y)=4xy+1. Con lo que se observa que se verifica el Teorema de Schwartz,<br />

coincidi<strong>en</strong>do las derivadas cruzadas por t<strong>en</strong>er una función continua con deriva-<br />

<br />

das parciales continuas.<br />

>> diff(f,x,x)<br />

ans =<br />

2*y^2<br />

Y finalm<strong>en</strong>te se obti<strong>en</strong>e, <br />

(x,y)=2x2 .<br />

En las sigui<strong>en</strong>tes subsecciones se van a ver los comandos que <strong><strong>Ma</strong>tlab</strong> posee <strong>para</strong> calcular<br />

directam<strong>en</strong>te el Jacobiano, vector gradiante y Hessiano, donde el cálculo de las<br />

derivadas de órd<strong>en</strong>es superiores lo hará de forma directa.<br />

4.2 Vector gradi<strong>en</strong>te<br />

Dada una función de varias variables, por ejemplo f(x,y,z), se puede hallar directam<strong>en</strong>te<br />

con <strong><strong>Ma</strong>tlab</strong> su vector gradi<strong>en</strong>te. Para calcular este vector, formado por las primeras<br />

derivadas de la función con respecto a cada una de las variables, sería<br />

>> G = gradi<strong>en</strong>t(f,v)<br />

El cual devuelve <strong>en</strong> G el vector gradi<strong>en</strong>te de la función f, derivando con respecto a<br />

cada una de las variables indicadas <strong>en</strong> el vector v.<br />

Ejemplo 4.3 Sea la función f(x,y,z)= xy + 2zx. Hallar su vector gradi<strong>en</strong>te, <br />

f <br />

>> syms x y z; gradi<strong>en</strong>t(x*y + 2*z*x, [x, y, z])<br />

ans=<br />

[y + 2*z; x; 2*x]<br />

4.3 <strong>Ma</strong>triz Jacobiana y Jacobiano<br />

La matriz Jacobiana es la matriz formada por las primeras derivadas parciales de la<br />

función. El Jacobiano es el determinante de la matriz Jacobiana.<br />

91<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Si se desea hallar el Jacobiano del cambio de coord<strong>en</strong>adas cartesianas a polares, y de la<br />

transformación de cartesianas a cilíndricas de forma analítica, sería respectivam<strong>en</strong>te:<br />

J(r,)=<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

=r,<br />

J(r,)=<br />

Para pasar de coord<strong>en</strong>adas cartesianas a esféricas: J(,,)= <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

El comando <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> <strong>para</strong> calcular el Jacobiano es >>jacobian<br />

<br />

<br />

<br />

<br />

<br />

<br />

=r<br />

<br />

<br />

<br />

<br />

<br />

<br />

=<br />

<br />

s<strong>en</strong>(<br />

>> jacobian(f,v) computes the Jacobian of the scalar or vector f with respect to the vector<br />

v.<br />

The (i,j)-th <strong>en</strong>try of the result is df(i)/dv(j).<br />

Note that wh<strong>en</strong> f is scalar, the Jacobian of f is the gradi<strong>en</strong>t of f. Also, note that<br />

scalar v is allowed, although this is just DIFF(f,v).<br />

Example:<br />

syms x y z u v; jacobian([x*y*z; y; x+z],[x y z])<br />

returns [y*z, x*z, x*y; 0, 1, 0; 1, 0, 1]<br />

jacobian(u*exp(v),[u;v])<br />

returns [exp(v), u*exp(v)]<br />

Puede comprobarse con este comando, que los Jacobianos de los cambios de coord<strong>en</strong>adas<br />

cartesianas a polares, a cilíndricas y finalm<strong>en</strong>te a esféricas sal<strong>en</strong> los expuestos arriba.<br />

4.4 <strong>Ma</strong>triz Hessiana y Hessiano<br />

La matriz Hessiana está formada por las derivadas de ord<strong>en</strong> 2 de la función z=f (x,y).<br />

La matriz Hessiana, vi<strong>en</strong>e definida por:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

92<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

Y <strong>en</strong> g<strong>en</strong>eral, si se trabaja con una función de n-variables (x 1 ,x 2 , …,x n ), su definición<br />

sería:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Además, como se ha citado anteriorm<strong>en</strong>te, <strong>para</strong> funciones continuas con derivadas<br />

parciales continuas se verifica el Teorema de Schwartz. Este tipo de funciones son las<br />

que van a manejarse, por lo tanto siempre se cumple:<br />

<br />

<br />

<br />

Esta propiedad da lugar a que la matriz Hessiana sea una matriz simétrica, es decir,<br />

.<br />

Aunque <strong>en</strong> este libro se trabaja con funciones de dos variables, este comando es válido<br />

<strong>para</strong> cualquier número de variables, siempre que estas sean indicadas como segundo<br />

argum<strong>en</strong>to del comando >>hessian:<br />

>> help hessian<br />

--- help for sym/hessian ---<br />

hessian Hessian matrix.<br />

hessian(f,x) computes the Hessian of the scalar f with respect<br />

to the vector x. The (i,j)-th <strong>en</strong>try of the resulting matrix is<br />

(d^2f/(dx(i)dx(j)). Note that scalar x is allowed although this<br />

is just DIFF(f,x,2).<br />

Example:<br />

syms x y z; hessian(x*y + 2*z*x, [x, y, z])<br />

returns [0, 1, 2; 1, 0, 0; 2, 0, 0]<br />

Ejemplo 4.4 Calcular la matriz hessiana y el hessiano de la función f (x,y)= 2x 2 +y 2 +8x-<br />

6y+20.<br />

>> syms x y,hessian(2*x^2+y^2+8*x-6*y+20,[x,y])<br />

ans =<br />

[ 4, 0]<br />

[ 0, 2]<br />

93<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Por lo tanto, . Y <strong>para</strong> calcular su determinante, es decir, el hessiano:<br />

<br />

>> det(ans)<br />

ans =<br />

8<br />

Con lo que <br />

En este ejercicio, ha salido que el hessiano de esta función es siempre un valor constante<br />

y no dep<strong>en</strong>de, por tanto, del punto donde es evaluado. Pero esto no es siempre así,<br />

y la matriz hessiana puede dep<strong>en</strong>der de variables: . En ese caso, primero<br />

se calculará el hessiano <strong>en</strong> g<strong>en</strong>eral y luego ya se evaluará <strong>en</strong> el punto que interese.<br />

Ejemplo 4.5 Calcular el hessiano <strong>en</strong> el punto (0,1) de la función f(x,y)= x 2 +y 2 sin(xy).<br />

Primero se halla la matriz hessiana:<br />

>>syms x y, A=hessian(x^2+y^2*sin(x*y),[x,y])<br />

A=<br />

[ 2 - y^4*sin(x*y), 3*y^2*cos(x*y) - x*y^3*sin(x*y)]<br />

[ 3*y^2*cos(x*y) - x*y^3*sin(x*y), 2*sin(x*y) + 4*x*y*cos(x*y) - x^2*y^2*sin(x*y)]<br />

Es decir,<br />

<br />

<br />

<br />

.<br />

Para calcular el hessiano con <strong><strong>Ma</strong>tlab</strong>:<br />

a) Sustituir el punto <strong>en</strong> la matriz hessiana y luego calcular el determinante. Para<br />

sustituir <strong>en</strong> una variable simbólica dos variables, como es <strong>en</strong> este caso, indicar<br />

las variables viejas y las nuevas:<br />

>> subs(A,{x,y},{0,1})<br />

ans =<br />

[ 2, 3]<br />

[ 3, 0]<br />

>> det(ans)<br />

ans =<br />

-9<br />

b) O bi<strong>en</strong> calcular primero el determinante y sustituir ahí el punto:<br />

>> det(A)<br />

94<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

ans =<br />

4*sin(x*y) - 9*y^4*cos(x*y)^2 - 2*y^4*sin(x*y)^2 + 8*x*y*cos(x*y) -<br />

2*x^2*y^2*sin(x*y) + 2*x*y^5*cos(x*y)*sin(x*y)<br />

>> subs(ans,{x,y},{0,1})<br />

ans =<br />

-9<br />

Nota: <strong>en</strong> el caso de poseer muchos puntos a evaluar, se explica una forma rápida<br />

de evaluar <strong>en</strong> el sigui<strong>en</strong>te ejemplo.<br />

4.5 Puntos críticos de funciones de varias variables<br />

Para hallar los puntos críticos (máximos y mínimos relativos y puntos silla o puntos de<br />

inflexión), debe cumplirse la condición de:<br />

<br />

Esto es equival<strong>en</strong>te a resolver el sistema formado por las derivadas parciales:<br />

<br />

<br />

<br />

<br />

<br />

<br />

Los puntos (a,b) que son solución del sistema (no necesariam<strong>en</strong>te lineal y resoluble<br />

mediante el comando >>solve) serán los puntos críticos. Para clasificarlos, hay que<br />

t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta el sigui<strong>en</strong>te criterio:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Ejemplo 4.6 Hallar y clasificar los puntos críticos de f(x,y)=xy(1-x 2 -y 2 ).<br />

Primero, se calcula el vector gradi<strong>en</strong>te, pero se va a pedir a <strong><strong>Ma</strong>tlab</strong> que lo devuelva <strong>en</strong><br />

su expresión más simplificada:<br />

>> syms x y,simplify(gradi<strong>en</strong>t(x*y*(1-x^2-y^2),[x,y]))<br />

ans =<br />

-y*(3*x^2 + y^2 - 1)<br />

-x*(x^2 + 3*y^2 - 1)<br />

95<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Al resolver , mediante el comando solve, es conv<strong>en</strong>i<strong>en</strong>te pedir argum<strong>en</strong>tos<br />

de salida, <strong>para</strong> que así se obt<strong>en</strong>gan las dos coord<strong>en</strong>adas de las soluciones, ya guardadas<br />

<strong>en</strong> sus respectivas variables:<br />

>> [S1,S2]=solve(-y*(3*x^2 + y^2 - 1),-x*(x^2 + 3*y^2 - 1))<br />

S1 =<br />

0<br />

1<br />

0<br />

-1<br />

0<br />

1/2<br />

-1/2<br />

1/2<br />

-1/2<br />

S2 =<br />

0<br />

0<br />

1<br />

0<br />

-1<br />

1/2<br />

1/2<br />

-1/2<br />

-1/2<br />

Es decir, se <strong>en</strong>cu<strong>en</strong>tran 9 posibles puntos, donde <strong>en</strong> S1 se han colocado las opciones de<br />

la variable x mi<strong>en</strong>tras que <strong>en</strong> S2 están las de la variable y. Los puntos críticos a clasificar<br />

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

clasificarlos, se calcula el hessiano y se evalúa <strong>en</strong> estos puntos:<br />

>> HESI=det(hessian(x*y*(1-x^2-y^2),[x,y]))<br />

HESI =<br />

- 9*x^4 + 18*x^2*y^2 + 6*x^2 - 9*y^4 + 6*y^2 – 1<br />

96<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

>> p1=subs(HESI,{x,y},{0,0})<br />

p1 =<br />

-1<br />

Por lo tanto, como al sustituir el punto (0,0) el hessiano es m<strong>en</strong>or que 0, esto asegura<br />

que:<br />

(0,0) es un PUNTO SILLA<br />

Puede ir haciéndose así, uno por uno, o construir una s<strong>en</strong>t<strong>en</strong>cia donde los vaya evaluando<br />

todos, indicando el vector formado por los valores de la variable x y el vector de<br />

las coord<strong>en</strong>adas de la variable y:<br />

>> determinanteevaluado=subs(HESI, {x,y},{[0,1,0,-1,0,1/2,-1/2,1/2,-1/2],[0,0,1,0,-<br />

1,1/2,1/2,-1/2,-1/2]})<br />

O mejor y más abreviado, ya que los vectores de ambas variables son S1 y S2:<br />

>> determinanteevaluado=subs(HESI, {x,y},{S1,S2})<br />

Obt<strong>en</strong>i<strong>en</strong>do, <strong>en</strong> ambos casos, como salida:<br />

determinanteevaluado =<br />

[-1, -4, -4, -4, -4, 2, 2, 2, 2]<br />

Ahora ya pued<strong>en</strong> clasificarse todos los puntos, observando que:<br />

PUNTOS SILLA: (0,0),(1,0),(0,1),(-1,0),(0,-1)<br />

Los demás puntos son máximos o mínimos relativos, al t<strong>en</strong>er hessiano positivo. Para<br />

saber si son máximos o mínimos, hay que estudiar el signo de <br />

<br />

<br />

<br />

>> matriz=hessian(x*y*(1-x^2-y^2),[x,y]);<br />

>>deri2x=[subs(matriz(1,1),{x,y},{1/2,1/2}),subs(matriz(1,1),{x,y},{-<br />

1/2,1/2}),subs(matriz(1,1),{x,y},{1/2,-1/2}),subs(matriz(1,1),{x,y},{-1/2,-1/2})]<br />

deri2x =<br />

[-3/2 , 3/2, 3/2, -3/2]<br />

Esta instrucción puede hacerse con un solo >>subs, como anteriorm<strong>en</strong>te, optimizando<br />

el l<strong>en</strong>guaje de comandos:<br />

>> deri2x=subs(matriz(1,1),{x,y},{[1/2,-1/2,1/2,-1/2],[1/2,1/2,-1/2,-1/2]})<br />

deri2x =<br />

[ -3/2, 3/2, 3/2, -3/2]<br />

<br />

97<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Así:<br />

Máximos relativos: (1/2,1/2), (-1/2,-1/2)<br />

Mínimos relativos: (-1/2,1/2), (1/2,-1/2)<br />

Formato tabla: Para una mejor visualización, ilustramos lo obt<strong>en</strong>ido mediante una tabla.<br />

Para ello, se va a usar el comando >>table que trabaja con datos numéricos. Así<br />

que lo primero es convertir los datos que son simbólicos (por haber sido obt<strong>en</strong>idos<br />

mediante el comando >>subs) <strong>en</strong> numéricos:<br />

>> compon<strong>en</strong>tes=double([S1,S2])<br />

compon<strong>en</strong>tes =<br />

0 0<br />

1.0000 0<br />

0 1.0000<br />

-1.0000 0<br />

0 -1.0000<br />

0.5000 0.5000<br />

-0.5000 0.5000<br />

0.5000 -0.5000<br />

-0.5000 -0.5000<br />

>> determinante=double(determinanteevaluado)<br />

determinante =<br />

-1<br />

-4<br />

-4<br />

-4<br />

-4<br />

2<br />

2<br />

2<br />

2<br />

>> segundaderivadax=double(deri2x)<br />

segundaderivadax =<br />

0<br />

0<br />

0<br />

0<br />

0<br />

-1.5000<br />

1.5000<br />

1.5000<br />

-1.5000<br />

98<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

>> Analisis=table(compon<strong>en</strong>tes,determinante,segundaderivadax)<br />

Analisis =<br />

compon<strong>en</strong>tes determinante segundaderivadax<br />

_______________ ____________ _______________<br />

0 0 -1 0<br />

1 0 -4 0<br />

0 1 -4 0<br />

-1 0 -4 0<br />

0 -1 -4 0<br />

0.5 0.5 2 -1.5<br />

-0.5 0.5 2 1.5<br />

0.5 -0.5 2 1.5<br />

-0.5 -0.5 2 -1.5<br />

Evid<strong>en</strong>tem<strong>en</strong>te de la columna de segundaderivadax sólo interesan los datos correspondi<strong>en</strong>tes<br />

a los puntos con determinante positivo <strong>para</strong> discernir si son mínimos o<br />

máximos. Y ya, desde la tabla, se puede clasificar:<br />

Puntos silla: (0,0),(1,0),(0,1),(-1,0),(0,-1)<br />

Máximos relativos: (1/2,1/2), (-1/2,-1/2)<br />

Mínimos relativos: (-1/2,1/2), (1/2,-1/2)<br />

4.6 Integración de funciones de varias variables<br />

Siempre que se pueda aplicar el Teorema de Fubini, el cálculo de integrales múltiples<br />

consistirá <strong>en</strong> realizar las integrales de forma iterada, indicando <strong>en</strong> cada caso la variable<br />

respecto a la cual estamos integrando. De nuevo el comando a emplear es >>int.<br />

Se describ<strong>en</strong> varios ejemplos <strong>para</strong> ilustrar este apartado.<br />

Ejemplo 4.7 Calcular la sigui<strong>en</strong>te integral<br />

integración.<br />

1 1<br />

<br />

0 x<br />

e<br />

2<br />

y<br />

dydx. Repres<strong>en</strong>tar el dominio de<br />

Analíticam<strong>en</strong>te, como la función no ti<strong>en</strong>e primitiva con respecto a la variable y, no<br />

se podría hallar esta integral. Sin embargo, esto no resulta ser un problema <strong>para</strong><br />

<strong><strong>Ma</strong>tlab</strong>, que cambiando el ord<strong>en</strong> de integración por su cu<strong>en</strong>ta, calcula la integral:<br />

>> syms x y, int(int(exp(y^2),y,x,1),x,0,1)<br />

ans =<br />

exp(1)/2 - ½<br />

99<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Para repres<strong>en</strong>tar el dominio de integración, al ser un triángulo de vértices (0,0), (0,1) y<br />

(1,1), bastará con:<br />

>> x=[0,1,0];y=[0,1,1]; % Vértices del triángulo<br />

>> fill(x,y,'b'),xlabel('x fijo', 'Fontsize',11),text(0.6,0.5,'y=x'), title('Dominio de integración'),<br />

axis square<br />

1<br />

Dominio de integración<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

y=x<br />

Figura 4.1 Rell<strong>en</strong>o de figuras y dominio de integración<br />

2 2<br />

Ejemplo 4.8 Hallar la integral 1<br />

circunfer<strong>en</strong>cia x 2 +y 2 =4.<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

0 0.2 0.4 0.6 0.8 1<br />

x fijo<br />

D<br />

x y dA, donde D es el disco limitado por la<br />

Para ello, se realiza un cambio a polares tanto de la función como del recinto. No olvidar<br />

añadir el Jacobiano de la transformación a la hora de integrar. La función quedaría:<br />

>>syms x y r theta, f=inline('x^2+y^2+1')<br />

f =<br />

Inline function:<br />

f(x,y) = x^2+y^2+1<br />

>> F=simplify(f(r*sin(theta),r*cos(theta)))<br />

F =<br />

r^2 + 1<br />

Y <strong>para</strong> cambiar a polares el recinto:<br />

>> g=x^2+y^2-4;D1=simplify(subs(g,{x,y},{r*cos(theta),r*sin(theta)}))<br />

D1 =<br />

r^2 – 4<br />

100<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

Si se calcula la integral <strong>en</strong> el recinto, las variables toman valores <strong>en</strong>tre r[0,2] y<br />

[0,2]. Es decir:<br />

<br />

<br />

Por ello con <strong><strong>Ma</strong>tlab</strong>:<br />

>> int(int(r*F,r,0,2),theta,0,2*pi)<br />

ans =<br />

12*pi<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Ejemplo 4.9 Hallar el volum<strong>en</strong> del sólido situado <strong>en</strong> el primer cuadrante y compr<strong>en</strong>dido<br />

<strong>en</strong>tre el plano OX, el plano z=y y el cilindro x 2 +y 2 =1.<br />

1º.- Antes que nada, es conv<strong>en</strong>i<strong>en</strong>te repres<strong>en</strong>tar el sólido y el dominio de integración,<br />

parte importante de este tipo de ejercicios <strong>para</strong> conocer así dónde se muev<strong>en</strong> las variables.<br />

Se pued<strong>en</strong> rotar las figuras desde la propia v<strong>en</strong>tana gráfica con el icono adecuado<br />

(segunda figura). Además, si se rotan puede verse la figura desde arriba y así observar<br />

qué curva queda como intersección de ambas superficies.<br />

Se va a utilizar el comando >>cylinder <strong>para</strong> la repres<strong>en</strong>tación<br />

>> syms y, cylinder(1,100),hold on,<br />

ezsurf(y,[-3,3])<br />

Figura 4.2 Cilindro y plano desde dos puntos de vista<br />

También puede dibujarse el cilindro <strong>en</strong> <strong>para</strong>métricas, tomando, por ejemplo, altura 3.<br />

El cilindro ti<strong>en</strong>e de ecuación r=1 y considérese altura 3 <strong>para</strong> repres<strong>en</strong>tarlo. Usando el<br />

comando >>plot3 o el comando >>mesh, quedaría respectivam<strong>en</strong>te:<br />

101<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>>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)<br />

)*u; plot3(x,y,z),hold on<br />

>>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)<br />

)*u; mesh(x,y,z),hold on<br />

3<br />

3<br />

2.5<br />

2.5<br />

2<br />

2<br />

1.5<br />

1.5<br />

1<br />

1<br />

0.5<br />

0.5<br />

0<br />

1<br />

0<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1<br />

-0.5<br />

0<br />

0.5<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1<br />

-0.5<br />

0<br />

0.5<br />

1<br />

Figura 4.3 Repres<strong>en</strong>tación usando >>plot<br />

Figura 4.4 Repres<strong>en</strong>tación usando >>mesh<br />

Se dibujará el plano <strong>en</strong> la segunda gráfica, por t<strong>en</strong>er una malla más clara (rotando la<br />

figura <strong>para</strong> obt<strong>en</strong>er una mejor visión):<br />

>>[x,y]=meshgrid(0:.1:2);z=y;mesh(x,y,z),box on,xlabel('Eje X'),ylabel('Eje Y'),zlabel('Eje<br />

Z')<br />

3<br />

2.5<br />

2<br />

Eje Z<br />

1.5<br />

1<br />

0.5<br />

0<br />

-1 -0.5 0 0.5 1 1.5 2<br />

Eje Y<br />

2<br />

1<br />

0<br />

Eje X<br />

-1<br />

2º.- Obt<strong>en</strong>er el dominio de integración<br />

Claram<strong>en</strong>te la función a integrar es z=y que es la tapa del sólido.<br />

En este ejemplo hay que restringirse al primer cuadrante. Primeram<strong>en</strong>te, se calculará la<br />

proyección sobre el plano XY. Todo esto puede hacerse con <strong><strong>Ma</strong>tlab</strong>, siempre que se<br />

t<strong>en</strong>ga <strong>en</strong> cu<strong>en</strong>ta que, al estar d<strong>en</strong>tro del cilindro x 2 +y 2 =1 y <strong>en</strong> el primer cuadrante, hay<br />

que despejar y quedarse con el caso y= , con x[0,1]. Quedando el dominio de<br />

integración:<br />

102<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

>> x=[0:.1:1];y=sqrt(1-x.^2);area(x,y),leg<strong>en</strong>d('Dominio de integración'),axis square<br />

Desde la v<strong>en</strong>tana gráfica, se puede manipular la figura <strong>para</strong> insertar cuadro de texto:<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

Dominio de integración<br />

y=sqrt(1-x 2 )<br />

Figura 4.5 Dominio de integración<br />

3º.- Calcular la integral que halla el volum<strong>en</strong>; es decir: <br />

<br />

Aplicando Fubini se realiza la integral iterada <br />

>> syms x y, V=int(int(y,y,0,sqrt(1-x^2)),x,0,1)<br />

V =<br />

1/3 (u 3 o u.d.v.)<br />

4.7 Ecuaciones difer<strong>en</strong>ciales<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

0 0.2 0.4 0.6 0.8 1<br />

<br />

<br />

:<br />

El comando que resuelve ecuaciones difer<strong>en</strong>ciales es: >>dsolve<br />

Nota: En el caso de que <strong><strong>Ma</strong>tlab</strong> no <strong>en</strong>cu<strong>en</strong>tre una solución analítica explícita, el<br />

paquete proporciona una solución implícita, dando un m<strong>en</strong>saje de aviso.<br />

Al igual que ocurre con el comando >>solve, el comando >>dsolve también trabaja<br />

con argum<strong>en</strong>tos simbólicos.<br />

Por defecto toma como variable t, pero la variable puede ser cambiada especificándola<br />

>> syms y(t), dsolve(diff(y)==t)<br />

ans =<br />

t^2/2 + C2<br />

Pued<strong>en</strong> pedirse condiciones iniciales, t<strong>en</strong>i<strong>en</strong>do así un P.V.I. (Problema del Valor Inicial):<br />

103<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>> syms y(t),dsolve(diff(y)==t, y(0)==1)<br />

ans =<br />

t^2/2 + 1<br />

Si se desea resolver ecuaciones difer<strong>en</strong>ciales donde los coefici<strong>en</strong>tes sean parámetros,<br />

deb<strong>en</strong> declararse dichos parámetros como simbólicos; y <strong>en</strong> la llamada al comando introducir,<br />

como argum<strong>en</strong>to, la nueva variable indep<strong>en</strong>di<strong>en</strong>te (por ejemplo, si ahora la<br />

variable fuera x):<br />

>> syms a y(t), y=dsolve(diff(y)==a*y,y(0)==1,'x')<br />

y =<br />

exp(a*x)<br />

Ejemplo 4.10 Resolver la sigui<strong>en</strong>te ecuación difer<strong>en</strong>cial: y (x 2 +1)e y - (2x 2 +1) (1+e y ) =0.<br />

Como, <strong>en</strong> este caso, la variable indep<strong>en</strong>di<strong>en</strong>te es x, puede ejecutarse de dos formas. O<br />

bi<strong>en</strong>:<br />

>> syms y(t), dsolve(diff(y)==(2*x^2+1)*(1+exp(y))/((x^2+1)*exp(y)),'x')<br />

ans =<br />

log(exp(C5 + 2*x - atan(x)) - 1)<br />

pi*i<br />

O bi<strong>en</strong>, indicando desde el principio que y=y(x) con:<br />

>> syms y(x), dsolve(diff(y)==(2*x^2+1)*(1+exp(y))/((x^2+1)*exp(y)))<br />

ans =<br />

log(exp(C5 + 2*x - atan(x)) - 1)<br />

pi*i<br />

Nota: De forma similar al comando >>solve, puede ocurrir que, al resolver una<br />

EDO, se obt<strong>en</strong>ga una sola solución, aun sabi<strong>en</strong>do que exist<strong>en</strong> más. En ese caso<br />

se introducirá un argum<strong>en</strong>to adicional, 'IgnoreAnalyticConstraints', indicando<br />

como argum<strong>en</strong>to último: false<br />

Ejemplo 4.11 Resuelve la ecuación difer<strong>en</strong>cial y t y<br />

t .<br />

Evid<strong>en</strong>tem<strong>en</strong>te, esta ecuación puede ser vista como y’(t)=y 2 (t). Y resolverla mediante<br />

variables se<strong>para</strong>das de la forma <br />

<br />

. Por lo tanto, la solución sería .<br />

<br />

Despejando la función y(t), <strong>para</strong> dar la solución de forma explícita, se t<strong>en</strong>drá: y(t)= <br />

. <br />

104<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

Si se resuelve directam<strong>en</strong>te con <strong><strong>Ma</strong>tlab</strong>, sale un solo resultado, lo que indica que la<br />

solución no es correcta del todo pues una EDO sin condiciones iniciales t<strong>en</strong>drá infinitas<br />

soluciones. De hecho, la solución <strong>en</strong>contrada es la trivial,:<br />

>> syms y(t),dsolve(sqrt(diff(y))==y)<br />

ans =<br />

0<br />

Por ello se exigirá:<br />

>> syms y(t),dsolve(sqrt(diff(y))==y,'IgnoreAnalyticConstraints', false)<br />

Warning: The solutions are subject to the following conditions:<br />

(C13 + t)*(1/(C13 + t)^2)^(1/2) = -1<br />

> In dsolve at 219<br />

ans =<br />

-1/(C13 + t)<br />

4.7.1 Sistemas de EDO’s<br />

Este comando también resuelve sistemas de EDO’s sin más que indicarle las ecuaciones<br />

a resolver. Eso sí, <strong>en</strong> últimas versiones de <strong><strong>Ma</strong>tlab</strong>, se le debe introducir como argum<strong>en</strong>tos<br />

de salida tantas funciones solución como se busqu<strong>en</strong>, <strong>para</strong> obt<strong>en</strong>erlas todas:<br />

f t 2<br />

f t f<br />

Ejemplo 4.12 Resolver el sistema sigui<strong>en</strong>te <br />

g t t y<br />

Si se escribe directam<strong>en</strong>te la ord<strong>en</strong>, que funcionaba <strong>en</strong> anteriores versiones:<br />

>> syms f(t) g(t), S=dsolve(diff(f)-2*f==t*f,diff(g)==t+g)<br />

S =<br />

g: [1x1 sym]<br />

f: [1x1 sym]<br />

Y no devuelve, <strong>en</strong> verdad, las soluciones buscadas. Por ello, se pedirá <strong>en</strong> el argum<strong>en</strong>to<br />

de salida dos funciones:<br />

>> syms f(t) g(t), [Sf,Sg]=dsolve(diff(f)-2*f==t*f,diff(g)==t+g)<br />

Sf =<br />

C4*exp((t*(t + 4))/2)<br />

Sg =<br />

exp(t)*(C5 - exp(-t)*(t + 1))<br />

<br />

105<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

4.7.2 Métodos numéricos <strong>para</strong> la resolución de EDO’s<br />

En muchas ocasiones no es posible resolver, de forma analítica, una ecuación difer<strong>en</strong>cial,<br />

y es por ello que hay que recurrir al uso de métodos numéricos.<br />

<strong><strong>Ma</strong>tlab</strong> también ti<strong>en</strong>e implem<strong>en</strong>tados métodos numéricos <strong>para</strong> resolver ecuaciones<br />

difer<strong>en</strong>ciales. Para ver más información sobre ellos basta ir, con >>helpwin, a la sección<br />

de matlab\funfun donde se indicarán los comandos que exist<strong>en</strong> <strong>para</strong> resolver, de<br />

forma numérica, ODE’s (Ordinary Differ<strong>en</strong>tial Equations).<br />

Por ejemplo, si se pret<strong>en</strong>de aplicar los métodos de Runge-Kutta de órd<strong>en</strong>es 2 o 3, o de<br />

órd<strong>en</strong>es 4 o 5, exist<strong>en</strong> respectivam<strong>en</strong>te los sigui<strong>en</strong>tes comandos:<br />

>> ode23, >> ode45<br />

>>[x y]=ode45(función, intervalo, condición inicial y0)<br />

Salvo que se modifiqu<strong>en</strong> los argum<strong>en</strong>tos (mirar la ayuda de <strong><strong>Ma</strong>tlab</strong> <strong>para</strong> este comando,<br />

>>help ode23), trabaja con tolerancia relativa, por defecto, de 10 -3 . Y con una tolerancia<br />

absoluta de 10 -6 , como ocurre con el método >>ode45.<br />

Ejemplo 4.13 Resolver el sigui<strong>en</strong>te P.V.I. (Problema del Valor Inicial) mediante algún<br />

yx 01 . y x 002<br />

. y<br />

método Runge-Kutta, dos métodos al m<strong>en</strong>os: <br />

. Repres<strong>en</strong>tar<br />

y 0<br />

001 .<br />

las soluciones obt<strong>en</strong>idas con dichos métodos.<br />

Como primera parte, se va a aplicar un Runge-Kutta de ord<strong>en</strong> 2 o 3. En este caso, la<br />

función se define de forma simbólica mediante Anonymus:<br />

>> f=@(x,y) 0.1*y-0.02*y.^2; [x y]=ode23(f, [0 130], 0.01); plot(x,y,'LineWidth',3),<br />

grid on, axis([0 130 -1 6])<br />

No se muestra por pantalla el vector con las soluciones, ya que interesa más su repres<strong>en</strong>tación<br />

con ambos métodos.<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

-1<br />

0 20 40 60 80 100 120<br />

Figura 4.6 Solución aportada por Runge-Kutta de ord<strong>en</strong> 2,3<br />

106<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

Si ahora se aplicase un Runge-Kutta de órd<strong>en</strong>es 4 o 5:<br />

>> f=@(x,y) 0.1*y-0.02*y.^2; [x y]=ode45(f, [0 130], 0.01); plot(x,y,'LineWidth',3),<br />

grid on, axis([0 130 -1 6])<br />

Y la repres<strong>en</strong>tación gráfica obt<strong>en</strong>ida sería:<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

-1<br />

0 20 40 60 80 100 120<br />

Figura 4.7 Solución aportada por Runge-Kutta de ord<strong>en</strong> 4,5<br />

4.8 Ejercicios<br />

1.- Calcular el vector gradi<strong>en</strong>te de las funciones:<br />

y<br />

a) f(x,y) = b) f(x,y) = e -x cos y c) f(x,y)= 2 +y 2 s<strong>en</strong>(xy)<br />

2 2<br />

x y<br />

d) f(x,y) = x 2 y 3 e) f(x,y) = x 4 +y 4 -4xy+1 f) f x,y<br />

4 x y<br />

2 2<br />

2.- Determinar y clasificar los puntos críticos de las sigui<strong>en</strong>tes funciones:<br />

a) f(x,y)= y x 2 - 4xy + 3x 2 + (1/2) y 2<br />

b) f(x,y) = (x+y) 2 -5<br />

c) f(x,y)= x 3 -y 2 -3x -4y -4<br />

d) f(x,y)= y 3 +(x+y) 2 +6(x-y).<br />

e) f(x,y)= y 3 -2x 2 -4xy +30<br />

f) f(x,y)= y 3 -2x 2 -4xy +30<br />

g) f(x,y)= x 3 +x 2 y+y 2 +2y<br />

h) f (x,y ) = -5x 2 -8y 2 -2xy+42x+ 102 y<br />

i) <br />

1<br />

2<br />

6 4 12<br />

3 2<br />

f x,y x x xy y<br />

107<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

3.- Considerar la función de dos variables f(x,y) = a(2xy+y 2 +yx 2 )+x 2 (a 2 -y) donde a .<br />

Sabi<strong>en</strong>do que <strong>en</strong> el punto (0,0) la función pres<strong>en</strong>ta un punto crítico, aplicar el criterio<br />

del Hessiano <strong>para</strong> clasificar dicho punto <strong>en</strong> función de los valores de a.<br />

4.- Sea f(x,y) = x 3 - 3axy +y 3 . Determinar y clasificar los puntos críticos de la función<br />

según los valores de a .<br />

5.- Sea la función f (x,y)= 1-px 2 +2y 2 . Sea la derivada direccional de la función <strong>en</strong> el<br />

<br />

punto (1, -1) según la dirección del vector v i j es 3. Obt<strong>en</strong>er el valor de p.<br />

6.- Dada la región D del plano limitada por las rectas y = -3x+6 e y = 0, la parábola y<br />

= 4x-x 2 y la recta x = 4 y dada la superficie z = x 2 +y 2 , calcular el área de la superficie.<br />

7.- Calcular el volum<strong>en</strong> de una peonza modelizada por las superficies de ecuaciones<br />

S1x 2 +y 2 =z 2 , S2x 2 +y 2 +(z-2) 2 =4.<br />

8.- Una caja rectangular sin tapa superior debe t<strong>en</strong>er un volum<strong>en</strong> de 12m 3 . Determinar<br />

las dim<strong>en</strong>siones de la caja que darán un área mínima.<br />

9.- Sea D la región limitada por las curvas xy=9, y=x, x=9 e y=0. Calcular:<br />

a) Área de la región D.<br />

b) Volum<strong>en</strong> limitado inferiorm<strong>en</strong>te por la región y superiorm<strong>en</strong>te por el plano<br />

z=2x+3y.<br />

c) Área del plano z=2x+3y situado sobre la región D.<br />

10.- Resolver las ecuaciones difer<strong>en</strong>ciales sigui<strong>en</strong>tes:<br />

a) (2y-x 3 )dx=x dy<br />

b) e y dx- y x (x-1)dy =0<br />

c)<br />

x 3y<br />

y <br />

3x<br />

y<br />

11.- Resolver la ecuación difer<strong>en</strong>cial y (x 2 +1)e y - (2x 2 +1)(1+e y ) =0. Obt<strong>en</strong>er la solución<br />

particular <strong>para</strong> la condición inicial y(1) = 1.<br />

108<br />

www.full-ebook.com


Funciones de varias variables. Ecuaciones difer<strong>en</strong>ciales<br />

12.- Resolver la ecuación difer<strong>en</strong>cial<br />

<strong>para</strong> la condición inicial (1,0).<br />

31<br />

y' <br />

1 e<br />

2 y<br />

( x )e<br />

y<br />

. Obt<strong>en</strong>er la solución particular<br />

13.- Resolver la ecuación difer<strong>en</strong>cial y obt<strong>en</strong>er la solución particular <strong>para</strong> la condición<br />

inicial dada<br />

2 2<br />

x 3y<br />

<br />

y <br />

4xy<br />

<br />

y 1 0 <br />

109<br />

www.full-ebook.com


www.full-ebook.com


5 Capítulo 5<br />

Introducción a la Estadística<br />

Descriptiva<br />

5.1 Introducción<br />

Este capítulo ofrece al lector una introducción a la estadística descriptiva, tanto teórica<br />

como <strong>en</strong> el marco de <strong><strong>Ma</strong>tlab</strong>.<br />

La Estadística es la parte de las <strong>Ma</strong>temáticas que se <strong>en</strong>carga del estudio de una determinada<br />

característica <strong>en</strong> una población. Recogi<strong>en</strong>do los datos, organizándolos <strong>en</strong> tablas,<br />

repres<strong>en</strong>tándolos gráficam<strong>en</strong>te y analizándolos <strong>para</strong> sacar conclusiones de dicha<br />

población.<br />

En el caso de la estadística descriptiva, el estudio se realiza sobre la población completa,<br />

observando una característica y calculando unos parámetros que proporcion<strong>en</strong> información<br />

global de toda la población.<br />

Si se realizase un estudio descriptivo sobre un subconjunto de la población llamado<br />

muestra y, posteriorm<strong>en</strong>te, se ext<strong>en</strong>dies<strong>en</strong> los resultados obt<strong>en</strong>idos a toda la población,<br />

se estaría realizando infer<strong>en</strong>cia estadística.<br />

<strong><strong>Ma</strong>tlab</strong> posee toolbox o herrami<strong>en</strong>tas <strong>para</strong> el cálculo de estadísticos, ajuste por rectas de<br />

regresión, mínimos cuadrados, distribución de probabilidad, función de d<strong>en</strong>sidad. etc.<br />

111<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Estas aplicaciones pued<strong>en</strong> <strong>en</strong>contrarse <strong>en</strong> el directorio de stats\statsdemos (d<strong>en</strong>tro del<br />

índice de ayuda proporcionado por >>helpwin).<br />

Para cálculo de parámetros estadísticos y funciones de probabilidad se puede acudir al<br />

directorio de:<br />

>>helpwin<br />

y d<strong>en</strong>tro de los difer<strong>en</strong>tes temas examinar stats\stats. O directam<strong>en</strong>te, >>help stats.<br />

Ahí se <strong>en</strong>cu<strong>en</strong>tran los comandos necesarios <strong>para</strong> trabajar con funciones de probabilidad<br />

ya conocidas, o cálculo de parámetros estadísticos, indicados <strong>en</strong> el apartado correspondi<strong>en</strong>te<br />

a Descriptive Statistics.<br />

En las tablas 5.1, 5.2, 5.3 y 5.4 se indica una relación de parámetros estadísticos, órd<strong>en</strong>es<br />

<strong>para</strong> gráficos, cálculo de probabilidad y función de d<strong>en</strong>sidad, tomado de la ayuda<br />

que ofrece el programa, aunque las tablas son de elaboración propia.<br />

Tabla 5.1 Relación de parámetros estadísticos<br />

PARÁMETROSESTADÍSTICOS<br />

corr<br />

corrcoef<br />

cov<br />

geomean<br />

iqr<br />

mad<br />

mean<br />

median<br />

mode<br />

partialcorr<br />

partialcorri<br />

prctile<br />

quantile<br />

range<br />

std<br />

tabulate<br />

var<br />

Linearorrankcorrelationcoeffici<strong>en</strong>t.<br />

Linearcorrelationcoeffici<strong>en</strong>t(inMATLABtoolbox).<br />

Covariance(inMATLABtoolbox).<br />

Geometricmean.<br />

Interquartilerange.<br />

MedianAbsoluteDeviation.<br />

Sampleaverage(inMATLABtoolbox).<br />

50thperc<strong>en</strong>tileofasample(inMATLABtoolbox).<br />

Mode. or most frequ<strong>en</strong>t value in a sample (in<br />

MATLABtoolbox).<br />

Linearorrankpartialcorrelationcoeffici<strong>en</strong>t.<br />

Partialcorrelationcoeffici<strong>en</strong>tswithinternaladjust<br />

m<strong>en</strong>ts.<br />

Perc<strong>en</strong>tiles.<br />

Quantiles.<br />

Range.<br />

Standarddeviation(inMATLABtoolbox).<br />

Frequ<strong>en</strong>cytable.<br />

Variance(inMATLABtoolbox).<br />

112<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

Tabla 5.2 Relación de opciones <strong>para</strong> repres<strong>en</strong>tar<br />

REPRESENTACIONES<br />

hist(X,n)<br />

bar(X)<br />

plot<br />

barh(X)<br />

pie(f)<br />

HistogramadedatosX,nnúmerodeclaseequidistantes<br />

Diagramadebarrasvertical<br />

Polígonodefrecu<strong>en</strong>cias<br />

Diagramadebarrashorizontal<br />

Gráficodesectores, dondefcorrespondealasfrecu<strong>en</strong>cias<br />

En cuanto a trabajar con distribuciones, o bi<strong>en</strong> discretas o bi<strong>en</strong> continuas, <strong><strong>Ma</strong>tlab</strong> también<br />

proporciona comandos al respecto:<br />

Tabla 5.3 Distribuciones de probabilidad<br />

DISTRIBUCIONESDEPROBABILIDAD<br />

binostat<br />

nbinstat<br />

normstat<br />

poisstat<br />

normcdf<br />

poisscdf<br />

binocdf<br />

Binomialmeanandvariance.<br />

Negativebinomialmeanandvariance.<br />

Normal(Gaussian)meanandvariance.<br />

Poissonmeanandvariance.<br />

Normal(Gaussian)cumulativedistributionfunction.<br />

Poissoncumulativedistributionfunction.<br />

Binomialcumulativedistributionfunction.<br />

Si se quiere trabajar con las funciones de d<strong>en</strong>sidad, de nuevo ya están implem<strong>en</strong>tadas.<br />

Recordar que, una función de d<strong>en</strong>sidad <strong>para</strong> una variable aleatoria, es la función f(x)<br />

que verifica:<br />

<br />

x<br />

Y la función de distribución es, F(x) tal que: F x <br />

<br />

<br />

<br />

<br />

f u du<br />

113<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Tabla 5.4 Opciones de funciones de d<strong>en</strong>sidad <strong>en</strong> <strong><strong>Ma</strong>tlab</strong><br />

FUNCIONESDEDENSIDAD<br />

bino<strong>pdf</strong><br />

nbin<strong>pdf</strong><br />

norm<strong>pdf</strong><br />

poiss<strong>pdf</strong><br />

Binomiald<strong>en</strong>sity.<br />

Negativebinomiald<strong>en</strong>sity.<br />

Normal(Gaussian)d<strong>en</strong>sity.<br />

Poissond<strong>en</strong>sity.<br />

A lo largo de este capítulo se introducirá, primero, la teoría necesaria <strong>para</strong> trabajar el<br />

tema de estadística: definiciones, repres<strong>en</strong>taciones, parámetros, etc. Después, mediante<br />

ejemplos, se detallará cómo realizar el cálculo de los resultados buscados mediante el<br />

uso de los comandos de <strong><strong>Ma</strong>tlab</strong>.<br />

5.2 Estadísticos y repres<strong>en</strong>tación<br />

5.2.1 Variables estadísticas<br />

El cometido de la Estadística Descriptiva es facilitar el establecimi<strong>en</strong>to de com<strong>para</strong>ciones<br />

<strong>en</strong>tre difer<strong>en</strong>tes grupos. Bi<strong>en</strong> <strong>en</strong>tre grupos distintos, o bi<strong>en</strong> <strong>para</strong> un mismo grupo <strong>en</strong><br />

dos instantes de tiempo difer<strong>en</strong>tes.<br />

Según sea la naturaleza de los valores, la variable estadística puede clasificarse <strong>en</strong>:<br />

<br />

Cualitativas. Cuando los valores que toma la variable no son numéricos.<br />

Cuantitativas. Cuando los valores que toma la variable son números reales.<br />

Las variables cuantitativas se clasifican <strong>en</strong> discretas y continuas.<br />

<br />

<br />

Variable cuantitativa discreta: si los posibles valores pert<strong>en</strong>ec<strong>en</strong> a un conjunto<br />

numerable. Por ejemplo, puntuaciones obt<strong>en</strong>idas por un grupo de alumnos <strong>en</strong><br />

una asignatura.<br />

Variable cuantitativa continua: si los posibles valores pert<strong>en</strong>ec<strong>en</strong> a un conjunto<br />

no numerable. Como las alturas de un conjunto de alumnos.<br />

Si sólo se ti<strong>en</strong>e <strong>en</strong> cu<strong>en</strong>ta una característica de la población, se dice que es un estudio<br />

unidim<strong>en</strong>sional. Si se estudian dos o más características, es un estudio bidim<strong>en</strong>sional o<br />

multidim<strong>en</strong>sional, respectivam<strong>en</strong>te.<br />

Población: conjunto de elem<strong>en</strong>tos con alguna o algunas características comunes.<br />

Muestra: Es un subconjunto de la población.<br />

114<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

Variable estadística: divide la población, de manera natural, <strong>en</strong> grupos d<strong>en</strong>ominados<br />

clases (conjuntos disjuntos) al considerar los diversos atributos de la variable.<br />

Si se desea conocer con gran exactitud, cómo es cierta característica de una determinada<br />

población, la mejor forma será recoger los datos de todos, y cada uno, de los individuos<br />

que integran la población completa, analizarlos y extraer las conclusiones correspondi<strong>en</strong>tes.<br />

El cometido de la Estadística Descriptiva de este capítulo, es un estudio básico <strong>en</strong> el<br />

que se muestra cómo obt<strong>en</strong>er gráficos y parámetros, repres<strong>en</strong>tativos de una serie de<br />

datos unidim<strong>en</strong>sionales.<br />

5.3 Distribución de frecu<strong>en</strong>cias<br />

El conjunto de valores observados, o serie numérica, constituye el material inicial a<br />

partir del cual debe llevarse a cabo el análisis estadístico descriptivo.<br />

Sí el número de datos no es muy reducido, su interpretación se facilita pres<strong>en</strong>tándolos<br />

agrupados <strong>en</strong> una tabla.<br />

(a) Cuando la variable estudiada es de tipo discreto, cualitativa o cuantitativa, con<br />

un número reducido de valores posibles, los datos pued<strong>en</strong> sintetizarse <strong>en</strong> una<br />

tabla, <strong>en</strong> la que <strong>para</strong> cada valor x i se muestra la frecu<strong>en</strong>cia absoluta n i o número<br />

de veces que dicho valor se observa <strong>en</strong> la muestra. Dado que la frecu<strong>en</strong>cia<br />

absoluta dep<strong>en</strong>de del número total de observaciones N, la frecu<strong>en</strong>cia relativa<br />

no es más que n i /N.<br />

- Frecu<strong>en</strong>cia absoluta, n i , es el número de veces que se repite cada valor de la<br />

variable. A la suma de todas las frecu<strong>en</strong>cias absolutas se le llama N = n<br />

- Frecu<strong>en</strong>cia relativa, f i , es el coci<strong>en</strong>te <strong>en</strong>tre la frecu<strong>en</strong>cia absoluta y el número<br />

total de datos:<br />

<br />

<br />

- Frecu<strong>en</strong>cia absoluta acumulada, N i , indica el número de datos que hay iguales<br />

o inferiores al considerado.<br />

- Frecu<strong>en</strong>cia relativa acumulada, F i , es el resultado de dividir cada frecu<strong>en</strong>cia<br />

absoluta acumulada <strong>en</strong>tre el número total de datos. Informa del tanto por uno<br />

de datos que hay igual o inferior al considerado.<br />

(b) Cuando la variable estudiada es de tipo continuo, como es difícil <strong>en</strong>contrar valores<br />

repetidos, se procede a un agrupami<strong>en</strong>to de datos <strong>en</strong> intervalos, por lo<br />

g<strong>en</strong>eral de igual amplitud, que suele d<strong>en</strong>ominarse clase. G<strong>en</strong>eralm<strong>en</strong>te la marca<br />

de la clase es el punto medio del intervalo.<br />

La anchura de la clase se obt<strong>en</strong>drá dividi<strong>en</strong>do la difer<strong>en</strong>cia <strong>en</strong>tre el mayor y el<br />

m<strong>en</strong>or valor por el número de clases. También se puede hacer de otro modo,<br />

estableci<strong>en</strong>do una anchura de clase determinada. Pero hay que t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta<br />

<br />

i<br />

i<br />

115<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

que, el número de clases resultantes esté compr<strong>en</strong>dido <strong>en</strong>tre 5 y 20, <strong>para</strong> que la<br />

tabla y los gráficos puedan transmitir con facilidad la idea de la distribución de<br />

frecu<strong>en</strong>cias. Analizando como antes, pero referido ahora a la marca de la clase:<br />

<br />

- Frecu<strong>en</strong>cia absoluta, n i , N = ni<br />

- Frecu<strong>en</strong>cia relativa, <br />

<br />

- Frecu<strong>en</strong>cia absoluta acumulada, N i<br />

- Frecu<strong>en</strong>cia relativa acumulada, F i<br />

i<br />

5.3.1 Repres<strong>en</strong>taciones gráficas<br />

En el análisis descriptivo ti<strong>en</strong><strong>en</strong> mucha utilidad las repres<strong>en</strong>taciones gráficas de los<br />

datos que se pose<strong>en</strong> de las variables estadísticas, a partir de los cuales se puede llegar<br />

de forma más fácil a conclusiones. Los tipos de gráficos que aquí se destacan son:<br />

(1) Diagrama de barras (>>bar(Datos)): rectángulos de igual base, g<strong>en</strong>eralm<strong>en</strong>te<br />

dispuestos <strong>en</strong> posición vertical, <strong>en</strong> el que la altura de cada uno es proporcional<br />

a la frecu<strong>en</strong>cia.<br />

10<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

0 5 10 15 20 25<br />

(2) Gráficos de tarta o sectores (>>pie(f)): la superficie total de un círculo se divide<br />

<strong>en</strong> sectores de forma que el área de cada sector es proporcional a la frecu<strong>en</strong>cia<br />

de la clase.<br />

21%<br />

8%<br />

4%<br />

4% data1<br />

8%<br />

data2<br />

data3<br />

data4<br />

data5<br />

data6<br />

13%<br />

data7<br />

data8<br />

data9<br />

17%<br />

13%<br />

13%<br />

116<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

(3) Polígono de frecu<strong>en</strong>cias (>>plot(d)): las ord<strong>en</strong>adas de las frecu<strong>en</strong>cias absolutas<br />

se un<strong>en</strong> mediante una línea poligonal.<br />

5<br />

4.5<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

2 3 4 5 6 7 8 9 10<br />

(4) Histograma (>>hist(Datos,n)): repres<strong>en</strong>tación gráfica formada por rectángulos<br />

cuyas áreas son proporcionales a las respectivas frecu<strong>en</strong>cias de los intervalos<br />

considerados. Si la amplitud de los intervalos es constante, el gráfico se convierte<br />

<strong>en</strong> un diagrama de barras.<br />

5<br />

4.5<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

2 3 4 5 6 7 8 9 10<br />

5.3.2 Ejemplos con <strong><strong>Ma</strong>tlab</strong> de distribución de frecu<strong>en</strong>cias y diagramas<br />

A. Ejemplo Caso Variable discreta<br />

Los datos pued<strong>en</strong> sintetizarse <strong>en</strong> una tabla, <strong>en</strong> la que <strong>para</strong> cada valor x i se muestra la<br />

frecu<strong>en</strong>cia absoluta n i .<br />

Considér<strong>en</strong>se las puntuaciones obt<strong>en</strong>idas <strong>en</strong> una prueba mostradas <strong>en</strong> la serie de datos<br />

sigui<strong>en</strong>te:<br />

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}<br />

Se pide:<br />

117<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

a) Ord<strong>en</strong>arlos, calcular el mínimo y máximo de los datos.<br />

b) Obt<strong>en</strong>er una tabla de frecu<strong>en</strong>cias.<br />

c) Repres<strong>en</strong>tar el polígono, histograma y diagramas de barras.<br />

Resolución:<br />

a) Se introduc<strong>en</strong> los datos defini<strong>en</strong>do el vector D<br />

>> 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]<br />

En este apartado hay que:<br />

- Ord<strong>en</strong>ar datos >>sort(D);<br />

- obt<strong>en</strong>er el mínimo >>min(D);<br />

- obt<strong>en</strong>er el Máximo >> max(D)<br />

>> D=sort(D)<br />

D =<br />

Columns 1 through 13<br />

2 3 3 4 4 4 4 4 5 5 5 6 6<br />

Columns 14 through 24<br />

6 7 7 7 7 8 8 8 9 9 10<br />

>>min(D) % devuelve el valor mínimo<br />

ans=<br />

2<br />

>> max(D) % devuelve el valor máximo<br />

ans=<br />

10<br />

b) Obt<strong>en</strong>er tablas de frecu<strong>en</strong>cias con variable discreta es muy rápido, ya que el<br />

nombre de la clase coincide con el valor numérico del dato.<br />

Con la ord<strong>en</strong> >>tabulate(D), <strong><strong>Ma</strong>tlab</strong> devuelve una tabla <strong>en</strong> la que la primera columna<br />

son los valores de d, ord<strong>en</strong>ados de m<strong>en</strong>or a mayor; la segunda columna corresponde a<br />

la frecu<strong>en</strong>cia absoluta n i ; y finalm<strong>en</strong>te, la tercera columna muestra la frecu<strong>en</strong>cia relativa<br />

f i <strong>en</strong> %.<br />

>> tabulate(D)<br />

118<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

Value Count Perc<strong>en</strong>t<br />

1 0 0.00%<br />

2 1 4.17%<br />

3 2 8.33%<br />

4 5 20.83%<br />

5 3 12.50%<br />

6 3 12.50%<br />

7 4 16.67%<br />

8 3 12.50%<br />

9 2 8.33%<br />

10 1 4.17%<br />

c) Repres<strong>en</strong>taciones<br />

Al t<strong>en</strong>er variable discreta, el valor numérico coincide con el nombre de la clase. En el<br />

valor 1 no hay ningún dato, por tanto se ti<strong>en</strong><strong>en</strong> nueve clases. Para obt<strong>en</strong>er el histograma<br />

de frecu<strong>en</strong>cias se pide como argum<strong>en</strong>to los datos y el número de clases.<br />

En este caso, datos= D, número de clases= 9<br />

>>hist(D,9) % histograma con 9 clases<br />

5<br />

4.5<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

2 3 4 5 6 7 8 9 10<br />

También pued<strong>en</strong> g<strong>en</strong>erarse los diagramas de barras <strong>en</strong> horizontal y vertical:<br />

>>bar(D) % diagrama de barras<br />

119<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

10<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

0 5 10 15 20 25<br />

>>barh(D) % diagrama de barras horizontal<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

0 2 4 6 8 10<br />

B. Ejemplo Caso variable continua<br />

En este caso, como es difícil <strong>en</strong>contrar valores repetidos, se procede a un agrupami<strong>en</strong>to<br />

de datos <strong>en</strong> intervalos, por lo g<strong>en</strong>eral de igual amplitud, que suele d<strong>en</strong>ominarse clase.<br />

G<strong>en</strong>eralm<strong>en</strong>te la marca de la clase es el punto medio del intervalo.<br />

Considér<strong>en</strong>se los sigui<strong>en</strong>tes datos correspondi<strong>en</strong>tes a la estatura de 200 personas:<br />

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

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

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

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

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

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

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

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

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

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

120<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

Se desea:<br />

a) Introducir la tabla <strong>en</strong> <strong><strong>Ma</strong>tlab</strong>, asignarle nombre de variable.<br />

b) Pasar de matriz de datos a vector columna.<br />

c) Obt<strong>en</strong>er valor mínimo, valor máximo, ord<strong>en</strong>ar.<br />

d) Construir una tabla de frecu<strong>en</strong>cias absolutas y relativas.<br />

e) A partir de la tabla de frecu<strong>en</strong>cias, ¿cuántas personas mid<strong>en</strong> m<strong>en</strong>os de 1.70?,<br />

¿qué porc<strong>en</strong>taje de personas su altura se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> el intervalo [1.6, 1.7)?,<br />

¿qué porc<strong>en</strong>taje de personas ti<strong>en</strong>e un altura inferior a 1.90?<br />

f) Repres<strong>en</strong>tar los difer<strong>en</strong>tes tipos de gráficos.<br />

Resolución<br />

a) Crear la variable: Para no t<strong>en</strong>er que introducir a mano la matriz, selecciónese<br />

la matriz anterior y cópiese. Entrar <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> y clicar <strong>en</strong> New variable<br />

Figura 5.1 Imag<strong>en</strong> de <strong><strong>Ma</strong>tlab</strong><br />

Se abre el asist<strong>en</strong>te y se pega, el resultado obt<strong>en</strong>ido se muestra <strong>en</strong> la figura 5.2<br />

Figura 5.2 Imag<strong>en</strong> de <strong><strong>Ma</strong>tlab</strong> con la tabla de datos almac<strong>en</strong>ada <strong>en</strong> variable<br />

121<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Poner el cursor <strong>en</strong> wokspace/unnamed y clicar el botón derecho <strong>para</strong> seleccionar r<strong>en</strong>ame<br />

Con esto se r<strong>en</strong>ombra la variable matriz como x.<br />

b) Si se quiere trabajar con un vector columna.<br />

Para transformar la matriz <strong>en</strong> un vector existe el comando >>reshape(A,m,n), donde<br />

A es la matriz de la que se parte, m nuevo número de filas y n nuevo número de columnas).<br />

En este caso se ti<strong>en</strong><strong>en</strong> 200 datos y, por ello, se va a originar un vector de 200 filas<br />

>>d=reshape(x,200,1)<br />

c) Se obti<strong>en</strong>e el valor mínimo y máximo<br />

>> min(d)<br />

ans =<br />

1.5000<br />

>> max(d)<br />

ans =<br />

1.9400<br />

d) Para obt<strong>en</strong>er la correspondi<strong>en</strong>te tabla de frecu<strong>en</strong>cias<br />

Si se usase >>tabulate(d), devolvería las frecu<strong>en</strong>cias considerando d como variable<br />

discreta. Como <strong>en</strong> este caso la variable es continua, hay que emplear otros comandos.<br />

Primero, <strong>para</strong> ello, se distribuy<strong>en</strong> los datos <strong>en</strong> intervalos, los valores van del min= 1.5<br />

al max=1.94, si<strong>en</strong>do<br />

anchura =(max-min)/nº clases= (1.94-1.5)/nº de clases=0.44/nº de clases<br />

122<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

Si se considera 5 clases, anchura=(1.94-1.5)/5=0.088. Para no t<strong>en</strong>er que trabajar con<br />

decimales es conv<strong>en</strong>i<strong>en</strong>te tomar anchuras de 0.1<br />

[1.5,1.60[, [1.60,17[, [1.7,1.8[, [1.8,1.9[ , [1.9,2.0[<br />

Los datos se agrupan <strong>en</strong> 5 grupos, es decir <strong>en</strong> 5 clases. <strong>Ma</strong>rca de la clase, punto medio<br />

del intervalo.<br />

Clase <strong>Ma</strong>rca de la clase Intervalo que describe<br />

1 1.55 [1.5, 1.6[<br />

2 1.65 [1.6, 1.7[<br />

3 1.75 [1.7, 1.8[<br />

4 1.85 [1.8, 1.9[<br />

5 1.95 [1.9, 2.0[<br />

El sigui<strong>en</strong>te paso es crear un vector de clase, m, y un vector de frecu<strong>en</strong>cia f.<br />

Nota: si a la ord<strong>en</strong> de histograma se le asigna una salida numérica, ya no repres<strong>en</strong>ta<br />

el gráfico del histograma, sino que devuelve el vector fila de frecu<strong>en</strong>cias<br />

absolutas. Esto puede comprobarse creando un vector m con los valores que van<br />

del mínimo al máximo de 0.1 <strong>en</strong> 0.1.<br />

Como son vectores filas, <strong>para</strong> dar lugar a los vectores columna han de transponerse y a<br />

continuación, ya se puede construir la tabla de frecu<strong>en</strong>cias.<br />

Si se desea una salida con forma de tabla, se ti<strong>en</strong>e el comando >>table(columna1,columna2…),<br />

proporcionándole como argum<strong>en</strong>tos las columnas que van<br />

a interv<strong>en</strong>ir <strong>en</strong> la tabla. Con este fin se crea la columna clase y la columna fabs, del<br />

sigui<strong>en</strong>te modo:<br />

123<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>>clase=m’<br />

>>fabs = f’ %frecu<strong>en</strong>cia absoluta<br />

>>table(clase, fabs)<br />

La ord<strong>en</strong> >> cumsum(vector) es la que suma los elem<strong>en</strong>tos de vector.<br />

Queda por obt<strong>en</strong>er la frecu<strong>en</strong>cia relativa frel, la frecu<strong>en</strong>cia absoluta acumulada fabsacumulada<br />

y la frecu<strong>en</strong>cia relativa acumulada frelacumulada, <strong>para</strong> construir una tabla<br />

de frecu<strong>en</strong>cias <strong>en</strong> la que aparezcan como columnas: clases, frecu<strong>en</strong>cia absoluta, frecu<strong>en</strong>cia<br />

absoluta acumulada y frecu<strong>en</strong>cia relativa. Las expresiones introducidas <strong>para</strong><br />

los cálculos y los resultados se muestran a continuación:<br />

124<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

Y <strong>para</strong> crear, finalm<strong>en</strong>te, la tabla completa<br />

<br />

<br />

<br />

Con la tabla anterior ya se puede dar respuesta a todas estas cuestiones:<br />

¿Cuántas personas mid<strong>en</strong> m<strong>en</strong>os de 1.70?, si uno observa <strong>en</strong> la tabla son un total de<br />

73.<br />

¿Qué porc<strong>en</strong>taje de personas ti<strong>en</strong>e su altura <strong>en</strong> el intervalo [1.6, 1.7)?, mirando <strong>en</strong> la<br />

tabla le corresponde 0.295, que es un 29.5%.<br />

¿Qué porc<strong>en</strong>taje de personas ti<strong>en</strong>e una altura inferior a 1.90?, se ve que van desde<br />

1.50 hasta 1.90; es decir la suma de frecu<strong>en</strong>cia relativa acumulada corresponde a<br />

0.98, que es un 98%.<br />

f) Repres<strong>en</strong>tación del histograma con la ord<strong>en</strong> >>hist(Datos,clases).<br />

En este ejercicio, los datos correspond<strong>en</strong> a la matriz d y las clases que se han creado<br />

anteriorm<strong>en</strong>te se han asignado al vector m. Escribi<strong>en</strong>do la ord<strong>en</strong> indicada se consigue<br />

repres<strong>en</strong>tar el histograma:<br />

>>hist(d,m)<br />

125<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

1.5 1.6 1.7 1.8 1.9 2<br />

5.4 PARÁMETROS ESTADÍSTICOS DE POSICIÓN Y DISPER-<br />

SIÓN<br />

Fundam<strong>en</strong>talm<strong>en</strong>te, la pauta de variabilidad constatada <strong>en</strong> un conjunto de observaciones<br />

relativas a una variable cuantitativa unidim<strong>en</strong>sional, puede caracterizarse por dos<br />

tipos de parámetros que defin<strong>en</strong>, respectivam<strong>en</strong>te, la posición y la dispersión.<br />

5.4.1 PARÁMETROS ESTADÍSTICOS DE POSICIÓN<br />

Los parámetros de posición ti<strong>en</strong><strong>en</strong> por objetivo proporcionar valores <strong>en</strong> torno a los<br />

cuales se <strong>en</strong>cu<strong>en</strong>tran las observaciones. Entre ellos están: media aritmética, media<br />

geométrica, mediana, moda, cuartiles y perc<strong>en</strong>tiles.<br />

Las expresiones a usar <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> son las indicadas <strong>en</strong> la tabla sigui<strong>en</strong>te.<br />

Tabla 5.5 Parámetros estadísticos de posición <strong>en</strong> <strong><strong>Ma</strong>tlab</strong><br />

PARÁMETROSESTADÍSTICOSDEPOSICIÓN<br />

mean<br />

median<br />

mode<br />

geomean<br />

quantile(X,p) <br />

prctile<br />

Mediaaritmética<br />

Mediana<br />

Moda<br />

Mediageométrica<br />

Quartiles.<br />

Perc<strong>en</strong>tiles.<br />

126<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

a) Media aritmética: dado un conjunto de N valores, x 1,x 2,...,x<br />

N <br />

, de una variable<br />

estadística cuantitativa, el valor medio o media aritmética, , es la suma de todos<br />

los valores dividido por el número total de datos N:<br />

1<br />

x ( x1x 2<br />

.... x N<br />

)<br />

N<br />

Si se conoc<strong>en</strong> las frecu<strong>en</strong>cias, la media aritmética se obti<strong>en</strong>e mediante:<br />

Media Promedio Media Aritmética x <br />

b) Mediana: la mediana de un conjunto de datos es el valor del dato situado <strong>en</strong> el<br />

c<strong>en</strong>tro de la serie de valores, cuando estos están ord<strong>en</strong>ados.<br />

N 1<br />

En g<strong>en</strong>eral, si hay N valores, N impar, la mediana correspondería a la posición .<br />

2<br />

En el caso de que el número de datos, N, de la serie sea par, la mediana se obti<strong>en</strong>e como<br />

promedio de los dos valores c<strong>en</strong>trales.<br />

N y<br />

N 1<br />

2 2<br />

xN<br />

1<br />

N impar<br />

2<br />

<br />

Por tanto, <strong>para</strong> calcular la mediana xN<br />

x<br />

debe distinguirse si<br />

N<br />

1<br />

<br />

N par<br />

<br />

2 2<br />

2<br />

el número de datos es par o impar.<br />

c) Moda: de un conjunto de datos es el valor que aparece con mayor frecu<strong>en</strong>cia.<br />

La moda de una serie estadística es un indicador de posición c<strong>en</strong>tral. Puede d<strong>en</strong>ominarse<br />

robusto, porque resulta poco influida por la pres<strong>en</strong>cia de algunos valores extremos,<br />

digamos anormales, y que <strong>en</strong> ocasiones provi<strong>en</strong><strong>en</strong> de errores <strong>en</strong> la medición o lectura.<br />

Su uso es muy recom<strong>en</strong>dable cuando se trata de variaciones muy discontinuas <strong>en</strong> una<br />

serie.<br />

d) Media Geométrica de un conjunto de N valores es la raíz n-ésima de los productos<br />

de dichos números.<br />

<br />

i1<br />

x f<br />

N<br />

i<br />

i<br />

MG<br />

n<br />

n<br />

xi<br />

o<br />

i1<br />

n<br />

n<br />

<br />

i1<br />

x f<br />

i<br />

i<br />

127<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Ejemplo 5.1 Sean los sigui<strong>en</strong>tes datos correspondi<strong>en</strong>tes a una variable discreta, 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}.<br />

Calcular la media, moda, mediana<br />

y media geométrica.<br />

Las órd<strong>en</strong>es a utilizar se pued<strong>en</strong> consultar <strong>en</strong> la Tabla 5.1. El vector de datos será<br />

>>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];<br />

Ejemplo 5.2 Considérese la variable continua d cuya tabla de frecu<strong>en</strong>cias puede consultarse<br />

<strong>en</strong> el epígrafe 5.3.2.2. Hallar los valores de media, mediana y moda, introducidas<br />

las ord<strong>en</strong>es referidas a los datos d.<br />

e) Cuartiles: Una vez ord<strong>en</strong>ado el conjunto de los datos de forma creci<strong>en</strong>te, se<br />

procede a dividir la cantidad de datos <strong>en</strong> cuatro partes iguales. Se está pasando a estudiar<br />

los d<strong>en</strong>ominados cuartiles:<br />

- La primera cuarta parte de los elem<strong>en</strong>tos es inferior al primer cuartil Q 1 . Por lo tanto,<br />

el primer cuartil indica el valor tal que hay un 25% de los datos inferiores a él.<br />

128<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

- el segundo cuartil Q 2 es el elem<strong>en</strong>to que supera al 50% de los valores. Evid<strong>en</strong>tem<strong>en</strong>te,<br />

dicho cuartil es la mediana,<br />

- el tercer cuartil Q 3 es el elem<strong>en</strong>to supera el 75% de los datos.<br />

Acudi<strong>en</strong>do a >>help quantile se puede <strong>en</strong>contrar la sigui<strong>en</strong>te ayuda<br />

y = quantile(x,.50); % the median of x<br />

y = quantile(x,[.25 .50 .75]); % the quartiles of x<br />

y = quantile(x,3); % another way to get quartiles<br />

y = quantile(x,[.025 .25 .50 .75 .975]); % a useful summary of x<br />

f) Perc<strong>en</strong>tiles: Cuando el conjunto de los datos se divide <strong>en</strong> 100 partes iguales, se<br />

habla de perc<strong>en</strong>tiles. El perc<strong>en</strong>til del 10% de un conjunto de datos, será el dato tal que<br />

haya un 10% de los datos inferiores a él.<br />

Si se busca la ayuda de <strong><strong>Ma</strong>tlab</strong> sobre la ord<strong>en</strong> perc<strong>en</strong>til >> help prctile<br />

Y = prctile(X,P) returns perc<strong>en</strong>tiles of the values in X. P is a scalar<br />

or a vector of perc<strong>en</strong>t values. Wh<strong>en</strong> X is a vector, Y is the same size<br />

as P, and Y(i) contains the P(i)-th perc<strong>en</strong>tile. Wh<strong>en</strong> X is a matrix,<br />

the i-th row of Y contains the P(i)-th perc<strong>en</strong>tiles of each column of X.<br />

For N-D arrays, prctile operates along the first non-singleton<br />

dim<strong>en</strong>sion.<br />

Examples:<br />

y = prctile(x,50); % the median of x<br />

y = prctile(x,[2.5 25 50 75 97.5]); % a useful summary of x<br />

Ejemplo 5.3 Considérese el conjunto de datos D anterior. Calcular los cuartiles 1, 2, 3<br />

y los perc<strong>en</strong>tiles del 25%, 50% y 75%.<br />

Los resultados obt<strong>en</strong>idos se muestran a continuación.<br />

129<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Ejemplo 5.4 Considérese el conjunto de datos d de variable continua. Calcular los<br />

cuartiles 1, 2, 3 y los perc<strong>en</strong>tiles del 25%, 50% y 75%.<br />

Los resultados obt<strong>en</strong>idos son los sigui<strong>en</strong>tes:<br />

5.4.2 Medidas de dispersión<br />

En el apartado anterior se han mostrado diversas formas de establecer un repres<strong>en</strong>tante<br />

de un determinado conjunto de datos o medidas. Otro aspecto muy importante <strong>para</strong><br />

completar la imag<strong>en</strong> que uno se forma del conjunto de datos, a partir de los parámetros<br />

de posición, es la dispersión.<br />

Se <strong>en</strong>ti<strong>en</strong>de que un conjunto de datos ti<strong>en</strong>e poca dispersión si están agrupados <strong>en</strong> torno<br />

al valor medio de ese conjunto de datos. Por el contrario, se dice que la dispersión es<br />

alta si hay bastantes datos sufici<strong>en</strong>tem<strong>en</strong>te alejado del promedio.<br />

130<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

Entre las medidas de dispersión se <strong>en</strong>cu<strong>en</strong>tran: recorrido o rango, recorrido intercuartílico,<br />

desviación absoluta media, desviación estándar y varianza.<br />

a) El Recorrido es el parámetro de posición más intuitivo. Para conjuntos pequeños<br />

de datos puede ser el más significativo a efectos prácticos. Se define el Recorrido<br />

como la difer<strong>en</strong>cia <strong>en</strong>tre el mayor valor observado y el m<strong>en</strong>or valor observado.<br />

- ejemplo de variable discreta de las notas: Recorrido =10-2=8<br />

- ejemplo de variable continua de las alturas: Recorrido =1.94-1.5=0.44<br />

En <strong><strong>Ma</strong>tlab</strong> <strong>para</strong> calcular el rango puede hacerse mediante la función >> range (datos)<br />

o mediante >>max(datos)-min(datos).<br />

b) Recorrido intercuartílico: En los casos <strong>en</strong> que la media no es un indicador<br />

adecuado de posición (caso de distribuciones muy asimétricas), la desviación típica no<br />

resultará un parámetro adecuado de dispersión. En esos casos se utiliza, a veces, con<br />

dicho fin el recorrido o distancia intercuartílica. Para calcularlo analíticam<strong>en</strong>te:<br />

Recorrido intercuartílico= difer<strong>en</strong>cia <strong>en</strong>tre el tercer y primer cuartil= Q 3 -Q 1 .<br />

En <strong><strong>Ma</strong>tlab</strong>, la ord<strong>en</strong> >>iqr(datos), devuelve directam<strong>en</strong>te el recorrido intercuartílico.<br />

Uno de los significados del recorrido intercuartílico es que <strong>en</strong> un intervalo c<strong>en</strong>trado <strong>en</strong><br />

la mediana de longitud, se <strong>en</strong>cu<strong>en</strong>tran el 50% de los elem<strong>en</strong>tos del conjunto. El intervalo<br />

intercuartílico es un indicador robusto de dispersión (resulta poco influido por los<br />

valores anómalos).<br />

Ejemplo 5.5 Con los datos d de variable del ejemplo anterior, halla el recorrido intercuartílico<br />

y el recorrido.<br />

-Para calcular el recorrido intercuartílico, basta hallar Q 3 -Q 1 . Este valor indica dónde se<br />

<strong>en</strong>cu<strong>en</strong>tra acumulado el 50% de la población.<br />

Puede ser calculado a partir de los cuartiles o, utilizando directam<strong>en</strong>te la función<br />

>>iqr(datos).<br />

Los resultados son los mostrados a continuación.<br />

>>iqr(D)<br />

ans=<br />

3.5000<br />

-Para hallar el recorrido, basta restar al valor máximo de la población el valor mínimo.<br />

Otra forma es utilizando la función >> range (datos).<br />

Los resultados utilizando ambas opciones son:<br />

131<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>> max(D)-min(D)<br />

ans =<br />

8<br />

>>range(D)<br />

ans =<br />

8<br />

c) Desviación absoluta media: En un conjunto de N datos, de media x , se d<strong>en</strong>omina<br />

desviación de cada elem<strong>en</strong>to a su difer<strong>en</strong>cia respecto a la media del conjunto.<br />

Se define la desviación absoluta media como el promedio de los valores absolutos de<br />

las desviaciones. Las fórmulas que la calculan son:<br />

Variable Discreta<br />

x i<br />

x<br />

i1<br />

, Variable continua<br />

N<br />

<br />

|x x| f<br />

d) Varianza: Se define la varianza como la media de las desviaciones al cuadrado.<br />

2<br />

Se repres<strong>en</strong>ta por <br />

<br />

<br />

2 i1<br />

2<br />

x x f<br />

O bi<strong>en</strong>, si no se ti<strong>en</strong><strong>en</strong> los datos agrupados por frecu<strong>en</strong>cias<br />

i<br />

N<br />

<br />

<br />

<br />

La varianza mide la dispersión de los valores de la variable respecto de la media. Cuanto<br />

mayor sea la varianza, m<strong>en</strong>os repres<strong>en</strong>tativa es la media.<br />

e) Desviación estándar: A la raíz cuadrada de la varianza se le d<strong>en</strong>omina Desviación<br />

Estándar. Se expresa <strong>en</strong> las mismas unidades que la media.<br />

<br />

2<br />

(x<br />

x)<br />

Variable discreta <br />

, Variable continua<br />

n<br />

i<br />

i1<br />

i<br />

N<br />

2<br />

x x f<br />

La media puede no resultar un indicador de medida c<strong>en</strong>tral <strong>en</strong> aquellas series asimétricas<br />

o con valores extremos. Como consecu<strong>en</strong>cia, la desviación estándar tampoco será<br />

un parámetro adecuado de dispersión, ya que su cálculo se basa <strong>en</strong> desviaciones respecto<br />

a la media. En esos casos se utiliza el intervalo intercuartílico.<br />

<br />

<br />

i<br />

N<br />

i<br />

i<br />

132<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

Un resum<strong>en</strong> de los parámetros de dispersión con la expresión a introducir <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> se<br />

puede consultar <strong>en</strong> la sigui<strong>en</strong>te tabla<br />

EXPRESIÓNMATLAB<br />

PARÁMETROSESTADÍSTICOSDEDISPERSIÓN<br />

range(datos) RecorridooRango máximomínimo<br />

iqr(datos) Recorrido<br />

cuartílico<br />

inter<br />

mad(datos) Desviaciónmedia<br />

Std(datos,1)<br />

Desviación están<br />

dardelapoblación<br />

<br />

<br />

xi<br />

x<br />

N <br />

var(datos) Varianza 2<br />

(x<br />

x)<br />

<br />

n<br />

Q 3 Q 1<br />

<br />

i1<br />

|x x| f<br />

<br />

2<br />

(x<br />

x) 2<br />

i<br />

<br />

i1<br />

n<br />

<br />

i<br />

N<br />

<br />

i<br />

<br />

x x f<br />

2<br />

i<br />

<br />

<br />

<br />

<br />

2 i1<br />

N<br />

x x f<br />

N<br />

i<br />

i<br />

<br />

<br />

Ejemplo 5.6 Obt<strong>en</strong>er los parámetros de dispersión <strong>para</strong> el conjunto de datos de variable<br />

continua d utilizada <strong>en</strong> los ejemplos anteriores.<br />

El resultado es:<br />

133<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

f) Coefici<strong>en</strong>te de variación: También es una medida relativa de dispersión. Determina<br />

el grado de dispersión de un conjunto de datos relativo a su media aritmética.<br />

Si se ha realizado un estudio estadístico <strong>en</strong> dos poblaciones difer<strong>en</strong>tes y se quiere com<strong>para</strong>r<br />

la variabilidad de dichas poblaciones, con valores medios muy difer<strong>en</strong>tes, analizar<br />

las difer<strong>en</strong>cias <strong>en</strong>tre sus desviaciones típicas no es significativo. La varianza está<br />

afectada por los cambios de escala y, por tanto, no es útil <strong>para</strong> com<strong>para</strong>r dispersiones<br />

<strong>en</strong>tre variables estadísticas con distintas unidades. Por ello, <strong>para</strong> com<strong>para</strong>r la dispersión<br />

<strong>en</strong>tre muestras o poblaciones, se utiliza el coefici<strong>en</strong>te de variación CV.<br />

El coefici<strong>en</strong>te de variación se define como la relación <strong>en</strong>tre la desviación típica y la<br />

media de la población:<br />

<br />

CV 100 , se expresa <strong>en</strong> %<br />

x<br />

Este valor, expresado <strong>en</strong> tantos por uno, siempre está <strong>en</strong> el intervalo [0,1]. Cuanto más<br />

cercano a 0, indica una m<strong>en</strong>or se<strong>para</strong>ción de los datos con respecto a la media, y al<br />

revés si es cercano a 1.<br />

Ejemplo 5.7 La demanda de un deterg<strong>en</strong>te <strong>en</strong> un hipermercado ti<strong>en</strong>e un promedio de<br />

400 paquetes diarios con una desviación típica de 75 paquetes. Este mismo producto <strong>en</strong><br />

una pequeña ti<strong>en</strong>da de barrio ti<strong>en</strong>e una demanda media de 10 paquetes con una desviación<br />

típica de 4 paquetes. ¿En qué establecimi<strong>en</strong>to la demanda es más variable?<br />

En este caso se recurre <strong>para</strong> com<strong>para</strong>rlas al coefici<strong>en</strong>te de variación de las dos muestras<br />

Hipermercado CV=(75/400)*100=18.75 %<br />

Pequeña ti<strong>en</strong>da CV=(4/10)*100=40%<br />

La demanda es más variable <strong>en</strong> la pequeña ti<strong>en</strong>da de barrio.<br />

Ejemplo 5.8 Dos estudiantes universitarios, A y B, ti<strong>en</strong><strong>en</strong> las sigui<strong>en</strong>tes calificaciones<br />

<strong>en</strong> las 10 asignaturas que cursan <strong>en</strong> su carrera:<br />

Calificaciones del estudiante A: 8, 7, 10, 9, 8, 7, 8, 10, 9 y 10.<br />

Calificaciones del estudiante B: 8, 9, 8, 7, 8, 9, 10, 7, 8 y 10.<br />

¿Qué estudiante ti<strong>en</strong>e m<strong>en</strong>or variabilidad <strong>en</strong> sus calificaciones?<br />

Primero deb<strong>en</strong> definirse los vectores A y B y a continuación, calcular los coefici<strong>en</strong>tes<br />

de variación usando directam<strong>en</strong>te <strong><strong>Ma</strong>tlab</strong>.<br />

134<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

El estudiante A ti<strong>en</strong>e de CV= 12.95% y el estudiante B ti<strong>en</strong>e de CV =12.14%. Por<br />

tanto, el estudiante con una m<strong>en</strong>or variabilidad <strong>en</strong> sus notas es el B.<br />

5.5 Ejercicios<br />

1.- Se considera el número de materias susp<strong>en</strong>sas que constan <strong>en</strong> el expedi<strong>en</strong>te de un<br />

grupo de alumnos. Con estos datos se construyó la sigui<strong>en</strong>te distribución de frecu<strong>en</strong>cias:<br />

<strong>Ma</strong>terias susp<strong>en</strong>sas N o de estudiantes<br />

0 12<br />

1 14<br />

2 27<br />

3 18<br />

4 9<br />

5 6<br />

6 5<br />

a) G<strong>en</strong>erar con <strong><strong>Ma</strong>tlab</strong> una tabla con clases, frecu<strong>en</strong>cias absolutas, relativas y<br />

acumuladas.<br />

b) A partir de la tabla indicar: ¿Cuántos estudiantes ti<strong>en</strong><strong>en</strong> m<strong>en</strong>os de dos asignaturas<br />

susp<strong>en</strong>didas? ¿qué porc<strong>en</strong>taje de estudiantes ti<strong>en</strong><strong>en</strong> más de 5 materias susp<strong>en</strong>didas?<br />

c) Repres<strong>en</strong>tar el histograma.<br />

d) Calcular la moda, la media, la mediana, la desviación típica y el coefici<strong>en</strong>te de<br />

variación.<br />

135<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

2.- Calcular el tiempo medio y la mediana de montaje si los tiempos obt<strong>en</strong>idos han<br />

sido:<br />

3.4, 3.5, 2.7, 3.6, 2.8, 2.9, 3.2, 3.5, 2.6, 2.8 horas.<br />

3.- Se considera la sigui<strong>en</strong>te serie de datos x, ord<strong>en</strong>ados de mayor a m<strong>en</strong>or<br />

4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 9, 12, 15, 20.<br />

Al transcribir los datos se reemplaza, por error, el valor 20 por 0 dando lugar a una<br />

nueva serie de datos y.<br />

a) Calcular <strong>para</strong> ambas series de datos, x, y, el valor medio, moda, desviación típica,<br />

Q 1 , Q 3 y el recorrido intercuartílico.<br />

b) Analizar cuál de los valores calculados muestra mayor robustez como medida<br />

de posición, y cuál mayor robustez como medida de dispersión al producirse el<br />

error.<br />

4.- Se ha realizado una <strong>en</strong>cuesta <strong>en</strong> 30 hogares <strong>en</strong> la que se les pregunta el nº de individuos<br />

que conviv<strong>en</strong> <strong>en</strong> el domicilio habitualm<strong>en</strong>te. Las respuestas obt<strong>en</strong>idas han sido<br />

las sigui<strong>en</strong>tes:<br />

4, 4, 1, 3, 5, 3, 2, 4, 1, 6, 2, 3, 4, 5, 5, 6, 2, 3, 3, 2, 2, 1, 8, 3, 5, 3, 4, 7, 2, 3.<br />

a) Calcule la distribución de frecu<strong>en</strong>cias de la variable obt<strong>en</strong>i<strong>en</strong>do las frecu<strong>en</strong>cias<br />

absolutas, relativas y sus correspondi<strong>en</strong>tes acumuladas.<br />

b) ¿Qué proporción de hogares está compuesto por tres o m<strong>en</strong>os personas? ¿Qué<br />

proporción de individuos vive <strong>en</strong> hogares de tres o m<strong>en</strong>os miembros?<br />

c) Dibuje el diagrama de frecu<strong>en</strong>cias absolutas y el diagrama de frecu<strong>en</strong>cias acumuladas.<br />

d) Agrupar por intervalos de amplitud 2 los valores de la variable. Obt<strong>en</strong>er histograma,<br />

tabla de frecu<strong>en</strong>cias, absolutas y relativas.<br />

5.- La tabla sigui<strong>en</strong>te muestra el resultado de una <strong>en</strong>cuesta <strong>en</strong>tre los alumnos de primer<br />

curso, analizando el número de susp<strong>en</strong>sos <strong>en</strong> la primera evaluación :<br />

0 2 2 4 0 3 3 2 5 2 3 2 4 3 4 3 1 4 1 1 0 4 1 1 4 2 4 2 0 3 1 3 0 5 2 2 3 0 3 0 5 1 1 4 0<br />

3 2 3 2 3 3 1 2 4 2 3 1 3 1 4<br />

a) Construir la tabla de frecu<strong>en</strong>cias.<br />

b) Obt<strong>en</strong>er: media, varianza, cuartiles.<br />

136<br />

www.full-ebook.com


Introducción a la Estadística Descriptiva<br />

c) Recorrido, recorrido intercuartílico, varianza.<br />

6.- Las estaturas <strong>en</strong> cm de 40 estudiantes son:<br />

168 194 180 162 174 155 179 187<br />

176 188 170 177 166 178 182 174<br />

198 156 168 196 193 199 184 195<br />

146 173 172 177 165 183 170 165<br />

191 175 165 172 180 186 175 158<br />

a) Construir la tabla de frecu<strong>en</strong>cias con ancho de clase de 5 cm.<br />

b) Construir la tabla de frecu<strong>en</strong>cias con 8 clases.<br />

c) Repres<strong>en</strong>tar los histogramas de frecu<strong>en</strong>cias. Analizar las difer<strong>en</strong>cias.<br />

d) Calcular la media y la mediana utilizando los datos originales.<br />

e) Buscar la moda y com<strong>para</strong>rla con la media y la mediana.<br />

f) Indicar el primer y tercer cuartil de esta distribución.<br />

g) Indicar el recorrido.<br />

h) Indicar la distancia intercualtílica.<br />

7.- Se ha medido la velocidad de un automóvil durante un viaje de 4 horas, si<strong>en</strong>do los<br />

resultados<br />

Km/h<br />

minutos<br />

M<strong>en</strong>os de 40 10<br />

Entre 40 y 50 20<br />

Entre 50 y 60 35<br />

Entre 60 y 70 40<br />

Entre 70 y 80 50<br />

Entre 80 y 90 40<br />

Entre 90 y 100 30<br />

Entre 100 y 120 10<br />

Entre 120 y 150 5<br />

Calcúlese la velocidad media y la desviación típica, t<strong>en</strong>i<strong>en</strong>do <strong>en</strong> cu<strong>en</strong>ta las marcas de<br />

clase. Repres<strong>en</strong>tar el histograma.<br />

8.- Sobre un grupo de 25 personas se realizan las sigui<strong>en</strong>tes observaciones de sus pesos<br />

(<strong>en</strong> Kg):<br />

58, 42, 51, 54, 43, 42, 49, 56, 58, 57, 59, 63, 58, 66, 70, 72, 71, 69, 70, 68, 64, 60, 54,<br />

49, 71<br />

137<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

a) Construir una tabla de frecu<strong>en</strong>cias, agrupando los datos <strong>en</strong> 5 grupos.<br />

b) Obt<strong>en</strong>er la tabla de frecu<strong>en</strong>cia absoluta, frecu<strong>en</strong>cia relativa, tomando intervalos<br />

de longitud 4kg.<br />

c) Repres<strong>en</strong>tar <strong>en</strong> un histograma.<br />

d) Indicar el peso medio y coefici<strong>en</strong>te de variación.<br />

9.- El número de unidades defectuosas <strong>en</strong>contradas <strong>en</strong> la inspección sistemática de 20<br />

cajas de un lote es: 1, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 1, 2, 0, 0, 1, 0, 2, 4, 1<br />

a) Construir una tabla de frecu<strong>en</strong>cias absolutas y frecu<strong>en</strong>cias acumuladas<br />

b) Indicar el tanto por ci<strong>en</strong>to de lotes que ti<strong>en</strong><strong>en</strong> al m<strong>en</strong>os una defectuosa<br />

c) Indicar promedio, moda y mediana de unidades defectuosas por caja.<br />

d) Calcular el recorrido y la desviación típica.<br />

10.- Quince estudiantes del grupo A de matemática I obtuvieron las sigui<strong>en</strong>tes notas<br />

definitivas al final del periodo:<br />

5, 6, 5.5, 9, 4.5, 7, 5.8, 6.5, 8.8, 6, 7, 8, 4<br />

y el grupo B de 20 estudiantes obtuvo <strong>en</strong> la misma asignatura las sigui<strong>en</strong>tes notas:<br />

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

El profesor desea averiguar cuál de estos dos grupos es más homogéneo, t<strong>en</strong>i<strong>en</strong>do <strong>en</strong><br />

cu<strong>en</strong>ta las notas definitivas obt<strong>en</strong>idas.<br />

138<br />

www.full-ebook.com


6 Capítulo 6<br />

Introducción al Álgebra<br />

matricial<br />

6.1 Introducción a las matrices <strong>en</strong> <strong><strong>Ma</strong>tlab</strong><br />

Una de las características de <strong><strong>Ma</strong>tlab</strong> es que está especialm<strong>en</strong>te diseñado <strong>para</strong> trabajar<br />

con variables vectoriales y matriciales. Este capítulo va a com<strong>en</strong>zar repasando cómo<br />

introducir un vector o una matriz, aunque ya se indicó <strong>en</strong> capítulos anteriores. Las<br />

matrices están formadas por filas (horizontal), y columnas (vertical). Los elem<strong>en</strong>tos de<br />

las filas están se<strong>para</strong>dos por espacios o comas y las columnas por intro o por punto y<br />

coma.<br />

6.1.1 G<strong>en</strong>erar matrices. Operaciones con matrices<br />

Para las difer<strong>en</strong>tes explicaciones que van a ser usadas <strong>en</strong> posteriores ejemplos, van a<br />

definirse las matrices A y B sigui<strong>en</strong>tes, que quedarán almac<strong>en</strong>adas <strong>en</strong> el Workspace:<br />

>> A=[1 2 3 5;3 2 4 1;6 4 3 2]<br />

1 2 3 5<br />

4 3 2<br />

A <br />

<br />

3 2 4 1<br />

<br />

B <br />

<br />

5 3 0<br />

<br />

6 4 3 2<br />

<br />

2 5 9<br />

<br />

139<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>> B=[4 3 2 ;5 3 0 ;2 5 9]<br />

Nota: Para introducir los elem<strong>en</strong>tos de una matriz no es necesario hacerlo uno a<br />

uno, si se observa que los elem<strong>en</strong>tos sigu<strong>en</strong> algún tipo de progresión o ley matemática.<br />

Para tal fin puede usarse el operador ‘:’, indicando el primer elem<strong>en</strong>to,<br />

el paso (siempre <strong>en</strong> medio) y el último elem<strong>en</strong>to. Cuando el paso no se indica, se<br />

sobre<strong>en</strong>ti<strong>en</strong>de que este es 1. También pued<strong>en</strong> usarse matrices ya conocidas o<br />

implem<strong>en</strong>tadas <strong>en</strong> <strong><strong>Ma</strong>tlab</strong>.<br />

Ejemplo 6.1 Introducir <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> la matriz E:<br />

<br />

<br />

<br />

<br />

<br />

<br />

>> E=[1:2:7;1:-1:-2;ones(1,4);1:4]<br />

E =<br />

1 3 5 7<br />

1 0 -1 -2<br />

1 1 1 1<br />

1 2 3 4<br />

<strong><strong>Ma</strong>tlab</strong> ti<strong>en</strong>e implem<strong>en</strong>tadas expresiones tipo la de ones, que g<strong>en</strong>era una matriz de unos<br />

u otras matrices que se verán <strong>en</strong> la sigui<strong>en</strong>te sección.<br />

6.1.2 <strong>Ma</strong>trices especiales<br />

En esta sección se trabajará con las matrices A y B introducidas al principio:<br />

1 2 3 5<br />

A <br />

<br />

3 2 4 1<br />

<br />

,<br />

6 4 3 2<br />

<br />

4 3 2<br />

B <br />

<br />

5 3 0<br />

<br />

2 5 9<br />

<br />

140<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

Todas las matrices sobre las que se va a explicar cómo g<strong>en</strong>erarlas <strong>en</strong> <strong><strong>Ma</strong>tlab</strong>, se pued<strong>en</strong><br />

consultar <strong>en</strong> la Tabla 6.1. Las últimas columnas indican la salida de <strong><strong>Ma</strong>tlab</strong> y la correspondi<strong>en</strong>te<br />

expresión matricial. Dicha tabla es un breve resum<strong>en</strong> de algunas matrices<br />

especiales, definidas ya <strong>en</strong> <strong><strong>Ma</strong>tlab</strong>, y la simbología <strong>para</strong> las operaciones <strong>en</strong>tre matrices:<br />

Tabla 6.1 Algunas <strong>Ma</strong>trices especiales <strong>en</strong> <strong><strong>Ma</strong>tlab</strong><br />

MATRIZ SINTAXIS EJEMPLO Salida <strong><strong>Ma</strong>tlab</strong> <strong>Ma</strong>triz<br />

Id<strong>en</strong>tidad eye(n) >>eye(2)<br />

1 0<br />

<br />

0 1<br />

<br />

<br />

Nula<br />

zeros(m,n)<br />

>>zeros(2,3)<br />

0 0 0<br />

<br />

0 0 0<br />

<br />

<br />

Unos<br />

ones(m,n)<br />

>>ones(2,1)<br />

1<br />

<br />

1<br />

<br />

<br />

Diagonal<br />

diag([a<br />

b,…,n])<br />

>>diag([-<br />

1,3])<br />

1 0<br />

<br />

0 3<br />

<br />

<br />

Triangular<br />

superior<br />

triu(A)<br />

>>triu(A)<br />

1 2 3 5<br />

<br />

0 2 4 1<br />

<br />

0 0 3 2<br />

<br />

<br />

Triangular<br />

inferior<br />

tril(A)<br />

>>tril(A)<br />

1 0 0 0<br />

<br />

3 2 0 0<br />

<br />

6 4 3 0<br />

<br />

<br />

Nota: Las matrices nulas y de unos, pued<strong>en</strong> ser cuadradas (número de filas igual<br />

a número de columnas, n=m) o rectangulares. En caso de querer construir cualquiera<br />

de ellas cuadrada basta indicar un solo argum<strong>en</strong>to:<br />

>> ones(3)<br />

ans =<br />

1 1 1<br />

1 1 1<br />

1 1 1<br />

141<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Nota: <strong><strong>Ma</strong>tlab</strong> también permite construir una matriz id<strong>en</strong>tidad rectangular (aunque<br />

se llama realm<strong>en</strong>te matriz id<strong>en</strong>tidad a una matriz cuadrada). En realidad lo<br />

que hace es, poner una diagonal de 1’s <strong>en</strong> una matriz de las dim<strong>en</strong>siones indicadas:<br />

>> eye(3,2)<br />

ans =<br />

1 0<br />

0 1<br />

0 0<br />

Nota: Si se introduce la ord<strong>en</strong> >> diag(A), donde A es una matriz, <strong><strong>Ma</strong>tlab</strong> devuelve<br />

el vector columna formado por la diagonal de la matriz argum<strong>en</strong>to.<br />

>> diag(A)<br />

ans =<br />

1<br />

2<br />

3<br />

>> diag(diag(A))<br />

ans =<br />

1 0 0<br />

0 2 0<br />

0 0 3<br />

6.1.3 <strong>Ma</strong>nipulación de matrices, submatrices<br />

En ocasiones puede interesar cambiar elem<strong>en</strong>tos de una matriz, seleccionar alguna<br />

columna o columnas, fila o filas, intercambiar filas, columnas, etc.<br />

Para ilustrar de forma más s<strong>en</strong>cilla dichas manipulaciones sobre las matrices A y B<br />

definidas anteriorm<strong>en</strong>te, las autoras han agrupado todos los resultados <strong>en</strong> una tabla. El<br />

lector puede comprobar cada uno de los casos detallados <strong>en</strong> la Tabla 6.2., la cual se<br />

expone a continuación:<br />

142<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

Tabla 6.2 Ejemplos de manipulación de matrices I<br />

OPERACIÓN SINTAXIS EJEMPLO SALIDA MATLAB<br />

Cambiar el<br />

valor numérico<br />

del elem<strong>en</strong>to<br />

a m,n<br />

A(m,n)=p<br />

>>A(2,4)=-1<br />

Sustituye los<br />

valores de la<br />

fila m por el<br />

vector v<br />

Sustituye los<br />

valores de la<br />

columna n por<br />

el vector w<br />

Intercambiar<br />

filas<br />

Fila f i por f j<br />

A(m,:)=v<br />

A(:;4)=w<br />

A([f i ,f j ],:)=A([fi j ,f i ],:)<br />

>>A(2,:)=ones(1,4)<br />

>>A(:,4)=zeros(3,1)<br />

>>A([2,3],:)=A([3,2],:)<br />

Intercambiar<br />

columnas<br />

columna c k por<br />

c l<br />

Submatriz de A<br />

formada por las<br />

filas <strong>en</strong>tre f1 y<br />

fn<br />

Submatriz de A<br />

con elem<strong>en</strong>tos<br />

consecutivos de<br />

las filas y columnas<br />

A(:,[c k ;c l ])=A(:,[c l ;c k ])<br />

A(f1 : fn, : )<br />

A(f1 : f2, c1 : c2)<br />

>>A(:,[1;2])=A(:,[2;1])<br />

>>A(1:3,:)<br />

>>A(1 : 2, 3 : 4)<br />

Submatriz todas<br />

las filas de A y<br />

las columnas de<br />

la c k a la c l<br />

A( : , ck: cl) >>A( : , 2 : 3)<br />

143<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Tabla 6.3 Ejemplos de manipulación de matrices II<br />

OPERACIÓN SINTAXIS EJEMPLO SALIDA MATLAB<br />

Submatriz de A<br />

al extraer filas y<br />

columnas no A([f1 fk],[c1,c8,cn]) >>A([1 3],[1,3,4])<br />

consecutivas<br />

al final<br />

[A;F]<br />

>>F=<br />

ones(1,4);Af=[A;F]<br />

Añadir a una<br />

matriz una fila<br />

al principio<br />

[F;A]<br />

>>F=<br />

ones(1,4);fA=[F;A]<br />

<strong>en</strong>tre las fila f i y f i+1<br />

[A(1:fi:);F;A(fi+1:f<br />

m:)]<br />

al final<br />

[C A]<br />

>>H=<br />

[A(1:2,:);F;A(3,:)]<br />

>>C=<br />

ones(3,1);cA=[C A]<br />

Añadir a una<br />

matriz una<br />

columna<br />

al principio<br />

[A C]<br />

Entre c k y c ck+1<br />

[A(:,1:ck)<br />

A(:,ck+1:cn)]<br />

C<br />

>>C=<br />

ones(3,1); Ac=[A C]<br />

>>J=<br />

[A(:,1:2) C A(:,3:4)]<br />

Nota: todos los cambios se hac<strong>en</strong> parti<strong>en</strong>do de la matriz A introducida.<br />

144<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

6.1.4 Operaciones con matrices<br />

Las operaciones que pued<strong>en</strong> realizarse con matrices son: suma de matrices, producto de<br />

un escalar por una matriz y producto de matrices.<br />

<strong><strong>Ma</strong>tlab</strong> permite realizar las operaciones habituales del álgebra, algunos ejemplos pued<strong>en</strong><br />

consultarse <strong>en</strong> la tabla 6.4. También pued<strong>en</strong> realizarse operaciones sobre elem<strong>en</strong>tos<br />

de una matriz o <strong>en</strong>tre elem<strong>en</strong>tos de matrices. Los ejemplos correspondi<strong>en</strong>tes pued<strong>en</strong><br />

consultarse <strong>en</strong> la tabla 6.5.<br />

Tabla 6.4 Operaciones algebraicas con matrices.<br />

OPERACIONES Tipo de operador SINTAXIS EJEMPLO<br />

suma (+) o resta<br />

(-)<br />

mismo tamaño<br />

(mn)<br />

Producto (*)<br />

(mn)(np)<br />

>>A+ones(3,4)<br />

>>B*A<br />

Pot<strong>en</strong>cias (^)<br />

>>B^2<br />

Operaciones<br />

algebraicas<br />

matrices<br />

con<br />

sólo matrices<br />

cuadradas<br />

<strong>Ma</strong>triz traspuesta<br />

>>A’<br />

<strong>Ma</strong>triz Inversa<br />

>>A^-1<br />

Tamaño nn<br />

No es cuadrada(34)<br />

>>B^-1<br />

Cuadrada(33)<br />

145<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Para aplicar operaciones <strong>en</strong>tre elem<strong>en</strong>tos de matrices se requiere que las matrices t<strong>en</strong>gan<br />

el mismo tamaño.<br />

Tabla 6.5 Operaciones elem<strong>en</strong>to a elem<strong>en</strong>to<br />

OPERACIÓN SINTAXIS EJEMPLO<br />

Producto de compon<strong>en</strong>tes<br />

>>A.*zeros(3,4)<br />

Cuadrado de compon<strong>en</strong>tes<br />

>>A.^2<br />

División de compon<strong>en</strong>tes<br />

>>A./A<br />

<strong>Ma</strong>triz elevada a<br />

matriz<br />

>>A.^A<br />

6.1.5 Otras funciones implem<strong>en</strong>tadas <strong>en</strong> <strong><strong>Ma</strong>tlab</strong><br />

<strong><strong>Ma</strong>tlab</strong> ti<strong>en</strong>e <strong>en</strong>tre sus herrami<strong>en</strong>tas obt<strong>en</strong>er la traza, el determinante de una matriz,<br />

hallar su tamaño, redim<strong>en</strong>sionar una matriz, etc. Todas ellas se muestran <strong>en</strong> la tabla<br />

6.6. Los ejemplos se han realizado sobre las matrices A o B, introducidas al principio<br />

del capítulo.<br />

1 2 3 5<br />

4 3 2<br />

A <br />

<br />

3 2 4 1<br />

<br />

, B <br />

<br />

5 3 0<br />

<br />

6 4 3 2<br />

<br />

2 5 9<br />

<br />

Si queremos obt<strong>en</strong>er el rango de las matrices usamos el comando >>rank<br />

>>rank(A)<br />

ans<br />

3<br />

146<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

Tabla 6.6 Más funciones de <strong><strong>Ma</strong>tlab</strong><br />

OBJETIVO SINTAXIS SALIDA DE MATLAB<br />

>>A( : )<br />

Cambia de matriz<br />

a vector<br />

Tamaño de la<br />

matriz<br />

>>size(A)<br />

Redim<strong>en</strong>siona<br />

una matriz<br />

A (m n) <strong>en</strong><br />

otra de tamaño<br />

p q<br />

>>reshape(A,<br />

4, 3)<br />

Determinante >>det(B) ans=<br />

11.0000<br />

Traza<br />

Suma de los elem<strong>en</strong>tos<br />

de la diagonal<br />

Forma Escalonada<br />

reducida de una<br />

matriz<br />

>>trace(B)<br />

>>rref(A)<br />

147<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

También es posible voltear las matrices como se muestra <strong>en</strong> la sigui<strong>en</strong>te tabla<br />

Tabla 6.7 Uso del comando flip<br />

OBJETIVO<br />

SALIDA DE MATLAB<br />

voltear los elem<strong>en</strong>tos de<br />

matriz<br />

>>flip<br />

>>flip([1 2 3 4])<br />

>>flip([1; 2; 3 ;4])<br />

>>flip (B)<br />

vector o<br />

voltear de izquierda a derecha<br />

fliplr<br />

voltear de arriba a bajo<br />

flipud<br />

Nota: El comando >>flip(A) puede aplicarse tanto a matrices, como a vectores<br />

columna o fila, actuando de diversa forma según sea el argum<strong>en</strong>to de <strong>en</strong>trada.<br />

Así:<br />

a) Si A es una matriz, >>flip(A) devuelve otra matriz de las mismas dim<strong>en</strong>siones<br />

recorrida de abajo a arriba:<br />

148<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

>> A=[1 2 3 5;3 2 4 1;6 4 3 2]<br />

A =<br />

1 2 3 5<br />

3 2 4 1<br />

6 4 3 2<br />

>> flip(A)<br />

ans =<br />

6 4 3 2<br />

3 2 4 1<br />

1 2 3 5<br />

b) Si A es un vector fila, como no puede recorrerlo de abajo a arriba, devuelve el<br />

vector recorrido de izquierda a derecha. Es decir, <strong>en</strong> este caso hace lo mismo que el<br />

comando >>fliplr(A):<br />

>> C=[ 1 2 3 4 5]<br />

C =<br />

1 2 3 4 5<br />

>> flip(C)<br />

ans =<br />

5 4 3 2 1<br />

>> fliplr(C)<br />

ans =<br />

5 4 3 2 1<br />

c) Si A es un vector columna, de nuevo lo devuelve recorrido de abajo a arriba.<br />

En este caso coincide con el comando >>flipud(A)<br />

>> D=[1;2;3;4;5]<br />

D =<br />

1<br />

2<br />

3<br />

4<br />

5<br />

149<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>> flip(D)<br />

ans =<br />

5<br />

4<br />

3<br />

2<br />

1<br />

>> flipud(D)<br />

ans =<br />

5<br />

4<br />

3<br />

2<br />

1<br />

Es decir, el comando >>flip actúa tanto sea el argum<strong>en</strong>to de <strong>en</strong>trada matriz o vector,<br />

haci<strong>en</strong>do la operación adecuada <strong>en</strong> cada caso. Sin embargo, cuando se us<strong>en</strong> los comandos<br />

>>fliplr y >>flipud, si no pued<strong>en</strong> efectuar su acción sobre la matriz introducida, la<br />

devolverán tal cual:<br />

>> fliplr(D) %recordemos que D es vector columna<br />

ans =<br />

1<br />

2<br />

3<br />

4<br />

5<br />

>> flipud(C) %recordemos que C es vector fila<br />

ans =<br />

1 2 3 4 5<br />

Nota: El comando >>fliplr se utiliza también <strong>para</strong> rell<strong>en</strong>ar áreas (consultar<br />

ejemplos del Capítulo de gráficos)<br />

150<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

6.2 Clasificación y resolución de sistemas de ecuaciones lineales<br />

Un sistema lineal de m ecuaciones y n incógnitas x 1 , x 2 , ..., x n es el conjunto de m<br />

igualdades:<br />

a11 x1 a12 x2 a1n<br />

xn<br />

b1<br />

<br />

a21 x1 a22 x2 a2 n<br />

xn<br />

b<br />

2 <br />

<br />

am1 x<br />

1<br />

a m2<br />

x<br />

2<br />

a mn<br />

x<br />

n<br />

bm<br />

<br />

El sistema de ecuaciones lineales queda determinado cuando se conozca la matriz que<br />

forman sus coefici<strong>en</strong>tes y sus términos indep<strong>en</strong>di<strong>en</strong>tes, situados <strong>en</strong> la misma posición<br />

relativa que ocupaban <strong>en</strong> el sistema.<br />

D<strong>en</strong>ominación de matrices asociadas a un sistema<br />

<strong>Ma</strong>triz de coefici<strong>en</strong>tes <strong>Ma</strong>triz de términos<br />

indep<strong>en</strong>di<strong>en</strong>tes<br />

<strong>Ma</strong>triz ampliada<br />

a a a<br />

a a a<br />

A <br />

<br />

a a a<br />

11 12 1n<br />

21 22 2n<br />

m1 m2 mn<br />

<br />

<br />

<br />

<br />

b1<br />

<br />

b<br />

b <br />

<br />

2<br />

<br />

<br />

b<br />

<br />

m <br />

a 11<br />

a<br />

12<br />

a<br />

1n<br />

b<br />

1 <br />

a 21<br />

a<br />

22<br />

a2n<br />

b<br />

Ab<br />

2<br />

<br />

<br />

a m1<br />

a<br />

m2<br />

amn b <br />

<br />

m <br />

El sistema se escribe matricialm<strong>en</strong>te como: AX=b<br />

a a a<br />

11 12 1n<br />

<br />

a a a<br />

<br />

<br />

<br />

a a a<br />

21 22 2 n<br />

m1 m2 mn<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

x1<br />

<br />

<br />

x2<br />

=<br />

<br />

<br />

xn<br />

<br />

b<br />

1 <br />

<br />

b2<br />

<br />

<br />

<br />

bm<br />

<br />

6.2.1 Clasificación de sistemas de ecuaciones<br />

Dada una matriz A, se d<strong>en</strong>omina rango de A, y se escribe rg(A), al número de unos<br />

principales que aparec<strong>en</strong> <strong>en</strong> cualquier forma escalonada de la matriz A.<br />

Clasificación de sistemas <strong>en</strong> función del rango (Rouché-Frob<strong>en</strong>ius)<br />

En la sigui<strong>en</strong>te tabla, n d<strong>en</strong>otará el número de incógnitas del sistema a clasificar, tal y<br />

como se indica <strong>en</strong> las notaciones empleadas <strong>en</strong> párrafos superiores.<br />

151<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

CRITERIO<br />

rg (A)< rg (A|b)<br />

rg (A)= rg (A|b)=n<br />

rg (A)= rg (A|b)>rank(A).<br />

Se conoc<strong>en</strong> diversos procedimi<strong>en</strong>tos <strong>para</strong> clasificar y resolver sistemas de ecuaciones.<br />

Aunque hallando directam<strong>en</strong>te los rangos de las matrices A, y la matriz ampliada, A|b,<br />

(>>rank(A), rank(Ab)) pued<strong>en</strong> ser clasificados según la tabla anterior.<br />

Clasificar sistemas usando la función >>rref<br />

>> rref(A) devuelve la forma escalonada reducida de la matriz A<br />

Ejemplo 6.2 Clasificar los sistemas de ecuaciones lineales sigui<strong>en</strong>tes con el comando<br />

>>rref<br />

x y z<br />

1 (a)<br />

<br />

x y z<br />

1 x y z<br />

1 <br />

<br />

(b)<br />

(c)<br />

x y z<br />

1 <br />

2x 4y 2z<br />

2 2x 3y 2z<br />

2 <br />

<br />

x 4y z<br />

3 <br />

<br />

3x y 2z<br />

1 <br />

2x 5y z<br />

1<br />

<br />

Primero, se introduc<strong>en</strong> las matrices de coefici<strong>en</strong>tes y las de términos indep<strong>en</strong>di<strong>en</strong>tes<br />

<strong>para</strong> construir la matriz ampliada de cada apartado.<br />

152<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

Una vez obt<strong>en</strong>ida la matriz escalonada reducida, se procede a clasificar y resolver el<br />

sistema <strong>para</strong> cada caso. Las soluciones de cada sistema se han volcado <strong>en</strong> la tabla 6.8,<br />

que se muestra a continuación:<br />

Tabla 6.8 Soluciones de los sistemas y clasificación<br />

>>rank(A)=3<br />

>>rank([A,b1])=3<br />

SCD<br />

>>rank(B)=2<br />

>>rank([B,b2])=2<br />

SCI<br />

>>rank(C)=2<br />

>>rank([B,b3])=3<br />

SI<br />

x=1,y=1,z=1 x+z=1,y=1, z No ti<strong>en</strong>e solución<br />

Es evid<strong>en</strong>te que los rangos se podrían haber calculado directam<strong>en</strong>te con el comando<br />

>>rank, pero no era ese el objetivo de este ejemplo.<br />

Para resolver los sistemas, basta partir de la forma escalonada reducida e ir haci<strong>en</strong>do<br />

sustitución regresiva; es decir, despejar de la última ecuación obt<strong>en</strong>ida la variable que<br />

queda aislada e ir sustituy<strong>en</strong>do <strong>en</strong> las ecuaciones anteriores.<br />

153<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

6.2.2 Resolución de sistemas usando la función: >>inv(A) o A -1<br />

Dado un sistema de ecuaciones escrito matricialm<strong>en</strong>te como AX=b, siempre que exista<br />

la matriz inversa de A (det(A)0), la solución del sistema vi<strong>en</strong>e dada por la expresión<br />

X= A -1 b.<br />

Nota: Únicam<strong>en</strong>te se puede recurrir a la función >>inv(A) si la matriz de coefici<strong>en</strong>tes<br />

es invertible, es decir, si el determinante es no nulo. Pero <strong>en</strong> ocasiones,<br />

aun si<strong>en</strong>do la matriz invertible, si posee un valor del determinante muy próximo<br />

a cero, <strong><strong>Ma</strong>tlab</strong> puede interpretarlo como nulo y no permitir calcular su inversa.<br />

Por lo tanto, <strong>para</strong> estos casos deberá aplicarse otro método.<br />

Si se calculan los determinantes <strong>para</strong> cada sistema propuesto, a partir del resultado se<br />

concluye<br />

(valor próximo a<br />

cero)<br />

Ti<strong>en</strong>e inversa No ti<strong>en</strong>e inversa No ti<strong>en</strong>e inversa<br />

x=1,y=1,z=1<br />

6.2.3 Resolución de sistemas usando división matricial a la izquierda: A\b<br />

Aplicando esta operación <strong>para</strong> resolver el sistema AX=b1 del ejemplo anterior, se t<strong>en</strong>drá:<br />

>> A\b1 % devuelve la misma solución que con el cálculo de la inversa<br />

ans =<br />

1<br />

1<br />

1<br />

154<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

Nota: de nuevo este método sirve solo cuando los sistemas son compatibles determinados.<br />

6.2.4 Resolución de sistemas usando la función: >>solve<br />

La función >>solve implem<strong>en</strong>tada <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> resuelve ecuaciones y sistemas de ecuaciones<br />

lineales (ya explicado este comando <strong>en</strong> la parte de Análisis <strong>en</strong> el Capítulo de<br />

Operaciones básicas). Recordar que >>solve trabaja con variables simbólicas, así que o<br />

previam<strong>en</strong>te se declaran como simbólicas, o bi<strong>en</strong> los argum<strong>en</strong>tos se escrib<strong>en</strong> con comillas<br />

simples. La resolución se muestra <strong>en</strong> la tabla 6.6.<br />

También se puede acceder a la ayuda que ofrece el propio programa:<br />

>>help doc solve<br />

x y z<br />

1 La resolución del sistema (a)<br />

<br />

x y z<br />

1 x y z<br />

1 <br />

<br />

del Ejemplo 6.2 mediante solve<br />

x =<br />

1<br />

>>[x,y,z]=solve('-x+y+z=1','xy+z=1','x+y-z=1')<br />

1<br />

y =<br />

z =<br />

SCD<br />

1<br />

La solución es única y el sistema se clasifica como Sistema Compatible Determinado.<br />

155<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Uso de solve <strong>para</strong> resolver el sistema (b)<br />

>><br />

[x,y,z]=solve('x+y+z=1','2+x+4*y+2*z=<br />

2','2*x+3*y+2*z=2')<br />

SCI<br />

x y z<br />

1 <br />

2x 4y 2z<br />

2 del Ejemplo 6.2<br />

2x 3y 2z<br />

2 <br />

<br />

>><br />

[x,y,z]=solve('x+y+z=1','2*x+4*y+2*z=<br />

2','2*x+3*y+2*z=2')<br />

Warning: The solutions are <strong>para</strong>metrized<br />

by the symbols:<br />

z1 = C_<br />

> In solve at 190<br />

x =<br />

1 - z1<br />

y =<br />

0<br />

z =<br />

z1<br />

Nota: En caso de sistema compatible indeterminado el programa avisa con un<br />

m<strong>en</strong>saje indicando el parámetro.<br />

Resolución del sistema (c)<br />

x 4y z<br />

3 <br />

<br />

3x y 2z<br />

1 del Ejemplo 6.2.<br />

2x 5y z<br />

1<br />

<br />

>>[x,y,z]=solve('x+4*y+z=3','3*xy+2*z=1','2*x+-5*y+z=-1')<br />

SI<br />

Warning:Explicit solution could not be<br />

found.<br />

> In solve at 179<br />

x =<br />

[ empty sym ]<br />

y =<br />

[ ]<br />

z =<br />

[ ]<br />

156<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

6.2.5 Resolución de sistemas usando la Regla de Cramer<br />

Para resolver sistemas de n ecuaciones con n incógnitas compatibles determinados, es<br />

conocida la Regla de Cramer donde, dado el sigui<strong>en</strong>te sistema cuadrado:<br />

puede ser resuelto mediante:<br />

a11 x1 a12 x2 a1 n<br />

xn<br />

b1<br />

<br />

a21 x1 a22 x2 a2n<br />

xn<br />

b<br />

2 <br />

<br />

an 1<br />

x1 an2 x2 ann xn<br />

bn<br />

<br />

x<br />

1<br />

<br />

b a a<br />

1 12 1n<br />

b2 a22 a2<br />

n<br />

<br />

n n2<br />

<br />

nn<br />

11 12<br />

<br />

1n<br />

21 22<br />

<br />

2n<br />

<br />

n1 n2 <br />

nn<br />

b a a<br />

a a a<br />

a a a<br />

a a a<br />

,<br />

x<br />

2<br />

<br />

a b a<br />

11 1 1n<br />

a21 b2 a2n<br />

<br />

an1<br />

bn ann<br />

11 12<br />

<br />

1n<br />

21 22<br />

<br />

2n<br />

<br />

n1 n2 <br />

nn<br />

a a a<br />

a a a<br />

a a a<br />

, ,<br />

x<br />

2<br />

<br />

a a b<br />

11 12 1<br />

a a b<br />

21 22 2<br />

<br />

an1 an2<br />

b<br />

a a a<br />

11 12 1n<br />

a a a<br />

21 22 2n<br />

<br />

a a a<br />

n1 n2<br />

n<br />

nn<br />

Es decir, <strong>en</strong> g<strong>en</strong>eral<br />

x i<br />

<br />

a a b a a<br />

11 12 1i 1i1 1n<br />

a a b a a<br />

21 22 2i 2i1 2n<br />

<br />

a a b a a<br />

n1 n2 ni ni1<br />

nn<br />

|A|<br />

Ejemplo 6.3 Resolver el sigui<strong>en</strong>te sistema mediante Cramer:<br />

x1 x2 + x3<br />

=1 <br />

<br />

x1 x2 x3<br />

=1 <br />

2 x1 x2 x3<br />

=1 <br />

<br />

>> A=[1 1 1;1 -1 1;2 1 1],b=[1;1;1],Ab=[A b]<br />

A =<br />

1 1 1<br />

1 -1 1<br />

2 1 1<br />

157<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

b =<br />

1<br />

1<br />

1<br />

Ab =<br />

1 1 1 1<br />

1 -1 1 1<br />

2 1 1 1<br />

>> rank(A) %primero se comprueba mediante rangos que el sistema es SCD<br />

ans =<br />

3<br />

>> rank(Ab)<br />

ans =<br />

3<br />

Por lo tanto, el sistema es COMPATIBLE DETERMINADO, y puede ser resuelto<br />

usando la Regla de Cramer. Así:<br />

>> x1=det([b A(:,2) A(:,3)])/det(A),x2=det([A(:,1) b A(:,3)])/det(A),x3=det([ A(:,1)<br />

A(:,2) b])/det(A)<br />

x1 =<br />

0<br />

x2 =<br />

0<br />

x3 =<br />

1<br />

O bi<strong>en</strong>, también puede escribirse:<br />

>> x=[det([b A(:,2) A(:,3)])/det(A),det([A(:,1) b A(:,3)])/det(A),det([A(:,1) A(:,2)<br />

b])/det(A)]<br />

x =<br />

0 0 1<br />

158<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

<br />

Programando Cramer:<br />

Para no ir poni<strong>en</strong>do <strong>en</strong> cada caso la matriz de coefici<strong>en</strong>tes <strong>en</strong> la que se reemplaza el<br />

vector de los términos indep<strong>en</strong>di<strong>en</strong>tes y así aplicar Cramer, se puede programar el método<br />

<strong>en</strong> <strong><strong>Ma</strong>tlab</strong>. Debe hacerse desde el Editor de <strong><strong>Ma</strong>tlab</strong> y usando s<strong>en</strong>t<strong>en</strong>cias de programación.<br />

Los bucles <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> se realizan a través del comando for o while y las<br />

condiciones mediante la estructura if. Para ir al editor, bastará seleccionar <strong>en</strong> el m<strong>en</strong>ú la<br />

opción New Script:<br />

Una vez abierta la v<strong>en</strong>tana del Editor<br />

Figura 6.1 Cómo acceder al editor de <strong><strong>Ma</strong>tlab</strong><br />

Figura 6.2 Editor de <strong><strong>Ma</strong>tlab</strong><br />

159<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

ya puede escribirse <strong>en</strong> él. Los ficheros creados t<strong>en</strong>drán ext<strong>en</strong>sión .m y recib<strong>en</strong> el nombre<br />

con el que se guarda el fichero. Asegurarse de que el nombre del fichero coincida<br />

con el de la función o instrucción que se crea (es el nombre que <strong><strong>Ma</strong>tlab</strong>, además, le<br />

pone por defecto). Este fichero <strong>en</strong> cuanto es guardado aparecerá <strong>en</strong> la v<strong>en</strong>tana de Curr<strong>en</strong>t<br />

Folder, siempre que esté seleccionada la ruta adecuada <strong>para</strong> poderlo ejecutar:<br />

Figura 6.3 Acceso desde Curr<strong>en</strong>t Folder a una función<br />

Las autoras han creado <strong>para</strong> su asignatura una función que aplica la regla de Cramer<br />

(se llamará cramer). Aunque no se adjunta aquí dicha función, sí se expondrán ejemplos<br />

de su uso <strong>para</strong> ilustrar Cramer más ampliam<strong>en</strong>te, e iniciarse un poco con el tema<br />

de programación.<br />

Una función se crea directam<strong>en</strong>te, siempre que conozcamos su estructura, o bi<strong>en</strong> clicando<br />

<strong>en</strong> el icono desplegable de New desde el Editor, y ahí seleccionando function.<br />

Para poder usarla posteriorm<strong>en</strong>te, <strong>en</strong> la sesión de trabajo, debe estar cargada y t<strong>en</strong>er la<br />

ruta donde está almac<strong>en</strong>ada <strong>en</strong> <strong><strong>Ma</strong>tlab</strong>. Si se duda acerca de lo que hace o de los argum<strong>en</strong>tos<br />

de <strong>en</strong>trada, teclear <strong>en</strong> la Command Window:<br />

>> help cramer<br />

Este programa calcula la solución de un sistema de n ecuaciones<br />

con n incógnitas que sea SCD mediante la Regla de Cramer.<br />

Los argum<strong>en</strong>tos de <strong>en</strong>trada de esta función deb<strong>en</strong> ser:<br />

1.- <strong>en</strong> primer lugar la matriz de los<br />

coefici<strong>en</strong>tes<br />

2.- <strong>en</strong> segundo lugar el vector columna de los términos<br />

160<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

indep<strong>en</strong>di<strong>en</strong>tes.<br />

El argum<strong>en</strong>to de salida será la solución del sistema.<br />

El programador de una función habrá puesto com<strong>en</strong>tarios previos a la primera instrucción,<br />

que son los que se obti<strong>en</strong><strong>en</strong> cuando se pide la ayuda con el comando >>help. Su<br />

ejecución indicará si la Regla de Cramer es o no aplicable, y <strong>en</strong> caso de respuesta afirmativa<br />

resolverá el sistema.<br />

Ejemplo 6.4 Resolver mediante Cramer los sigui<strong>en</strong>tes sistemas:<br />

x 2 x =-1 <br />

2 x1<br />

4 x2=-2<br />

<br />

a) 1 2<br />

b) x1 x2 x3<br />

2 +3 =1 c)<br />

x1<br />

x2 + x3<br />

=1 <br />

<br />

x1 x2 x3<br />

=1 <br />

2 x1 x2 x3<br />

=1 <br />

<br />

Resolución:<br />

a) Claram<strong>en</strong>te es un sistema compatible indeterminado, por lo tanto no se puede usar<br />

directam<strong>en</strong>te la regla de Cramer, y así nos lo indicará el programa cramer:<br />

>> cramer([1 2; 2 4],[-1 ;-2])<br />

Error using cramer (line 16)<br />

Aunque la matriz es cuadrada, el sistema NO es compatible determinado. NO podemos<br />

usar la regla de Cramer<br />

b) En este caso el sistema no es un sistema cuadrado, luego tampoco se puede aplicar<br />

Cramer, hecho que también lo indicará función:<br />

>> cramer([ 1 2 3],[1])<br />

Error using cramer (line 22)<br />

La matriz no es cuadrada. NO podemos aplicar Regla de Cramer<br />

c) Este sistema de mom<strong>en</strong>to es cuadrado, luego se introduc<strong>en</strong> las matrices argum<strong>en</strong>to:<br />

>> cramer(A,b)<br />

La matriz es cuadrada y el sistema es Compatible Determinado. Podemos aplicar Regla<br />

de Cramer<br />

x =<br />

0 0 1<br />

Observar que la función cramer precisa de 2 argum<strong>en</strong>tos, la matriz de coefici<strong>en</strong>tes y el<br />

vector columna de términos indep<strong>en</strong>di<strong>en</strong>tes. Si no se le proporcionan, devolverá la<br />

161<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

solución nula y un m<strong>en</strong>saje de error avisando de que no hay sufici<strong>en</strong>tes argum<strong>en</strong>tos de<br />

<strong>en</strong>trada:<br />

>> cramer([1 1;1 1])<br />

x =<br />

0 0<br />

Error using cramer (line 10)<br />

Not <strong>en</strong>ough input argum<strong>en</strong>ts.<br />

De todas formas, <strong>para</strong> aquel alumno interesado <strong>en</strong> la programación y que desee t<strong>en</strong>er el<br />

código empleado, o bi<strong>en</strong> podrá pedir una vez cargado<br />

>>type cramer, sali<strong>en</strong>do por pantalla <strong>en</strong> la Command Window el código del programa,<br />

o bi<strong>en</strong><br />

>>edit cramer, que abrirá la v<strong>en</strong>tana del editor y accederá al programa desde ahí.<br />

(<strong><strong>Ma</strong>tlab</strong> usa colores <strong>para</strong> indicar las s<strong>en</strong>t<strong>en</strong>cias de programación –azul-, los com<strong>en</strong>tarios<br />

–verde-, las asignaciones o instrucciones –negro-, las salidas de texto por pantalla<br />

–morado-. Ayudando así a una mejor compr<strong>en</strong>sión del código del programa).<br />

6.2.6 Resolución de sistemas de ecuaciones dep<strong>en</strong>di<strong>en</strong>tes de parámetros<br />

Para resolver sistemas de ecuaciones lineales con parámetros hay que recurrir a aplicar<br />

Gauss <strong>para</strong> obt<strong>en</strong>er la forma escalonada asociada al sistema. De este modo el usuario<br />

clasifica y obti<strong>en</strong>e las soluciones.<br />

Para ello deb<strong>en</strong> realizarse operaciones elem<strong>en</strong>tales sobre filas .Si la matriz es A, las<br />

filas de la matriz se id<strong>en</strong>tifican como A(1,:)Fila 1; A(2,:)Fila 2, etc. En la tabla<br />

posterior se indican cómo efectuarlas:<br />

Tabla 6.9 Operaciones elem<strong>en</strong>tales con <strong><strong>Ma</strong>tlab</strong><br />

OPERACIONES ELEMEN-<br />

TALES POR FILAS<br />

Intercambio de filas<br />

F i F j<br />

Multiplicación de una<br />

fila por un número no<br />

nulo k F j<br />

Sumar a una fila un múltiplo<br />

de otra<br />

F i + k F j<br />

OPERACIÓN SOBRE LA<br />

MATRIZ A<br />

Intercambiar F1 por las<br />

F2 la matriz A<br />

la fila 3 por (1/4)<br />

F2 la cambio por F2-<br />

(1/4)F1<br />

CÓMO SE EXPRESA EN MATLAB<br />

Definimos la nueva matriz como A1<br />

>>A1=[A(2,:);A(1,:);A(3,:)]<br />

Definimos la nueva matriz como A2<br />

>>A2=[A(1,:);A(2,:); (1/4)*A(3,:)]<br />

Definimos la nueva matriz como A3<br />

>>A3=[A(1,:);A(2,:)- (1/4)*A(1,:);<br />

A(3,:)]<br />

162<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

Ejemplo 6.5 Estudiar y resolver <strong>en</strong> función de m y p el sistema de ecuaciones<br />

x y z<br />

1 <br />

x my z<br />

1 px y z<br />

1<br />

<br />

Resolución.<br />

1º Defini<strong>en</strong>do como simbólicas las variables m y p, se introduce la matriz ampliada y<br />

se aplican operaciones elem<strong>en</strong>tales sobre filas <strong>para</strong> obt<strong>en</strong>er la matriz escalonada asociada<br />

al sistema de ecuaciones.<br />

Se ha obt<strong>en</strong>ido la matriz escalonada asociada al sistema.<br />

2º Sustituir los valores de p y m que pued<strong>en</strong> modificar el rango, es decir, el número de<br />

unos principales. Para clasificar se mira el número de unos principales y, <strong>para</strong> resolver,<br />

se usará el comando >>rref. Los resultados <strong>en</strong> función de los valores de m y p se<br />

muestran <strong>en</strong> la Tabla 6.10.<br />

163<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

Tabla 6.10 Resultados de clasificación dep<strong>en</strong>di<strong>en</strong>do de los valores de m y p<br />

Caso m=1, p1 Caso m1, p=1 Caso m=1, p=1 Caso m1, p1<br />

>>rank(A)=2<br />

>>rank(A)=2<br />

>>rank(A)=1<br />

>>rank(A)=3<br />

>>rank([A,b])=2<br />

>>rank([A,b])=2<br />

>>rank([A,b])=1<br />

>>rank([A,b])=3<br />

SCI<br />

SCI<br />

SCI<br />

SCD<br />

x+y=1, z=1 z x+z=1,y=1, z x=1-y-z,<br />

z y <br />

x=0, y=0, z=1<br />

6.3 Ajustes de datos (mínimos cuadrados)<br />

El ajuste de curvas se utiliza cuando se ti<strong>en</strong>e una serie de datos calculados y se desea<br />

conocer valores intermedios no conocidos, o también, <strong>en</strong> aquellos casos <strong>en</strong> que se<br />

desee una versión simplificada de una función que se ajuste a un número de valores<br />

concretos, y posteriorm<strong>en</strong>te usar la función simplificada <strong>para</strong> obt<strong>en</strong>er nuevos valores.<br />

Si los datos no son muy exactos, o ti<strong>en</strong><strong>en</strong> asociado un error (ruido), <strong>en</strong>tonces la mejor<br />

manera es establecer una sola curva que repres<strong>en</strong>te la t<strong>en</strong>d<strong>en</strong>cia g<strong>en</strong>eral de los datos<br />

observados. Este procedimi<strong>en</strong>to se conoce como REGRESIÓN LINEAL, cuyo método<br />

más s<strong>en</strong>cillo es la regresión por mínimos cuadrados.<br />

La forma de realizar ajustes mediante Mínimos Cuadrados <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> es usando el comando<br />

>>polyfit(x,y,n), donde:<br />

<br />

x e y son vectores que conti<strong>en</strong><strong>en</strong> los datos puntuales que se desean ajustar<br />

164<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

<br />

<br />

n es el número de datos<br />

p son los coefici<strong>en</strong>tes del polinomio de ajuste.<br />

La función >>polyfit se utiliza <strong>para</strong> obt<strong>en</strong>er el ajuste sobre m puntos, <strong>para</strong> cualquier<br />

grado indicado por n. Si n=1 ajustamos a una recta; n= 2 será un parábola, etc.<br />

La salida son los coefici<strong>en</strong>tes del polinomio. El número de coefici<strong>en</strong>tes dep<strong>en</strong>de del<br />

grado del polinomio que pidamos <strong>para</strong> ajustar.<br />

Coefici<strong>en</strong>te de correlación:<br />

Para estudiar el grado de relación lineal que existe <strong>en</strong>tre dos variables, se calcula el<br />

coefici<strong>en</strong>te de correlación lineal R, con R [-1,1]. Si el coefici<strong>en</strong>te de correlación lineal<br />

está próximo a 1, los datos se agrupan <strong>en</strong> torno a una recta de p<strong>en</strong>di<strong>en</strong>te positiva; si<br />

está próximo a -1, los datos se agrupan <strong>en</strong> torno a una recta de p<strong>en</strong>di<strong>en</strong>te negativa.<br />

Cuanto más alejado del valor 1 o -1, más dispersa se <strong>en</strong>cu<strong>en</strong>tra la nube de puntos de la<br />

curva ajustada.<br />

Cuando el valor de R es positivo, indica que la relación <strong>en</strong>tre las variables es directa, es<br />

decir, a mayor cantidad de una variable, mayor cantidad de la otra. Mi<strong>en</strong>tras que si da<br />

un coefici<strong>en</strong>te de correlación negativo, la relación sería indirecta, a mayor valor de una<br />

variable m<strong>en</strong>or valor de la otra.<br />

<strong>Ma</strong>temáticam<strong>en</strong>te el coefici<strong>en</strong>te de correlación de Pearson vi<strong>en</strong>e dado por la expresión:<br />

<br />

<br />

donde es la covarianza de las variables, y el producto de las desviaciones<br />

típicas de x e y respectivam<strong>en</strong>te.<br />

En <strong><strong>Ma</strong>tlab</strong>, el comando >>cov(X), donde X es una matriz de datos, o bi<strong>en</strong> >>cov(X,Y)<br />

donde X e Y son los vectores de datos de las dos variables a analizar, devuelve una<br />

matriz C donde los elem<strong>en</strong>tos de la diagonal son las varianzas de cada una de las variables.<br />

Con este matriz es con la que <strong><strong>Ma</strong>tlab</strong> calcula el coefici<strong>en</strong>te de correlación.<br />

R, <strong>en</strong> verdad, será de nuevo una matriz, donde la posición que al usuario le interesa<br />

<strong>para</strong> conocer el coefici<strong>en</strong>te de correlación de Pearson, es la posición (1,2) o (2,1), ya<br />

que es una matriz simétrica.<br />

En <strong><strong>Ma</strong>tlab</strong> se calcula mediante<br />

>> corrcoef(x,y) % devuelve la matriz de correlación <strong>en</strong>tre ambas variables<br />

Una vez obt<strong>en</strong>ida la curva de regresión, se pued<strong>en</strong> obt<strong>en</strong>er las predicciones <strong>para</strong> la<br />

variable y a partir de los valores conocidos de la variable x, sustituy<strong>en</strong>do conv<strong>en</strong>i<strong>en</strong>tem<strong>en</strong>te<br />

o bi<strong>en</strong> utilizando el comando >>polyval de MATLAB.<br />

165<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

>> polyval(m,X) % evalúa el polinomio con coefici<strong>en</strong>tes almac<strong>en</strong>ados <strong>en</strong> el<br />

vector m <strong>en</strong> todos los valores de la variable X<br />

Ejemplo 6.6<br />

Se han realizado medidas de la velocidad de un coche <strong>en</strong> (m/s) cada 0.5 segundos. Los<br />

datos obt<strong>en</strong>idos se muestran <strong>en</strong> la sigui<strong>en</strong>te tabla:<br />

v (m/s) 1.58 3.26 4.84 6.38 8.24 9.72<br />

t (s) 0.5 1.0 1. 5 2.0 2.5 3.0<br />

Sabi<strong>en</strong>do que v= v 0 +at<br />

(a) Ajustar los datos a un polinomio de grado uno (recta), indicando velocidad<br />

inicial y aceleración.<br />

(b) Repres<strong>en</strong>tar los datos de las tablas.<br />

(c) Escribir la ord<strong>en</strong> adecuada <strong>para</strong> que la salida sea el vector de los valores estimados<br />

de la aproximación dada por la recta.<br />

(d) Repres<strong>en</strong>tar la recta de regresión <strong>en</strong> la misma v<strong>en</strong>tana que los datos del apartado<br />

(b).<br />

(e) A partir de la recta de regresión predecir la velocidad que alcanzará <strong>en</strong> el instante<br />

t=1 minuto.<br />

(a)<br />

>> v=[1.58 3.26 4.84 6.38 8.24 9.72];t=[0.5 1.0 1.5 2.0 2.5 3.0];<br />

>> recta=polyfit(t,v,1)<br />

recta =<br />

3.2674 -0.0480<br />

Por lo tanto, la recta de ajuste buscada es: v = 3.2674 - 0.0480*t<br />

>> R=corrcoef(t,v)<br />

R =<br />

1.0000 0.9997<br />

0.9997 1.0000<br />

En este caso el coefici<strong>en</strong>te de correlación es R= 0.9997, próximo a 1, lo que indica una<br />

fuerte relación lineal directa <strong>en</strong>tre las medidas.<br />

166<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

(b) repres<strong>en</strong>tación<br />

>>plot(t,v,'o');xlabel('tiempo');ylabel('velocidad')<br />

10<br />

9<br />

8<br />

7<br />

velocidad<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0.5 1 1.5 2 2.5 3<br />

tiempo<br />

(c) >> polyval(recta,t) % la salida es el vector fila de velocidades<br />

ans =<br />

1.5857 3.2194 4.8531 6.4869 8.1206 9.7543<br />

(d) Ahora se van a repres<strong>en</strong>tar los valores de t fr<strong>en</strong>te a las velocidades que proporciona<br />

el polinomio, d<strong>en</strong>ominado como vajuste<br />

>> vajuste=polyval(recta,t)<br />

vajuste =<br />

1.5857 3.2194 4.8531 6.4869 8.1206 9.7543<br />

>> hold on<br />

>> plot(t,vajuste,'r')<br />

167<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

10<br />

9<br />

8<br />

7<br />

velocidad<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0.5 1 1.5 2 2.5 3<br />

tiempo<br />

(e) Al evaluar la velocidad que corresponde al instante t=1 minuto se obti<strong>en</strong>e<br />

>> polyval(recta,60)<br />

ans =<br />

195.9977<br />

En las diversas disciplinas ci<strong>en</strong>tíficas, <strong>en</strong> ocasiones, es necesario utilizar funciones<br />

distintas a las polinómicas <strong>para</strong> ajustar datos. Por ello, se muestra <strong>en</strong> la tabla 6.11 otros<br />

posibles ajustes de curvas:<br />

Tabla 6.11 Relación de comando >>polyfit<br />

NOMBRE FUNCIÓN EXPRESIÓN SINTAXIS DEL COMANDO<br />

recta y=ax+b P=polifit(x,y,1)<br />

Pot<strong>en</strong>cial y=bx m P=polyfit(log(x),log(y))<br />

P=polyfit(x,log(y),1)<br />

Expon<strong>en</strong>cial y = be mx y=b10 mx P=polyfit(x,log10(y),1)<br />

logarítmica<br />

y= mLn(x)+l P=polyfit(log(x),y,1)<br />

y=mlog(x)+b P=polyfit(log10(x),y,1)<br />

recíproca<br />

1<br />

P=polyfit(x,1./y,1)<br />

y <br />

mx b<br />

168<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

6.4 Ejercicios<br />

1.- Introducir la sigui<strong>en</strong>te matriz sin hacerlo elem<strong>en</strong>to a elem<strong>en</strong>to.<br />

2.- Dada la matriz<br />

1 0 2 3 4<br />

<br />

0 1 1 1 1<br />

<br />

<br />

<br />

0 0 3 0 0<br />

<br />

<br />

0 0 0 3 0<br />

0 0 0 0 3<br />

<br />

<br />

1 0 1 1 1<br />

<br />

0 1 1 1 1<br />

<br />

<br />

<br />

M 0 0 2 0 0<br />

<br />

<br />

0 0 0 2 0<br />

0 0 0 0 2<br />

<br />

<br />

(a) Introducir M <strong>en</strong> <strong><strong>Ma</strong>tlab</strong> sin hacerlo elem<strong>en</strong>to a elem<strong>en</strong>to; es decir, utilizando<br />

matrices especiales o los cambios explicados.<br />

(b) Definir una matriz M1 a partir de M pero con una columna de unos <strong>en</strong>tre la 3ª<br />

y 4ª columna.<br />

(c) Calcular <strong>para</strong> M: traza, rango, determinante e inversa.<br />

(d) Obt<strong>en</strong>er M2 a partir de M1 cambiando la última fila por los números que van<br />

del 2 al 12.<br />

(e) ¿qué cambios deb<strong>en</strong> hacerse <strong>para</strong> g<strong>en</strong>erar a partir de M la matriz M3? si<strong>en</strong>do<br />

M3 la sigui<strong>en</strong>te matriz<br />

1 2 1 2 1 2 1<br />

<br />

1 0 1 1 1 2 1<br />

<br />

<br />

<br />

0 1 3 1 1 2 1<br />

<br />

<br />

M 3 0 0 0 4 1 2 1 <br />

0 0 0 0 5 2 1<br />

<br />

<br />

1 2 3 4 5 6 1<br />

6 5 4 3 2 1 1<br />

<br />

<br />

169<br />

www.full-ebook.com


<strong><strong>Ma</strong>tlab</strong> <strong>para</strong> <strong>Ma</strong>temáticas <strong>en</strong> ing<strong>en</strong>ierías<br />

1 1 <br />

3.- Sean las matrices A = <br />

3 4<br />

<br />

, B = 1 2 <br />

<br />

-1 0<br />

<br />

y C = 1 3 <br />

<br />

2 10<br />

. Obt<strong>en</strong>er la matriz<br />

<br />

X que cumple la igualdad C (B+X) A -1 + C T = A<br />

4.- Discutir el sigui<strong>en</strong>te sistema de ecuaciones lineales <strong>en</strong> función del parámetro k.<br />

kx y z<br />

1 <br />

<br />

x ky z k<br />

<br />

2 <br />

x y kz k <br />

5.- Resolver los sigui<strong>en</strong>tes sistemas usando Cramer. Primero hallando cada una de las<br />

variables y luego usando la función cramer:<br />

<br />

<br />

<br />

<br />

<br />

a)<br />

<br />

<br />

<br />

<br />

<br />

7 x 16 8<br />

<br />

6.- Dada la matriz<br />

<br />

16 7 x 8<br />

<br />

, estudiar <strong>para</strong> qué valores de x el<br />

<br />

8 8 5<br />

x<br />

<br />

<br />

<br />

determinante de la matriz se anula.<br />

7.- Encontrar el valor o valores de x que cumple<br />

0 1 1 1<br />

1 0 1 1 x 3<br />

<br />

1 1 0 1 4 1<br />

x<br />

1 1 1 0<br />

9<br />

.<br />

8.- Resolver <strong>en</strong> función de x la ecuación<br />

k .<br />

k x k<br />

2<br />

20 0<br />

k k x k<br />

<br />

2<br />

2 5 0<br />

0 k k 20x<br />

2<br />

, con<br />

170<br />

www.full-ebook.com


Introducción al álgebra matricial<br />

9.- Hallar la relación que debe existir <strong>en</strong>tre los elem<strong>en</strong>tos de la matriz<br />

1 1<br />

<strong>para</strong> que conmute con la matriz B <br />

<br />

0 1 .<br />

<br />

p<br />

A <br />

r<br />

q<br />

s <br />

<br />

10.- Sea la matriz<br />

(i) Calcular A -1<br />

1 1 0 <br />

A <br />

<br />

0 2 3<br />

<br />

<br />

0 0 3 <br />

<br />

(ii) Si B= A-I, ¿es invertible?<br />

11.- Obt<strong>en</strong>er la recta (p<strong>en</strong>di<strong>en</strong>te, ord<strong>en</strong>ada <strong>en</strong> el orig<strong>en</strong> y coefici<strong>en</strong>te de correlación)<br />

que mejor se ajuste a los puntos de la sigui<strong>en</strong>te tabla, utilizando el método de los<br />

mínimos cuadrados.<br />

x<br />

y<br />

1.2 1.0<br />

2.0 1.6<br />

2.4 3.4<br />

3.5 4.0<br />

3.5 5.2<br />

171<br />

www.full-ebook.com


www.full-ebook.com


7 Refer<strong>en</strong>cias bibliográficas<br />

[1] Chapra, Stev<strong>en</strong> C.(2012). Applied numerical methods with <strong><strong>Ma</strong>tlab</strong> for<br />

<strong>en</strong>gineers and sci<strong>en</strong>tists Ed Mc Graw Hill International Edition.<br />

[2] Estruch, V. & Sap<strong>en</strong>a Piera, A. (2010) Lecciones de estadística. Ed Universitat<br />

Politècnica de València.<br />

[3] Giner,S. (2008) Curso de <strong><strong>Ma</strong>tlab</strong>. /Apuntes de simulación de procesos I. Área<br />

departam<strong>en</strong>tal Ig<strong>en</strong>ieria Química. Facultad de Ing<strong>en</strong>ieria. Proced<strong>en</strong>cia Internet<br />

[4] Moore, H. (2007) <strong><strong>Ma</strong>tlab</strong> <strong>para</strong> ing<strong>en</strong>ieros.<br />

[5] <strong>Ma</strong>rchand, P. (2003). Graphics and guis with MATLAB.<br />

[6] Pabón Ángel, H. (2010). Probabilidad y estadística con matlab® <strong>para</strong><br />

investigadores MSc. Universidad de Cundimarca.<br />

[7] Pateiro López , B. (2008-2009 ) Estadística ing<strong>en</strong>iería química USC. Curso.<br />

[8] Polanía Pu<strong>en</strong>tes, J.A, Tutorial de matlab aplicado<br />

[9] Rodríguez del Río, R. Gráficas con <strong><strong>Ma</strong>tlab</strong>, Departam<strong>en</strong>to de <strong>Ma</strong>temática<br />

Aplicada, Universidad Complut<strong>en</strong>se de <strong>Ma</strong>drid.<br />

[10] Romero,R., Zúnica R. (2012). Métodos estadísticos <strong>en</strong> ing<strong>en</strong>iería. Ed<br />

Universitat Politècnica de València.<br />

[11] https://www.uam.es/personal_pdi/economicas/rociomar/descriptiva.htm<br />

[12] http://www.unizar.es/fmi, Versión actualizada <strong>en</strong> agosto de 2006. Un curso de<br />

MATLAB, Grupo FMI, Departam<strong>en</strong>to de <strong>Ma</strong>temática Aplicada, Universidad de<br />

Zaragoza.<br />

[13] http://dv.uja<strong>en</strong>.es/doc<strong>en</strong>cia<br />

(/ilias.php?ref_id=85771&from_page=33288&frame=_blank&obj_id=33286&<br />

cmd=layout&cmdClass=illmpres<strong>en</strong>tationgui&cmdNode=9i&base)<br />

[14]<br />

http://www.academia.edu/1743296/<strong>Ma</strong>nual_de_Introducci%C3%B3n_a_<strong>Ma</strong>tl<br />

ab<br />

[15] https://cristiancastrop.files.wordpress.com/2010/09/matlab_graficos.<strong>pdf</strong><br />

[16] Borrel i Nogueras, Guillem. Introducción informal al <strong><strong>Ma</strong>tlab</strong> y Octave.<br />

http://www.dc.uba.ar/materias/escuela-complu<strong>en</strong>se/2012/Curso<strong><strong>Ma</strong>tlab</strong>guillem.<br />

173<br />

www.full-ebook.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!