Logo Studenta

Matlab_para_Matemáticas_en_Ingenierías_Lucía_Agud_y_Ma_Leonor_Pla (1)

¡Este material tiene más páginas!

Vista previa del material en texto

EDITORIAL
Matlab para matemáticas en ingenierías 
Lucía Agud Albesa
Mª Leonor Pla Ferrando
 
En este libro las autoras facilitan al lector las herramientas disponibles en el paquete 
matemático Matlab para poder desarrollar y aplicar los contenidos de Análisis Mate-
mático –de una y varias variables–, Álgebra y Estadística, que se precisan tanto en el 
estudio de las carreras de ciencias como en los técnicas.
El libro explica los conceptos y contenidos matemáticos necesarios, detalla las fór-
mulas precisas para su cálculo, y su aplicación y obtención mediante Matlab, resul-
tando de interés para aquellos que quieran iniciarse en el uso de Matlab. Las autoras 
desarrollan multitud de ejemplos y ejercicios resueltos para una mejor comprensión. 
Finalizando cada capítulo con ejercicios propuestos por si el lector quiere seguir 
practicando.
Matlab para matemáticas 
en ingenierías 
Ma
tla
b p
ar
a m
at
em
át
ic
as
 en
 in
ge
ni
er
ía
s 
Lucía Agud Albesa
Mª Leonor Pla Ferrando
EDITORIAL
UNIVERSITAT POLITÈCNICA DE VALÈNCIA
Lucía Agud Albesa
Licenciada en Ciencias Matemáticas en la 
Universidad de Zaragoza en la promoción 1989-
1994 obteniendo el premio extraordinario García 
de Galdeano. Obtuvo el Grado de Licenciada en 
Matemáticas en 1996, Máster Universitario en 
Investigación matemática por la UPV en 2010 y el 
título propio de la UPV de Especialista en Pedagogía 
Universitaria en 2008.
Trabajó como profesora de Secundaria y BUP de 
Matemáticas e Informática en el colegio de Santa 
Ana de Zaragoza de 1994 a 2000. En el año 2000 
pasó a trabajar en el departamento de Matemática 
Aplicada de la Universidad de Zaragoza en el 
Campus de Teruel, y de ahí, en el 2001 ingresó como 
profesora de Matemática Aplicada en la Universitat 
Politécnica de València hasta el día de hoy donde 
actualmente continúa en la categoría de Contratado 
Doctor.
Defendió su tesis doctoral en la Universidad 
de Zaragoza en el 2004 dentro del tema de 
Transformada Wavelet y Análisis Multirresolución. En 
la actualidad pertenece a un grupo de investigación 
de Análisis Funcional y medidas vectoriales de la UPV, 
línea con la que desarrolla su trabajo investigador. 
Ha pertenecido al comité de empresa del Campus 
d’Alcoi, y al equipo directivo de dicho Campus como 
subdirectora de Cultura, Deportes y Directora del 
colegio mayor Ovidi Montllor.
 
Mª Leonor Pla Ferrando
Licenciada en Ciencias Químicas con grado de li-
cenciada, modalidad tesina, por la Universidad de 
Alicante en 1986, Máster Universitario en Investiga-
ción Matemática por la  UPV en octubre de 2012  y 
Doctora en Matemáticas por la UPV en el programa 
de Matemáticas Multidisciplinares en julio de 2013.
Obtuvo Beca del IMPIVA de especialización profesio-
nal en el Instituto Tecnológico textil desde octubre 
de 1990 a octubre de 1991 y como licenciada en 
ciencias químicas en AITEX  de octubre a noviembre 
de 1991. También desarrolló su labor profesional 
como Técnico Titulado de grado superior en la em-
presa  TAVEX (Xàtiva Textil S.A.) desde noviembre de 
1991 a mayo de 1992.
A nivel docente, impartió  clases de bachillerato 
en el Colegio  La Salle de Alcoy desde septiembre 
a diciembre de 1989, en el Instituto de Enseñanzas 
Medias Andreu Sempere de Alcoy de enero a febre-
ro de 1990 y en el Instituto de Enseñanzas Medias 
Monastil de Elda de marzo a  abril de 1990. En 1992 
entra en la UPV en el Departamento de Matemática 
Aplicada  como Profesora Asociada de la UPV desde 
1992 hasta 1996. Titular Interino desde 1996 hasta 
1997. TEU desde julio de 1997 hasta la actualidad.  
Ha sido coordinadora de la titulación de Diseño In-
dustrial en la EPSA desde 2000 a 2005
UPVUPV
ISBN 978-84-9048-421-0
0268P03
www.full-ebook.com
www.full-ebook.com
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Matlab para matemáticas 
en ingenierías 
 
Lucía Agud Albesa 
Mª Leonor Pla Ferrando 
 
EDITORIAL 
UNIVERSITAT POLITÈCNICA DE VALÈNCIA www.full-ebook.com
Los contenidos de esta publicación han sido revisados por el Departamento de Matemática 
Aplicada de la Universitat Politécnica de València 
 
 
Colección Académica 
 
 
Para referenciar esta publicación utilice la siguiente cita: AGUD ALBESA, L; PLA FERRANDO, Mª L 
(2015). Matlab para matemáticas en ingenierías. Valencia: Universitat Politècnica de València 
 
 
Primera edición, 2015 (versión impresa) 
Primera edición, 2015 (versión electrónica) 
 
 
© Lucía Agud Albesa 
 Mª Leonor Pla Ferrando 
 
© de la presente edición: Editorial Universitat Politècnica de València 
 distribución: Telf.: 963 877 012 / www.lalibreria.upv.es / Ref.: 6270_01_01_01 
 
 
ISBN: 978-84-9048-421-0 (versión impresa) 
ISBN: 978-84-9048-422-7 (versión electrónica) 
 
 
Queda prohibida la reproducción, distribución, comercialización, transformación y, en general, 
cualquier otra forma de explotación, por cualquier procedimiento, de la totalidad o de cualquier 
parte de esta obra sin autorización expresa y por escrito de los autores. 
 
 
www.full-ebook.com
 
Para todas las personas 
que nos han ofrecido su apoyo día a día.
www.full-ebook.com
 
 
www.full-ebook.com
 
 
I
Contenido
1 Capítulo 1 Entorno de trabajo Matlab ................................................................ 5
1.1 Introducción ................................................................................................. 5
1.2 Comandos o instrucciones en Matlab.......................................................... 7
1.3 Variables y formatos .................................................................................... 8
1.4 Variables simbólicas y numéricas ................................................................ 9
1.4.1 Salida matemática elegante por pantalla ............................................. 12
1.4.2 Generar vectores o variables ................................................................ 12
1.4.3 Generar Matrices .................................................................................. 13
1.5 Funciones ................................................................................................... 13
1.5.1 Crear funciones..................................................................................... 13
2 Capítulo 2 Gráficos con Matlab ........................................................................ 19
2.1 Introducción ............................................................................................... 19
2.2 Funciones de una variable, y=f(x) .............................................................. 20
2.2.1 Algunos Comandos para representar ................................................... 20
2.2.2 Subventanas.......................................................................................... 26
2.3 Representación de funciones simbólicas ................................................... 27
2.3.1 Representación de funciones creadas como fichero .m....................... 31
2.4 Funciones a trozos: definición y representación ....................................... 32
2.4.1 Función a trozos desde fichero .m........................................................ 32
2.4.2 Función a trozos vectorizada ................................................................ 33
2.5 Otros comandos para dibujar curvas en el plano y curvas paramétricas:
>>ezplot ............................................................................................................. 35
2.5.1 Curvas en paramétricas ....................................................................... 37
2.6 Curvas planas en coordenadas polares...................................................... 38
www.full-ebook.com
 
 
IV 
2.6.1 Otros comandos para curvas en coordenadas polares.........................39
2.6.2 Cambios de coordenadas rectangulares a polares ...............................40
2.7 Relleno de regiones del plano.................................................................... 40
2.8 Funciones de varias variables. Superficies................................................. 43
2.8.1 Representación de funciones en 3D: z=f(x,y). Comandos más usados .43
2.8.2 Curvas de nivel de una superficie .........................................................44
2.8.3 Curvas en el espacio.............................................................................. 45
2.8.4 Superficies de revolución ......................................................................46
2.8.5 Superficies Paramétricas.......................................................................51
2.8.6 Cambios de coordenadas a cilíndricas y esféricas y viceversa..............54
2.9 Ejercicios .................................................................................................... 54
3 Capítulo 3 Operaciones básicas con funciones.................................................. 57
3.1 Polinomios.................................................................................................. 57
3.1.1 Polinomio introducido como vector ....................................................57
3.1.2 Polinomio introducido como función ...................................................58
3.2 Dominios de funciones e inecuaciones ...................................................... 61
3.2.1 Comando >>solve.................................................................................. 61
3.2.2 Comando>>fzero (resolución numérica o aproximada de ecuaciones) .62
3.2.3 Inecuaciones con valores absolutos......................................................64
3.3 Simplificar, factorizar, expandir y demás operaciones algebraicas ...........65
3.4 Cálculo de límites ....................................................................................... 67
3.4.1 Límites laterales .................................................................................... 67
3.4.2 Asíntotas ............................................................................................... 68
3.4.3 Límites de funciones a trozos................................................................72
3.5 Números Complejos................................................................................... 74
3.6 Derivadas.................................................................................................... 79
www.full-ebook.com
 
 
III
3.6.1 Funciones de 1 variable ........................................................................ 80
3.6.2 Funciones de varias variables ............................................................... 81
3.7 Integración ................................................................................................. 81
3.7.1 Integrales impropias ............................................................................. 82
3.7.2 Cálculo de áreas .................................................................................... 84
3.8 Ejercicios .................................................................................................... 85
4 Capítulo 4 Funciones de varias variables. Ecuaciones diferenciales................. 89
4.1 Derivación de funciones de varias variables .............................................. 89
4.2 Vector gradiente ........................................................................................ 91
4.3 Matriz Jacobiana y Jacobiano..................................................................... 91
4.4 Matriz Hessiana y Hessiano ....................................................................... 92
4.5 Puntos críticos de funciones de varias variables ....................................... 95
4.6 Integración de funciones de varias variables............................................. 99
4.7 Ecuaciones diferenciales .......................................................................... 103
4.7.1 Sistemas de EDO’s............................................................................... 105
4.7.2 Métodos numéricos para la resolución de EDO’s............................... 106
4.8 Ejercicios .................................................................................................. 107
5 Capítulo 5 Introducción a la Estadística Descriptiva........................................ 111
5.1 Introducción ............................................................................................. 111
5.2 Estadísticos y representación................................................................... 114
5.2.1 Variables estadísticas.......................................................................... 114
5.3 Distribución de frecuencias..................................................................... 115
5.3.1 Representaciones gráficas .................................................................. 116
5.3.2 Ejemplos con Matlab de distribución de frecuencias y diagramas..... 117
5.4 Parámetros estadísticos de posición y dispersión ................................... 126
5.4.1 Parámetros estadísticos de posición .................................................. 126
www.full-ebook.com
 
 
IV 
5.4.2 Medidas de dispersión ........................................................................130
5.5 Ejercicios .................................................................................................. 135
6 Capítulo 6 Introducción al Álgebra matricial .......................................... 139
6.1 Introducción a las matrices en Matlab..................................................... 139
6.1.1 Generar matrices. Operaciones con matrices.....................................139
6.1.2 Matrices especiales .............................................................................140
6.1.3 Manipulación de matrices, submatrices .............................................142
6.1.4 Operaciones con matrices...................................................................145
6.1.5 Otras funciones implementadas en Matlab.......................................146
6.2 Clasificación y resolución de sistemas de ecuaciones lineales ................151
6.2.1 Clasificación de sistemas de ecuaciones .............................................151
6.2.2 Resolución de sistemas usando la función: >>inv(A) o A 1 ................154
6.2.3 Resolución de sistemas usando división matricial a la izquierda: A\b154
6.2.4 Resolución de sistemas usando la función: >>solve ...........................155
6.2.5 Resolución de sistemas usando la Regla de Cramer ...........................157
6.2.6 Resolución de sistemas de ecuaciones dependientes de parámetros162
6.3 Ajustes de datos (mínimos cuadrados) .................................................... 164
6.4 Ejercicios .................................................................................................. 169
7 Referencias bibliográficas ................................................................................ 173
www.full-ebook.com
 
 
5
 
1 Capítulo 1
Entorno de trabajo Matlab
1.1 Introducción 
Este libro consta de dos partes, una dedicada al Álgebra: matrices, determinantes, sis-
temas de ecuaciones, etc; y otra enfocada al análisis matemático, donde se trabajarán 
funciones, expresiones algebraicas, ecuaciones, derivadas e integrales. El paquete ma-
temático que se emplea es Matlab, cuyo nombre responde a las siglas de Matrix Labo-
ratory. 
Al abrir este paquete matemático se observa que la pantalla se subdivide en varias 
ventanas que se detallan a continuación: 
- La ventana Command Window (ventana central) es donde se introducirán los 
comandos, variables e instrucciones a realizar. Es decir, la ventana donde se 
trabaja. 
- La ventana Current Folder (izquierda superior) indica el contenido del directo-
rio en el que se está trabajando, y que salvo cambio del mismo, es donde se irá 
guardando el archivo o las funciones que se hayan creado. 
- La ventana de Workspace (derecha superior) es la ventana donde se indican las 
variables definidas en la sesión de trabajo o ya guardadas y cargadas de otrassesiones. Para borrar alguna de ellas, se usará el comando >>clear nombrede-
variable o se selecciona la variable en esa ventana y se suprime. 
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
6 
- La ventana de Command History muestra todos los comandos y órdenes que se 
han introducido, permitiendo recuperarlos o bien arrastrándolos a la Command 
Window (no ejecuta), o bien haciendo doble click sobre ellos (ejecuta). 
 
 
Figura 1.1 Pantalla de Matlab y ventanas 
Al ejecutar el comando para representar una función, Matlab abre una nueva ventana 
de Figure, la cual se puede minimizar y mantener toda la sesión mientras se va actuali-
zando, o bien cerrar. 
Con el icono del folio o New Script de la barra de herramientas (primero de los iconos 
de la misma), también se abrirá una nueva ventana donde Matlab permite programar o 
crear funciones en ficheros con extensión .m. 
La sesión de trabajo que se está realizando se puede guardar. Para ello, cuando se quie-
re comenzar a guardar se escribe (sin espacios en blanco en el nombre del fichero): 
>>diary nombrefichero.txt 
Y desde ahí hasta que se teclee >>diary off, guarda con el nombre indicado la sesión 
realizada. Si en cualquier momento se quiere volver a activar dicha sesión, bastará con 
poner de nuevo >>diary on. Por defecto, se guardará en la ruta que esté especificada 
en Current Directory. 
En caso de querer guardar sólo las variables creadas en la sesión, bastará realizarlo con 
el comando >>save, o bien en File >>Save Workspace. Para recuperarlas en una nue-
va sesión de trabajo se cargan con el comando >>load y el nombre especificado cuan-
do han sido guardadas. 
www.full-ebook.com
 Entorno de trabajo Matlab 
 
7
1.2 Comandos o instrucciones en Matlab 
Los comandos en Matlab se escriben en minúscula y sus argumentos entre paréntesis. 
Su escritura es en inglés y se ejecutan en cuanto se presiona la tecla enter. 
Cuando hayan dudas de los argumentos de alguna instrucción, bastará con escribir en 
la ventana de comandos >>help nombredelcomando, como por ejemplo: 
>>help gcd (y saldrá la ayuda de Matlab, en este caso para el cálculo del máximo co-
mún divisor). 
Para recuperar alguno de los comandos introducidos, hay dos formas. Una, como ya se 
ha comentado, desde la ventana de Command History; la otra, con las teclas de despla-
zamiento. Las flechas de arriba y abajo, , recuperan los comandos. Mientras que las 
de izquierda y derecha, , , sirven para desplazarse dentro de la línea de edición 
para poder modificar las expresiones. 
Para interrumpir el funcionamiento de una instrucción de MATLAB se pulsan las te-
clas Control y C a la vez y después enter. A veces, esta operación se deberá repetir. 
La forma de salir de Matlab es o bien cerrar la ventana, o bien con los comandos 
>>exit, o >>quit. Y como siempre dándole al enter al final de cualquier instrucción 
para que así se ejecute. 
Si no se quiere que la ejecución de un comando salga por pantalla, aunque sí que sea 
ejecutado, bastará con poner después del comando un ;. 
Al introducir una orden en la ventana Command Window que no quepa toda entera en 
una misma línea de instrucción, se puede terminar con … y darle a enter. Matlab en-
tiende que no ha terminado la instrucción y sin aparecer el prompt del sistema, >>, 
permite seguir escribiendo en la línea siguiente, ejecutando luego la instrucción al darle 
a enter: 
>> 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);... 
9:-1:1] 
A = 
 1 2 3 4 5 6 7 8 9 
 -1 -2 -3 -4 -5 -6 -7 9 2 
 0 0 0 0 0 0 0 0 0 
 3 3 3 3 3 3 3 3 3 
 9 8 7 6 5 4 3 2 1 
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
8 
Si en una línea de instrucción se introduce el símbolo %, cambia el color del texto y 
automáticamente Matlab entiende que lo que se escribe, hasta pulsar enter, es un co-
mentario y no debe ser ejecutado. 
1.3 Variables y formatos 
Cuando se ejecuta un comando sin dar nombre a la variable que se obtiene como resul-
tado, Matlab lo asigna a una variable que él tiene en el sistema llamada ans. Nunca se 
podrá llamar a ninguna variable con este nombre, por tenerlo ya el programa asignado. 
En cada ejecución sin variable de salida, Matlab irá guardando en ella ese resultado, 
machacando el resultado anterior. Para guardar en una variable la operación realizada, 
se asignará con el = 
>>a=gcd(3,12) 
a= 
3 
Automáticamente en la ventana del Workspace aparecerá la variable a e indicará su 
tipo y dimensión. Para asignar a este nombre de variable otro valor, simplemente o se 
borra y vuelve a definir o se reasigna con otro valor. Matlab es sensible a mayúsculas 
y minúsculas; por lo tanto a y A son dos variables distintas. 
No se puede nombrar a una variable cuyo nombre ya esté siendo utilizado por Matlab 
o bien en una función o comando, o bien para sus variables internas. Variables ya asig-
nadas por Matlab son, entre otras: 
 i ó j ........................................................ para la unidad imaginaria i= 1 
 pi ......................................................... para el valor de 
 ans ......................................................... para las variables de salida que no 
tengan asignación previa 
 eps ....................................................... como valor es 2.2204e-016.También 
puede utilizarse como comando 
(mirar >>help eps en caso de que-
rer más información) 
Matlab almacena internamente los números en formato de coma flotante normalizado; 
es decir, notación científica tal que, la parte entera es 0 y la primera cifra decimal es 
distinta de cero (0.0003 sería 0.3*e03). Generalmente, por pantalla muestra el resultado 
con el formato short, 4 dígitos decimales. Si interesa cambiar el formato, se consigue 
con el comando 
>>format tipodeformato 
www.full-ebook.com
 Entorno de trabajo Matlab 
 
9
Los formatos que existen en Matlab, y que usaremos generalmente, son: 
FORMAT SHORT son 5 dígitos, contando parte entera y decimal. 
FORMAT LONG son 5 dígitos o 7 
FORMAT SHORTE son 5 dígitos en coma flotante normalizada 
FORMAT LONGE son 15 dígitos o 7 en coma flotante normalizada 
FORMAT SHORTG elige el mejor formato con 5 dígitos de salida (adecuado si 
trabajas en un vector con números de diferentes longitudes) 
FORMAT + saca por pantalla los signos, +, - y espacios en blanco 
FORMAT RAT pone el valor en forma racional. 
Si se quiere obtener más información sobre los formatos de Matlab, el programa la 
proporciona escribiendo 
>> help format 
1.4 Variables simbólicas y numéricas 
Cuando en Matlab se quiere trabajar con una variable como tal, ha de definirse como 
simbólica. En caso contrario Matlab pediría valores para esa variable y daría un men-
saje de error. Si se quiere introducir una función de forma que la variable x no tome 
valores concretos hasta cuando se requiera, existe el comando >>sym, o se declara la 
variable como simbólica de cualquiera de las dos formas siguientes: 
>>x=sym(‘x’), 
o bien >>syms x 
De la segunda forma, es posible declarar todas las variables simbólicas en una misma 
sentencia, separadas por espacios en blanco. 
Dar un valor concreto a esta variable para que deje de ser simbólica, y así conocer el 
valor numérico del resultado, se realiza con el comando >>double. 
Ejemplo 1.1 Evaluar la función f(x)=x2-3x+2 en x=2, /4. 
>>syms x 
>>f=x^2-3*x+2; 
>>subs(f,2) 
ans= 
 0 
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
10 
>>subs(f,pi/4) 
ans = 
 pi^2/16 - (3*pi)/4 + 2>>double(ans) 
ans = 
 0.2607 
Nota: dependiendo de la versión de Matlab, esta última operación de sustitución 
puede hacerla de forma directa. Por ejemplo, en la versión R2011a; sin embargo 
en la versión R2013b hay que hacerlo como se ha indicado en el Ejemplo 1.1. 
El comando >>subs siempre evalúa funciones de tipo simbólico y el resultado que 
devuelve es considerado también simbólico. Si se define la función de otra forma, por 
ejemplo con el comando >>inline, la instrucción >>subs no funciona; debe evaluarse 
con su nombre directamente o con el comando >>feval. 
Ejemplo 1.2 Define la función f(x)=x2-3x+2 con inline y evalúala en x=2,0.
>> clear x 
>> g=inline('x^2-3*x+2') 
g = 
 Inline function: 
 g(x) = x^2-3*x+2 
>> g(2) 
ans = 
 0 
>>feval(g,0) 
ans= 
 0 
El comando inline será explicado con detalle más adelante. 
Fracciones de decimales no exactos o valores irracionales 
Es importante destacar qué ocurre cuando se trabaja con fracciones que no dan lugar a 
decimales exactos, por ejemplo fracciones del tipo 1/3, o radicales como etc. 
Matlab siempre guarda en memoria los datos en coma flotante, y por lo tanto redondea 
dichos números. Al efectuar operaciones con ellos, el resultado final puede verse afec-
www.full-ebook.com
 Entorno de trabajo Matlab 
 
11
tado de error. Una forma sencilla de solucionarlo es definir estos valores como simbó-
licos: 
>>a=sym(1/3) 
Ejemplo 1.3 Realizar la siguiente operación 1- y comparar los resultados: 
a) de forma numérica, 
b) definiendo como simbólico los números. 
Es evidente, sin más que realizar los cálculos, que esta operación debe dar 0: 
>> 1-(1/3+1/2)/(1-1/6) 
ans = 
 1.1102e-16 
Sin embargo, Matlab no devuelve el valor 0 aunque sí un valor muy pequeño. Esto se 
debe al trabajo con decimales y su redondeo. La forma de solucionarlo sería: 
>> a=sym(1/3);b=sym(1/6) 
 b = 
 1/6 
 >> 1-(a+1/2)/(1-b) 
 ans = 
0 
Otro problema de este estilo que se observa es, por ejemplo, si se quiere calcular algo 
tan sencillo como sin(pi), cuyo valor es 0. Matlab devuelve un valor muy pequeño, que 
se puede considerar como 0, pero no lo es. Por lo tanto, a la hora de resolver ecuacio-
nes no detectará estos valores (una solución a esto se verá cuando se expliquen las 
funciones y el comando para resolver ecuaciones >>solve): 
>>sin(pi) 
ans = 
 1.2246e-16 
En este caso, la opción para que evalúe bien vuelve a ser, definir este valor como 
simbólico: 
>>syms pi,sin(pi) 
ans= 
0 
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
12 
1.4.1 Salida matemática elegante por pantalla 
Matlab escribe por pantalla las expresiones matemáticas tal cual deben ser introduci-
das: 
>> syms x, 
>> f = x^3-6*x^2+11*x-6 
Sin embargo, mediante el comando >>pretty(expression) las muestra de la forma que 
uno escribe la expresión matemática: 
>> pretty(f) 
 3 2 
 x - 6 x + 11 x – 6 
Otro ejemplo sería: 
>> syms x, y=1/(x+1) 
 y = 
1/(x + 1) 
 >> pretty(y) 
 1 
 ----- 
 x + 1 
1.4.2 Generar vectores o variables 
Para generar una variable que tome valores en un rango elegido existen varias formas. 
Entre ellas cabe destacar las siguientes: 
>>x=0:.2:12; .................................. calcula un vector con 0 donde los valores 
van de 0.2 en 0.2. 
>>x=linspace(0,12,200); ................. calcula un vector con 0 con 200 valores 
equiespaciados. 
>>w=logspace(-1,3); ...................... calcula 50 valores espaciados logarítmicamente entre 
10-1 y 103. 
Nota: En los comandos linspace y logspace, el tercer argumento de entrada, co-
rrespondiente al número de puntos, es opcional. Los valores por defecto son 100 
y 50, respectivamente. Asimismo, si no se especifica la distancia entre valores, 
el paso por defecto es 1. 
Es importante destacar que las variables así definidas son vectores y, por ello, las ope-
raciones algebraicas que las involucren deben realizarse con un punto delante: ./, .*, .^. 
De esta forma, Matlab realiza los cálculos elemento a elemento, todo esto se explica 
con más detalle en el Capítulo 6. 
www.full-ebook.com
 Entorno de trabajo Matlab 
 
13
1.4.3 Generar Matrices 
Las matrices en Matlab se definen entre corchetes. Los elementos de cada fila pueden 
ir separados mediante comas o espacios en blanco. Las columnas van indicadas por 
punto y coma, ;. Los elementos se pueden introducir de forma manual, con comandos o 
bien indicando el paso que lleva de un elemento al siguiente: 
>> A=[1:2:9; 0 -2 4 6 -1;ones(1,5)] 
A = 
 1 3 5 7 9 
 0 -2 4 6 -1 
 1 1 1 1 1 
Para saber más sobre matrices y matrices implementadas ya por Matlab, consultar la 
parte de Álgebra. 
1.5 Funciones
Matlab posee muchas funciones implementadas. Para saber cuáles basta teclear >>hel-
pwin y desde ahí acudir a matlab\elfun, donde mostrará las funciones que tiene defini-
das. Entre las más habituales destacan: 
Funciones seno y coseno: sin(x), cos(x),sind(x),cosd(x) 
Funciones seno y coseno hiperbólico: sinh(x), cosh(x) 
Función tangente: tan(x) 
Funciones arcoseno, arcocoseno y arcotangente: asin(x), acos(x), atan(x) 
Función exponencial, logaritmo neperiano y logaritmo decimal: exp(x), 
log(x), log10(x) 
Función valor absoluto: abs(x) 
Funciones hiperbólicas: sinh(x),cosh(x),asinh(x), etc. 
Nota: Matlab trabaja, salvo definición distinta de la variable, con valores numé-
ricos. Concretamente, para las funciones trigonométricas, si no se declaran pre-
viamente como variables simbólicas, entiende que son valores numéricos y, por 
lo tanto, expresados en radianes. En caso de querer trabajar con valores expresa-
dos en grados, deben usarse las funciones: 
>>sind, >>cosd 
1.5.1 Crear funciones 
Para crear funciones en Matlab existen varias formas. Aquí sólo se va a indicar cómo 
definirlas y evaluarlas. Para su representación gráfica consultar el tema de gráficos. 
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
14 
Se van a considerar dos tipos de funciones que engloban a todas, las simbólicas y las 
funciones a trozos. Existen varias posibilidades de definir funciones simbólicas. 
A. Definición de función simbólica usando Anonymus 
Esta definición se realiza mediante el símbolo @. Cuando las funciones son básicas de 
Matlab no hace falta indicar el argumento si este es x: 
>>fun=@atan, ................................ Y para dibujarla >> fplot(fun,[-2,2]) 
>>fun2=@sin, ................................ Y para dibujarla >> fplot(fun2,[-3,3]) 
Sin embargo, si el argumento resulta ser composición de funciones o la función posee 
varios argumentos, entonces debe indicarse al principio, justo al lado de @, tal y como 
se muestra en el siguiente ejemplo 
>> y=@(x) x^2+1; 
Para evaluarla se puede hacer directamente asignándole un nombre: 
>> y(1) 
ans = 
 2 
>> y(0) 
ans = 
 1 
O también con el comando >>subs 
>> subs(y,0) 
 ans = 
 1 
B. Definición de funciones simbólicas mediante el comando >>inline 
Los argumentos se introducen entre comillas simples. 
De esta forma se hallan los valores de la función sin más que calcular su imagen direc-
tamente o con el comando >>feval. Se detalla en el ejemplo siguiente 
 
www.full-ebook.com
 Entorno de trabajo Matlab 
 
15
Ejemplo 1.4 Definir dos funciones cualesquiera con el comando >>inline y evaluarlas 
de forma distinta: 
a) >> f=inline('x^2-3*x+2') 
f = 
 Inline function: 
 f(x) = x^2-3*x+2 
>> f(2) 
ans = 
 0 
b) >> y=inline('x^2+1') 
y = 
 Inline function: 
 y(x) = x^2+1 
>> y(1) 
ans = 
 2 
>> feval(y,1) 
ans = 
 2 
Nota: Se recuerdaque para evaluar funciones definidas mediante >>inline no se 
puede usar el comando >>subs. 
C. Definición de funciones simbólicas definiendo la variable como simbólica 
Para evaluar se utiliza el comando >>subs. 
>> x=sym('x');p=2*x-5; 
>> subs(p,1) 
ans = 
 -3 
D.- Definición de función simbólica entre comillas simples 
En este caso no hace falta declarar la variable. De nuevo es evaluada con el comando 
>>subs 
>> y='x^2+1'; 
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
16 
>> subs(y,0) 
 ans = 
 1 
Para las funciones a trozos se indican aquí la forma vectorizada y mediante archivo .m; 
es decir, esta segunda desde el Editor de Matlab. Se ilustra mediante un ejemplo. 
Ejemplo 1.5 Introducir, de varias formas la siguiente función a trozos: 
 
1. Desde fichero .m 
Esta definición debe hacerse desde la ventana del Editor de Matlab, icono de NewScript 
o más directamente en New Function. Se crea con ello un archivo .m que, si no se 
indica nada, se guarda con el nombre que se le haya puesto a la función. 
Es importante que si posteriormente se modifica, se tenga cuidado de no cambiarle el 
nombre, ya que la llamada para ser ejecutada se hace por el nombre del fichero. 
Para evaluarla basta referirse a ella con su nombre. 
Si se realiza para la función del Ejemplo 1.5, quedaría 
function y=funcion2(x) 
if x<1 
 y=x^2; 
elseif 1<=x&&x<3 
 y=1; 
else 
 y=x+1; 
end 
y para evaluarla 
 
>>funcion2(2) % para evaluarla 
ans= 
1 
 
www.full-ebook.com
 Entorno de trabajo Matlab 
 
17
2. Vectorizada 
Para introducir y evaluar una función así definida es conveniente usar el co-
mando >>inline: 
 
>>f=inline('(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)') 
f = 
 Inline function: 
 f(x) = (x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x) 
>> f(3) 
ans = 
 1 
También puede definirse mediante Anonymus, en este caso hay que evaluarla, 
de nuevo, llamándola por el nombre que tiene asignado: 
 
>> f=@(x)(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x) 
f = 
 @(x)(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x) 
>> f(-3) 
ans = 
 9 
>> f(4) 
ans = 
 5 
>> f(2) 
ans = 
 1 
 
Para representarlas gráficamente, dirigirse al Capítulo 2, donde se indica cómo dibujar 
cada una de las posibles definiciones. 
www.full-ebook.com
 
 
 
 
 
 
www.full-ebook.com
 
 
19
 
2 Capítulo 2
Gráficos con Matlab
2.1 Introducción 
Este capítulo se dedica a mostrar cómo dibujar funciones con Matlab, tanto combina-
ciones de las funciones ya existentes, como funciones creadas por el usuario, o funcio-
nes a trozos. 
Si se quiere conocer con más detalle algo de los comandos para gráficos, tipos de ar-
gumentos que admiten o cualquier característica suya, basta introducir el comando: 
>> help nombredelcomando 
y automáticamente, Matlab proporciona una ayuda sobre dicha instrucción. Otra op-
ción es teclear >>helpwin para acceder a los temas de la ayuda de Matlab, o darle al 
icono de ayuda en la barra de herramientas. 
Con el comando >>help graph2d, Matlab da ayuda sobre gráficos en dos dimensiones y 
con >>help graph3d proporciona ayuda para dibujar superficies. 
Guardar y cargar figuras: puede hacerse directamente desde la ventana de 
la gráfica, en el menú de Herramientas: File>Save. Matlab permite guar-
darlas con diversas extensiones (por defecto las guarda con extensión .fig). 
Para recuperar una figura, basta con teclear: 
>> openfig('nombre') 
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
20 
Otra posibilidad es en la ventana de Current Directory, haciendo doble click 
sobre el archivo en el que se tiene la figura. 
Para borrar una figura, o bien se cierra la ventana que abre Matlab por defecto 
al plotearla, o bien se teclea al comando >>clf, que borrará la última figura 
creada. 
Aunque se van a detallar en este capítulo todos los comandos más importantes relacio-
nados con gráficos -necesarios para muchas versiones anteriores de Matlab como 
Matlab R2011a-, cabe destacar que en la versión de Matlab R2013b aparecen directa-
mente como iconos en la pestaña plots, y se activan sin más que seleccionar la variable 
o función a dibujar, ofreciendo ayuda si se pone el cursor encima de ellos: 
 
Figura 2.1 Ayuda de Matlab
2.2 Funciones de una variable, y=f(x)
2.2.1 Algunos Comandos para representar 
Los comandos más usado son los indicados a continuación: Comando >>plot(x,y) 
 Comando >>fplot 
 Comando >>ezplot 
D. Comando >> plot(x,y) 
Es uno de los comandos más sencillos, >>plot(a,b). Si, por ejemplo, se quiere dibujar 
la gráfica de la función y=sin(x), primero se ha de crear una tabla de valores para x, lo 
que puede llevarse a cabo de varias formas; o bien 
>> x=0:pi/100:2*pi; 
www.full-ebook.com
 Gráficos con Matlab 
 
21
donde se origina un vector que toma valores de [0,2 ] y la distancia entre los puntos es 
de /100; es decir, un total de 200 puntos en los que la función tomará valores. O bien, 
el mismo resultado puede conseguirse con el comando: 
>>x=linspace(0,2*pi,200); 
El siguiente paso es darle valores a la variable a representar: 
>>y=sin(x) 
Y para dibujar la figura, se introduce la orden: 
>>plot(x,y) 
Ejemplo 2.1 
 
 
 
 
 
Figura 2.2 Representación de y=sinx , y=cosx
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
22 
En la figura 2.2 se han representado en la misma ventana dos funciones gracias al co-
mando >>hold on. Pueden seguir añadiéndose gráficas en la misma figura, y para re-
presentar una gráfica posterior en una ventana aparte indicarse con el comando >>hold 
off. Otra forma de dibujar varias funciones en una misma ventana gráfica, es ponerlas 
todas en el propio comando >>plot 
>> plot(x,sin(x),'r-',x, cos(x),'b.') 
Las opciones del trazado del comando >>plot pueden consultarse con >>help plot, 
aunque la siguiente tabla proporciona un resumen de ellas: 
Tabla 2.1 Tabla de símbolos, trazado y color entorno gráfico 
SÍMBOLO COLOR SÍMBOLO TIPO DE 
LÍNEA 
 SÍMBOLO TÍPO DE LÍNEA 
y amarillo . puntos s cuadrados 
m magenta o círculos d diamantes 
c cian x equis ^ Triángulo (bajo) 
r rojo + mases v triángulo (arriba) 
g verde * asteriscos < Triángulo (izquierda) 
b azul - línea conti-
nua 
> Triángulo (derecha) 
w blanco : línea de 
puntos 
p pentagrama 
k negro -. guion-
t
h hexagrama 
 - línea de 
guiones
 
 
Nota: En caso de utilizar algún símbolo para representar puntos de la gráfica, 
debe especificarse a continuación el tipo de trazado, para forzar a que una dichos 
puntos mediante una línea. 
Ejemplo 2.2 Representación de vectores de datos. Representar los pares de valores 
[t,v] de la siguiente tabla, donde la velocidad viene dada por (v) frente al tiempo (t)
v 1.1 1.2 1.3 1.5 2
t 1.65 1.80 1.95 2.25 3.00
 
Introducir primero la matriz de datos 
>> t=[1.65,1.80,1.95,2.25,3]; 
www.full-ebook.com
 Gráficos con Matlab 
 
23
>> v=[1.1,1.2,1.3,1.5,2]; 
>> plot(t,v); % representa una línea continua. 
 
Figura 2.3 Representación [t, v] línea continua
>> plot(t,v,’bo’); %Si se quiere indicar cómo representar el tipo de puntos 
>> plot(t,v,'bo-') % Si se quiere indicar trazo de puntos y de línea 
 
Figura 2.4 Representación [t, v] puntos y puntos con línea
E. Comando >>fplot 
La gráfica del seno dibujada en el Ejemplo 2.1 también podría representarse mediante 
el comando >>fplot con la siguiente orden: 
>>fplot(‘sin(x)’,[0,2*pi]) 
La función >>fplot puede dibujar varias gráficas a la vez, indicando en el segundo 
argumento el dominio de la variable x y de la y mediante una caja. Puede indicarse el 
trazado, siendo conveniente que en el caso de función a trozos o con asíntotas, sele 
exija un trazado discontinuo. Por defecto une mediante un trazo continuo. 
1.6 1.8 2 2.2 2.4 2.6 2.8 3
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2
1.6 1.8 2 2.2 2.4 2.6 2.8 3
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2
1.6 1.8 2 2.2 2.4 2.6 2.8 3
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
24 
Respondería al siguiente comando: 
>>fplot(‘[funcion1,funcion2]’,[xmin xmax ymin ymax],’trazadofuncion1,trazadofuncion2’) 
Los trazados se pueden modificar desde la ventana de gráficos en el menú Edit/Figure 
Properties/…, botón derecho del ratón y seleccionando la función que se quiere modi-
ficar. O con el último icono de la barra de herramientas en la ventana de la figura: 
Show Plot Tools and Dock Figure 
Nota: hay que tener cuidado a la hora de dibujar funciones que realicen opera-
ciones con la variable x definida mediante un >>linspace o mediante un vector, 
ya que al evaluarlas debe realizarse coordenada a coordenada. Por lo tanto, salvo 
en las sumas y restas que lo hace por defecto, en las demás operaciones debe es-
pecificarse: ./, .*, o bien .^ dependiendo de la operación a realizar. 
Ejes: En cuanto a los ejes, además de poder cambiarlos desde la misma ventana de la 
gráfica como se verá en la siguiente sección, también pueden ser establecidos desde el 
principio. Para ello, como se detallaa en el Ejemplo 2.1 hay varias formas. Una de ellas 
es el comando 
 >>axis([xmin xmax ymin ymax]) 
Si se desea un escalado logarítmico en los ejes, basta utilizar estos comandos: 
>>semilogx, >>semilogy, (eje x en logarítmico y eje y en lineal, o vicever-
sa respectivamente) 
>>loglog, (escalado logarítmico para ambos ejes)
>>polar, para coordenadas polares (que serán descritas más adelante) 
F. Comando >>ezplot 
A la hora de representar gráficas, en general, es mucho más sencillo utilizar el coman-
do >>ezplot. 
Este comando dibuja también funciones definidas de forma implícita. Las variables 
deben ser simbólicas o ir escritas entre comillas simples. Además dibuja perfectamente 
los saltos de las funciones, o las asíntotas, sin unirlas con un trazo como ocurre con el 
comando >>fplot (si en este último comando no se exige trazo discontinuo). 
Ejemplo 2.3 Representar la gráfica de la función en el intervalo [-5,3].
www.full-ebook.com
 Gráficos con Matlab 
 
25
Se puede observar, en las Figuras 2.5 y 2.6, la diferencia de gráficos que se obtienen al 
representar la función 1/x en el intervalo cerrado [-5,3], usando ezplot, fplot y fplot 
forzando, en esta última, el trazo discontinuo: 
>> syms x, ezplot(1/x,[-5 3]) 
 
Figura 2.5 Representación usando >>ezplot
Mientras que, con el comando >>fplot: 
>> fplot('1./x',[-5 3]) >> fplot('1./x',[-5 3],'k.') 
 
Figura 2.6 Representación usando >>fplot, en la segunda gráfica con trazo discontinuo
Este comando será desarrollado con mayor amplitud en secciones posteriores. 
Captura de coordenadas: Si una vez representada la gráfica se busca obtener las coor-
denadas de algún punto de la gráfica, Matlab lo permite con la instrucción 
>>ginput 
En ese momento, aparece el cursor sobre la gráfica y basta hacer click con el ratón en 
cada punto del que se quiere obtener su posición. Pulsando Enter se vuelve a la ventana 
de comandos, donde aparecen las coordenadas de los puntos seleccionados. 
-5 -4 -3 -2 -1 0 1 2 3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
1/x
-5 -4 -3 -2 -1 0 1 2 3
-150
-100
-50
0
50
100
150
-5 -4 -3 -2 -1 0 1 2 3
-150
-100
-50
0
50
100
150
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
26 
Borrado de formato: para borrar el formato de una gráfica, o bien se cierra la ventana 
correspondiente a esa gráfica (si no se indica lo contrario, Matlab abre una nueva ven-
tana para cada gráfica), o bien se escribe el comando: 
>> clf reset 
2.2.2 Subventanas
Cuando en una misma figura se desea visualizar varias ventanas con sus gráficas co-
rrespondientes, se tiene el comando >> subplot. 
Los argumentos de este comando son, el número de filas y columnas de ventanas y el 
lugar que estas ocuparán. 
Ejemplo 2.4 
 
Si una vez que Matlab ha creado la figura, interesa modificarla, no hay más que situar-
se en esa ventana y darle al icono de más a la derecha de la barra de herramientas: 
 
Figura 2.7 Subventanas gráficas del Ejemplo 2.4
www.full-ebook.com
 Gráficos con Matlab 
 
27
Al accionar este icono se abrirá una nueva ventana donde modificar cada una de las 
gráficas, clicando sobre ellas. Permite modificar su color, sus ejes, y muchas más pro-
piedades descritas en la subventana inferior, seleccionado el recuadro Ticks. 
 
Figura 2.8 Opciones para modificar cada una de las gráficas 
Para nombrar los ejes cartesianos, si no se desea hacer directamente desde la ventana 
mostrada en la Figura 2.8, existen también los comandos >>xlabel(‘etiqueta’) e >>yla-
bel(‘etiqueta’), para los ejes OX y OY, respectivamente. 
2.3 Representación de funciones simbólicas 
Para definir funciones o variables simbólicas hay diferentes modos de hacerlo, algunos 
ya explicados en el Capítulo 1; es conveniente recordar que, para declarar la variable x 
como simbólica se hará 
>>syms x 
o bien, con >>x=sym(‘x’). 
 
A. Representación de función simbólica definida usando Anonymus 
Cuando las funciones a representar son básicas de Matlab, a la hora de definirlas, no 
hace falta indicar el argumento si este es x. 
Los comandos para representar las funciones así definidas son tanto >>ezplot, como 
>>fplot. Ambos trabajan en simbólico. 
 
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
28 
Ejemplo 2.5 Definir y representar las funciones y=arctg(x), y =sen(x), una con cada 
comando. 
>>fun=@atan, ezplot(fun,[-2 2]), 
>>fun2=@sin, fplot(fun2,[-3,3]) 
 
 Figura 2.9 Representación de f(x)= arctg(x) Figura 2.10 Representación de f(x)= sin(x)
Sin embargo, si se trabaja con composiciones de funciones o funciones con varios ar-
gumentos, entonces el o los argumentos deben indicarse al principio: 
>>fun3=@(x)sin(1./x), ezplot(fun3,[.01 0.1]) 
 
Figura 2.11 Representación de f(x)= sin(1/x)
B. Representación de función simbólica definida mediante el comando >>inline 
Las funciones así definidas se dibujan, también, con el comando: 
>>fplot(f,[a,b]) 
donde [a,b] es el intervalo de las abscisas en el que la función toma valores y f el nom-
bre asignado a la variable inline. 
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1.5
-1
-0.5
0
0.5
1
1.5
-3 -2 -1 0 1 2 3
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
-1
-0.5
0
0.5
1
x
sin(1/x)
www.full-ebook.com
 Gráficos con Matlab 
 
29
C. Representación de función simbólica definida directamente 
En el caso de introducirla de forma directa, es decir definiendo la variable como simbó-
lica, o definiendo entre comillas simples directamente la función, también puede ser 
dibujada con el comando >>fplot: 
>> y='sin(x)' 
y = 
sin(x) 
>> fplot(y,[0,pi]) 
 
Figura 2.12 Función y=’sin(x)’ con >>fplot
Nota: De todas formas, en general, para dibujar funciones simbólicas -tanto de-
finidas vía inline, vía Anonymus, o vía variable simbólica o función entre comi-
llas simples-, es recomendable por su sencillez, el comando: 
 >>ezplot(función, intervalo) 
El argumento intervalo es opcional, tomando por defecto el intervalo [0,2 ] si 
no se le indica. Además este comando ya le pone título a la gráfica con el nom-
bre de la función dibujada. 
Ejemplo 2.6 Dibujar la función y=sin(x) definiéndola de varias formas
>> f=@sin(x),ezplot(f) 
>> f=inline('sin(x)');ezplot(f) 
>> syms x, y=sin(x); ezplot(y)>> y='sin(x)';ezplot(y) 
Todas estas instrucciones devuelven la figura: 
0 0.5 1 1.5 2 2.5 3
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
30 
 
Figura 2.13 Representación del Ejemplo 2.5 
Las figuras creadas en Matlab, se guardan y salvan sin más que acceder a File/Save as 
en el menú de la ventana de Figure, con la extensión que más interese. 
 
 Figura 2.14 Imagen de cómo guardar una figura 
-6 -4 -2 0 2 4 6
-1
-0.5
0
0.5
1
x
sin(x)
www.full-ebook.com
 Gráficos con Matlab 
 
31
2.3.1 Representación de funciones creadas como fichero .m 
Si se definen las funciones desde la ventana del Editor de Matlab, se crea un fichero .m 
quedando la función almacenada como fichero y no como variable (casos anteriores). 
Para llamar a ese archivo desde cualquier sesión se ejecuta el comando Open, o bien se 
hace doble click en su nombre. Este archivo aparecerá en la ventana de Current Direc-
tory una vez haya sido cargado. En este último caso, ya no hay que declarar la variable 
como simbólica al ser introducida como argumento de entrada: 
 
 Figura 2.15 Introducción de una función con el Editor
Para representarla se le referencia con el nombre puesto al archivo creado (debe coin-
cidir el nombre de la función con el nombre del archivo). Matlab pone este por defecto 
pero hay que prestar atención si se efectúan modificaciones para no cambiarle el nom-
bre. Esta llamada se hace como argumento carácter, es decir, ‘nombre del archivo’: 
 
Figura 2.16 Cómo dibujar una función .m
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
32 
2.4 Funciones a trozos: definición y representación 
Las funciones definidas a trozos pueden ser definidas de diversas formas. En este apar-
tado se destacan dos formas distintas, usando fichero .m o función a trozos vectorizada. 
2.4.1 Función a trozos desde fichero .m 
Si se quiere definir y representar, por ejemplo, la función siguiente: 
 
se ha de utilizar un poco de programación, ya que una función a trozos no es más que 
una sentencia de la forma: if, elseif, else, end. 
Esta definición debe hacerse desde la ventana del Editor de Matlab, icono de 
NewScript, o más directamente en New/Function. Se crea con ello un archivo .m, que 
se guarda con el nombre puesto a la función. Para evaluarla basta referirse a ella con su 
nombre. 
Ejemplo 2.7 Definir la función a trozos anterior y evaluarla en x=4, 3, 1, 2,-2. 
En el Editor se introduce la siguiente función: 
function y=funcion2(x) 
if x<1 
 y=x^2; 
elseif 1<=x&&x<3 
 y=1; 
else 
 y=x+1; 
end 
 
Para evaluarla con una sola sentencia: 
>> valores=[funcion2(4) funcion2(3) funcion2(1) funcion2(2) funcion2(-2)] 
valores = 
 5 4 1 1 4 
www.full-ebook.com
 Gráficos con Matlab 
 
33
A la hora de dibujarla se hará uso del comando >>fplot. Como los nombres de las fun-
ciones son una cadena carácter, cuando esta es llamada con >>fplot debe ponerse entre 
comillas simples. 
Nota: con fplot es importante indicar, como argumento, el tipo de la línea de la 
gráfica; por ejemplo puntos, para que dibuje los saltos que puedan producirse en 
la misma. Por defecto los uniría con una línea continua. 
>> fplot('funcion2',[-5,10],'.'),axis([-5 10 0 10]) 
 
Figura 2.17 Representación de función a trozos con >>fplot
2.4.2 Función a trozos vectorizada 
Directamente en la ventana Command Window, se introducen los distintos trozos de la 
función mediante operadores lógicos. De cara a dibujarla, hay varias posibilidades: 
definir previamente la variable a evaluar como un vector de muchas compo-
nentes, por ejemplo con el comando >>linspace. 
dibujarla directamente con fplot, sin definirla, siempre que indiquemos trazo 
discontinuo para que no una los posibles saltos mediante una línea. 
Ejemplo 2.8 Definir y representar la función a trozos: 
 
Para definirla vectorizada: 
>> x=linspace(-10,10,100); 
>> y=(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x); 
Para representarla 
>> plot(x,y,'.'),grid on, title('Función definida a trozos'),axis([-5 5 0 10]) 
-5 0 5 10
0
1
2
3
4
5
6
7
8
9
10
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
34 
Figura 2.18 Representación usando >>linspace 
Otra forma de representarla: 
>> fplot('x^2.*(x<1)+1.*((1<=x)&(x<3))+(x+1).*(x>3)',[-3 5],'b.') 
 
Figura 2.19 Representación directa de función a trozos con trazo discontinuo
 
Para evaluar una función vectorizada, es conveniente definirla primero con el comando 
>>inline (o con Anonymus), y ya entonces pasar a evaluarla con su nombre: 
-5 -4 -3 -2 -1 0 1 2 3 4 5
0
1
2
3
4
5
6
7
8
9
10
Función definida a trozos
-3 -2 -1 0 1 2 3 4 5
0
1
2
3
4
5
6
7
8
9
www.full-ebook.com
 Gráficos con Matlab 
 
35
>>f=inline('(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x)') 
f = 
 Inline function: 
 f(x) = (x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x) 
>> f(3) 
ans = 
 1 
O de otra forma, mediante Anonymus: 
>> f=@(x)(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x) 
f = 
 @(x)(x.^2).*(x<1)+1.*((1<=x)&(x<=3))+(x+1).*(3<x) 
>> salida=[ f(-3) f(4) f(2)] 
salida = 
 9 5 1 
Nota: 
Para dibujar los saltos de una función, o una función que vaya a presentar asín-
totas, es recomendable usar: 
a) O el comando >>plot definiendo la variable x con un vector y no con un 
>>linspace, 
b) O el comando >>ezplot (más detallado a continuación). 
Para dibujar una función a trozos se recomienda, o el comando >>plot, o bien 
el >>fplot pero con trazo discontinuo (puntos o asteriscos o similares, no tra-
zado de líneas). El comando >>ezplot, une con trazado continuo los saltos no 
siendo esto lo deseado. 
2.5 Otros comandos para dibujar curvas en el plano y curvas para-
métricas: >>ezplot
El comando más fácil de usar para dibujar curvas planas definidas por una fórmula 
matemática (no por un conjunto de valores), es el comando 
>>ezplot(f) 
donde: 
- f es una cadena de caracteres conteniendo la expresión de una función y=f(x), 
- dibuja la función y=f(x) para x en el intervalo [-2 ,2 ] 
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
36 
Directamente Matlab abrirá una ventana gráfica como primera representación de la 
figura; en ella, editando la figura y dándole al icono de “Show Plot Tools and Dock 
Figure” pueden modificarse ejes, texto y más propiedades del gráfico. 
>>ezplot(f,[a,b]), lo mismo que el comando anterior para x variando en el intervalo 
[a,b] 
Ejemplo 2.9 Representar las funciones 22 3
xy sin cos x , 2
xy sin . 
>> ezplot('2*sin(x/2)*cos(3*x)'), >> ezplot('2*sin(x/2)*cos(3*x)',[0,pi/2]) 
Figura 2.20 Representación con >>ezplot(f) y con >>ezplot (f,[a,b])
Nota: los comandos >>ezplot(f), >>ezplot(f,[a,b]), donde f es una expresión de 
(x,y), dibujan la curva implícitamente definida por f(x,y)=0, para x e y variando 
en el intervalo [-2 ,2 ] en el primer caso; y para x e y variando en el intervalo 
[a,b], en el segundo caso. 
 Ejemplo 2.10 Representar la función definida en forma implícita f(x,y)=x2y-1. 
>> ezplot('x^2*y-1') 
 
Figura 2.21 Representación de f(x,y)=x2y-1
-6 -4 -2 0 2 4 6
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2 sin(x/2) cos(3 x)
0 0.5 1 1.5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
2 sin(x/2) cos(3 x)
x
y
x2 y-1 = 0
-6 -4 -2 0 2 4 6
-6
-4
-2
0
2
4
6
www.full-ebook.com
 Gráficos con Matlab 
 
37
2.5.1 Curvas en paramétricas 
Sea una curva en paramétricas r(t) = (x(t), y(t)), con t [a, b]. 
Una primera forma de dibujarla sería usando las órdenes: 
>>ezplot(x,y), >>ezplot(x,y,[a,b]) 
donde 
- x e y son doscadenas de caracteres conteniendo las expresiones de dos funciones x(t) 
e y(t). 
- dibuja la curva de ecuaciones paramétricas x=x(t) y=y(t) para t en el intervalo [0,2 ], 
en el primer caso y para t [a,b], en el segundo. 
Ejemplo 2.11 Usando los comandos arriba indicados, representar las curvas 
>> ezplot('sin(3*t) ', 'cos(3*t)'), ezplot('sin(3*t)','cos(t)') 
 
Figura 2.22 Representaciones del ejemplo 
Otra posibilidad que ofrece Matlab es la siguiente. Para dibujar la gráfica de la curva 
 
con 5 t 5, en primer lugar se generan los valores de t en el intervalo indicado: 
 >>t=linspace(-5,5,1000); 
 
Se puede dibujar de dos formas distintas (como ocurre con todas las gráficas): 
>>plot((t.*(t.^2-1))./(t.^2+1),(2*(t.^2-1))./(t.^2+1)) 
-1 -0.5 0 0.5 1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
x = sin(3 t), y = cos(3 t)
x
y
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
x = sin(3 t), y = cos(t)
x
y
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
38 
Figura 2.23 Primera representación con >>plot
Y otra forma de hacerlo es utilizar el comando >> comet(x(t),y(t)): 
 >>comet((t.*(t.^2-1))./(t.^2+1),(2*(t.^2-1))./(t.^2+1)) 
Los dos comandos producen el mismo resultado. Sin embargo, la forma de ejecución es 
diferente. Minimizando un poco la ventana principal de Matlab, se consigue ver simul-
táneamente la Command Window y la ventana de gráficas. Al ejecutar este comando, se 
observa que en la ventana de la figura aparece un circulito, el cometa, que va dibujando 
la curva. 
La velocidad de ejecución depende del número de puntos que se hayan generado con el 
comando >>linspace. 
2.6 Curvas planas en coordenadas polares 
Una curva en coordenadas polares es la imagen de la función r=h( ), donde [ 1, 2]. 
Un punto de la curva en polares (r0, 0) tiene distancia al origen r0, y el ángulo que 
forma el vector de posición del punto con el semieje positivo horizontal, medido en 
sentido positivo, es 0. 
Por lo tanto, la relación entre las coordenadas polares y las coordenadas cartesianas o 
rectangulares viene dada por: 
 
Para dibujar una curva en polares con Matlab se utiliza el comando >>polar. 
Los valores del ángulo son generados mediante el comando >>linspace. 
 
-5 -4 -3 -2 -1 0 1 2 3 4 5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
www.full-ebook.com
 Gráficos con Matlab 
 
39
Ejemplo 2.12 Dibujar la curva cardioide r = 2 4cos( ), con . 
>> theta=linspace(-pi,pi,100);r=2-4*cos(theta);polar(theta,r) 
 
Figura 2.24 Representación en coordenadas polares 
2.6.1 Otros comandos para curvas en coordenadas polares 
>>ezpolar(f), >> ezpolar(f,[a,b]) 
donde: 
- f es una cadena de caracteres conteniendo la expresión de una función f( ) 
- dibuja la curva definida en coordenadas polares por r= f( ) para variando en 
el intervalo [0,2 ], en el primer caso y en el intervalo [a,b], en el segundo. 
Ejemplo 2.13 a) Dibujar la curva rosácea de 5 hojas en polares r=cos (5 ).
 b) Dibujar la curva en polares r=sin(2 , en el intervalo [0, ]. 
>> ezpolar('cos(5*theta)',[0,2*pi]), ezpolar('sin(2* )*cos(3* )',[0,pi]) 
 
Figura 2.25 Representaciones de curvas en polares 
 2
 4
 6
30
210
60
240
90
270
120
300
150
330
180 0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
 0.2
 0.4
 0.6
 0.8
 1
30
210
60
240
90
270
120
300
150
330
180 0
r = cos(5 )
a)
 0.2
 0.4
 0.6
 0.8
 1
30
210
60
240
90
270
120
300
150
330
180 0
r = sin(2 t) cos(3 t)
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
40 
2.6.2 Cambios de coordenadas rectangulares a polares 
Cuando se desea cambiar las coordenadas en las que viene expresada una función, 
existen comandos que lo hallan de forma directa. Estos son: 
>> [TH,R] = cart2pol(X,Y) ……………… pasa de coordenadas cartesianas a polares. 
El ángulo lo devuelve en radianes. 
Nota: Estos comandos sólo sirven para hallar puntos, es decir, los argumentos no 
pueden ser variables simbólicas. Para calcular ecuaciones en coordenadas cua-
lesquiera, ha de hacer uno mismo las cuentas; o bien hacer cambio de variable y 
simplificar con el comando >>simplify. 
Ejemplo 2.14 Obtener en polares la ecuación de la circunferencia (x-1)2+y2=4. 
>> syms x y r theta, f=(x-1)^2+y^2-4, F=simplify(subs(f,{x,y},[r*cos(theta),r*sin(theta)])) 
 f = 
 (x - 1)^2 + y^2 - 4 
 F = 
r^2 - 2*cos(theta)*r – 3 
Por lo tanto, la ecuación en polares de la circunferencia quedaría: 
r2 - 2cos(theta) r = 3. 
Nota: Si la función se define vía inline, en vez del comando >>subs, bastará 
con evaluar la función en (rcos(theta),rsin(theta)). 
2.7 Relleno de regiones del plano 
En ocasiones, puede interesar sombrear regiones del plano o áreas encerradas entre 
curvas. Esto puede realizarse en Matlab mediante el comando >>fill. 
Si las curvas se cortan, previamente han de hallarse los puntos de corte, y posterior-
mente, para rellenar, recorrer las curvas desde sus puntos de corte de izquierda a dere-
cha. Esto último lo hace el comando >>fliplr. 
Si las curvas a rellenar son polígonos es más sencillo. Basta indicar los valores de las x 
y de las y de los puntos de corte y rellenar con >>fill. 
Todo esto va a ser ilustrado con ejemplos para entender mejor el comando y sus argu-
mentos. Primero, es necesario saber el punto de corte de las gráficas, el cual se hallará 
con el comando >>solve (este comando se desarrolla ampliamente en el siguiente capí-
tulo). 
www.full-ebook.com
 Gráficos con Matlab 
 
41
Ejemplo 2.15 Dibujar las curvas y=x2, y=2-x2 y rellenar el área encerrada entre ambas 
curvas.
>>% para encontrar los puntos de corte 
>> solve(x^2==2-x^2,x) 
ans = 
 1 
 -1 
Aunque el dominio de representación será x [-2,2], la región a pintar se encuentra 
entre los puntos de corte, x [-1,1]. La representación de las curvas, la región pintada y 
los comandos utilizados, se pueden consultar en la Figura 2.26 (el tercer argumento ‘c’ 
en >>fill indica el color, cyan en este caso) 
>> subplot(1,3,1); 
>>x=linspace(-2,2,50); 
>>plot(x,x.^2,'b-',x,2-
x.^2,'b--') 
 
>> subplot(1,3,2); 
>>x=linspace(-2,2,50); 
>>plot(x,x.^2,'b-',x,2-x.^2,'b--') 
>>hold on; 
>> xn=linspace(-1,1,10); 
>>plot([xn;xn],[xn.^2;2-
xn.^2],'k--') 
>> subplot(1,3,3); 
>>x=linspace(-2,2,50); 
>>plot(x,x.^2,'b-',x,2-x.^2,'b--') 
>> hold on; 
>> xn=linspace(-1,1,50); 
>>fill([xn,fliplr(xn)],[xn.^2,flipl
r(2-xn.^2)],'c') 
 
Figura 2.26 Representaciones de regiones sombreadas con >>fill y >>fliplr
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
42 
En el caso de representación de polígonos se puede proceder de dos modos diferentes, 
como se muestra en los Ejemplos 2.16 y 2.17. 
Ejemplo 2.16 Dibujar el triángulo cuyos vértices son (0,0), (0,1) y (1,1). Rellenar el 
área encerrada por este triángulo.
>> x=[0,1,0];y=[0,1,1]; % Vértices del triángulo recorridos de izquierda a derecha 
>> fill(x,y,'b'), axis square 
 
Figura 2.27 Representación de relleno de un polígono usando >>fill
Ejemplo 2.17 Dada la recta y=x, dibujar el área encerrada por esta recta y los ejes 
coordenados en el primer cuadrante. 
Evidentemente debe salir lo mismo que el ejemplo 2.16.
Primero, se dibujará la recta y=x, y luego se rellenará la figura, recorriéndola de iz-
quierda a derecha, con el comando >>fliplr. Es decir: 
>>x=linspace(0,1,100);y=x;plot(x,y,'k-'),hold on, 
>>xn=linspace(0,1,100);yn=linspace(1,1,100);fill([xn,fliplr(xn)],[xn,yn],'b') 
 
Figura 2.28 Representación de relleno de un polígono usando >>fliplr
0 0.2 0.4 0.6 0.8 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
www.full-ebook.comGráficos con Matlab 
 
43
Nota: Se obtendría el mismo relleno, pero recorriendo la figura de izquierda a 
derecha y comenzando por la parte superior, ejecutando: 
>>x=linspace(0,1,100);y=x;plot(x,y,'k-'), hold on 
>> xn=linspace(0,1,100);yn=linspace(1,1,100);fill([xn,fliplr(xn)],[yn,fliplr(xn)],'b') 
2.8 Funciones de varias variables. Superficies 
2.8.1 Representación de funciones en 3D: z=f(x,y). Comandos más usados 
Una superficie se define por la expresión z=f(x,y), siendo x,y las variables independien-
tes. Los comandos más usados son: 
Comando 
f 
expresión de 
dos variables 
Dibuja (x,y) varía en 
>> ezmesh(f) z=f(x,y) En el cuadrado [- , ] [- , ] 
>> ezmesh(f,[a,b]) z=f(x,y) en el cuadrado [a,b] [a,b] 
>> ezmesh(f,[a,b,c,d]) z=f(x,y) en el rectángulo [a,b] [c,d] 
 
El proceso para dibujar consiste en crear una malla con segmentos coloreados, en fun-
ción de los valores de los extremos. Editando posteriormente la gráfica, se pueden 
cambiar colores, ejes y demás propiedades. 
En caso de querer que los ejes X e Y se orienten al revés, en la ventana de la figura, 
con los ejes seleccionados, se elige la opción Reverse. 
Ejemplo 2.18 Representar la superficie dada por la función 
>> ezmesh('x*exp(-x^2 - y^2)') 
 
 
-3
-2
-1
0
1
2
3
-3
-2
-1
0
1
2
3
-0.5
0
0.5
x
x exp(-x2 - y2)
y
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
44 
Otros comandos interesantes para representar superficies son: 
>>ezmesh(... , 'circ') ........................... dibuja la función correspondiente sobre 
un círculo centrado en el origen. 
>>ezsurf(f) ......................................... dibuja una superficie coloreada z=f(x,y). 
Sus argumentos son como en >>ezmesh. 
Ejercicio: Ejecutar las órdenes indicadas y observar las diferencias: 
>>ezmesh('x*exp(-x^2 - y^2)','circ'), y >>ezmesh('x*exp(-x^2 - y^2)'). 
Ejemplo 2.19 La sentencia para representar es:
>> ezsurf('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)') 
 
2.8.2 Curvas de nivel de una superficie 
Para representar curvas de nivel pueden utilizarse los comandos: 
>> ezcontour(f), >> ezcontour(f,[a,b]), >>ezcontour(f,[a,b,c,d]) 
Estos comandos dibujan las líneas de nivel (isovalores) de la función z=f(x,y). Pueden 
ejecutarse los siguientes ejemplos para ir comprobando los resultados. 
Ejemplo: >> ezcontour('x*exp(-x^2 - y^2)') 
 
>>ezcontourf(. . . )…………. hace lo mismo que >>ezcontour, pero rellenando con un 
color sólido las distintas zonas determinadas por las líneas de nivel. 
 Ejemplo: >> ezcontourf('x*exp(-x^2 - y^2)') 
x exp(-x2 - y2)
x
y
-3 -2 -1 0 1 2 3
-3
-2
-1
0
1
2
3
www.full-ebook.com
 Gráficos con Matlab 
 
45
>>ezmeshc(f) ………………con los mismos argumentos que >>ezmesh, dibuja simul-
táneamente las líneas de nivel y la superficie. 
Ejemplo: >> ezmeshc('sin(u/2)*sin(v/2)') 
 
>>ezsurfc(f)………………..como >>ezsurf pero, además, dibuja las líneas de nivel. 
 Ejemplo: >>ezsurfc('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)') 
2.8.3 Curvas en el espacio 
Para dibujar curvas en el espacio en paramétricas se tienen los comandos detallados a 
continuación: 
>> plot3(x,y,z)…………… dibuja una línea en el espacio a través de los puntos cuyas 
coordenadas son los elementos de los vectores x, y, z. 
Ejemplo: >>t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t, ’r’); 
 
>>ezplot3(x,y,z), >>ezplot3(x,y,z,[a,b]) ……… donde 
- x , y , z son tres cadenas de caracteres conteniendo las expresiones de tres fun-
ciones x(t) , y(t) , z(t) (por eso en la llamada de la función deben ponerse entre 
comillas simples) 
-6
-4
-2
0
2
4
6
-6
-4
-2
0
2
4
6
-1
-0.5
0
0.5
1
u
sin(u/2) sin(v/2)
v
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
0
10
20
30
40
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
46 
- dibujan la curva de ecuaciones paramétricas x=x(t), y=y(t), z=z(t), para t en el 
intervalo [0,2 ], en el primer caso y para t [a,b], en el segundo. 
 Ejemplo: >>ezplot3('3*cos(t)','2*t.*sin(t)','sqrt(t)'), ezplot3('3*cos(t)','3*t.*sin(t)','sqrt(t)') 
 
2.8.4 Superficies de revolución 
Matlab tiene implementadas algunas funciones para ello: 
Cilindro: El comando >>cylinder(R,n) genera automáticamente un cilindro de 
revolución de radio R, donde n es el número de puntos de la circunferencia de 
la base del cilindro. 
Si no se indica el segundo argumento, el número n es, por defecto, 20. 
Esfera, Elipsoide: Existen de forma similar al comando anterior, >>sphere, 
>>ellipsoid. 
Lo realmente interesante de este comando >>cylinder, es que también admite radios 
variables R(t), donde t [a, b]. De esta forma, puede ser utilizado para obtener las 
gráficas de diferentes tipos de superficies de revolución, donde la generatriz es una 
función definida por R(t). 
No conviene poner demasiados puntos a la hora de generar el vector, de cara a apreciar 
bien el dibujo. 
Ejemplo 2.20 Dibujar la superficie de revolución que se obtiene al girar la curva z=e-y 
alrededor del eje OZ. 
En este caso, la función radio es r=r(z), y por lo tanto será y=-ln(z). Con lo que la 
ecuación de la superficie vendrá dada por: 
 
Para ello en Matlab se introduce: 
-4
-2
0
2
4
-10
-5
0
5
0
0.5
1
1.5
2
2.5
3
x
x = 3 cos(t), y = 2 t sin(t), z = sqrt(t)
y
z
-4
-2
0
2
4
-20
-10
0
10
0
0.5
1
1.5
2
2.5
3
x
x = 3 cos(t), y = 3 t sin(t), z = sqrt(t)
y
z
www.full-ebook.com
 Gráficos con Matlab 
 
47
>>t=linspace(0.1,5);r=-log(t);cylinder(r) 
Figura 2.29 Superficie de revolución
Superficies de revolución con respecto a cualquier eje 
En el supuesto de que la superficie de revolución no venga de girar alrededor del eje 
OZ, debe tenerse especial atención.
Ejemplo 2.21 Dibujar la superficie de revolución que se obtiene al girar la curva 
y= , alrededor del eje OX.
En este caso, la función radio es r=r(x) y por lo tanto será y= . Así, la ecuación de la 
superficie vendrá dada por: 
 
En Matlab se introducen las expresiones: 
>> t=linspace(-5,5);r=exp(-t);cylinder(r) 
Figura 2.30 Superficie de revolución mostrando como eje el vertical 
-2.5-2-1.5-1-0.500.511.522.5
-2.5 -2
-1.5 -1
-0.5
0 0.5
1 1.5
2
2.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-150
-100
-50
0
50
100
150
-150
-100
-50
0
50
100
150
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
48 
Esta no es la gráfica esperada ya que el eje de rotación debe ser el eje OX. 
Sin embargo, la superficie es la correcta. Simplemente, puede interpretarse la represen-
tación gráfica pensando que, en este caso, el eje vertical es el eje OX, y girar el orden 
de los ejes en sentido contrario a las agujas del reloj. Quedando: 
Figura 2.31 Superficie de revolución con los ejes indicados 
Nota: En el caso de que querer dibujar una superficie de revolución que gire con 
respecto al eje OX, o bien eje OY, y obtener una representación realista en di-
chos ejes, debe parametrizarse la superficie. 
La parametrización en este caso es sencilla, ya que simplemente deben parame-
trizarse las circunferencias que se obtienen en el plano deseado, teniendo en 
cuenta que los radios son variables, y dejar como parámetro la variable que nos 
da el radio. 
Se ilustra esto mediante el siguiente ejemplo. 
Ejemplo 2.22 Dibujar la superficie de revolución que se obtiene de girar la curva y=x2 
con respecto al eje OY.
Se va a realizar tanto la representación de la curva, como de la superficie de revolución 
obtenida. Como el giro se efectúa con respecto al eje OY, la función radio es . 
Y la ecuación de la superficie de revolución será: 
 
En este caso, la parametrización de las circunferencias vendría dada por: 
-150
-100
-50
0
50
100
150
-150
-100
-50
0
50
100
150
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1EJE Y
EJE Z
E
JE
X
www.full-ebook.com
 Gráficos con Matlab 
 
49
 
Puede hacerse de varias formas: 
Opción 1: asignar a la variable y el parámetro t (como luego es un radicando, sólo to-
mará valores positivos) 
>> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square 
>> subplot(1,2,2),t=0:.1:5;u=0:.1:2*pi;surf(sqrt(t)'*cos(u),t'*ones(size(u)),sqrt(t)'*sin(u)) 
Figura 2.32 Curva originaria y superficie generada
La orientación de los ejes ha sido cambiada desde la ventana gráfica, dándole a la op-
ción de ‘Reverse’ para el eje OY. También hubiera bastado poniendo como argumento 
de la variable y: 
>> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square 
>> subplot(1,2,2),t=0:.1:5;u=0:.1:2*pi;surf(sqrt(t)'*cos(u),t,sqrt(t)'*sin(u)) 
 
Para elegir el color de la superficie con el comando >>surf, es suficiente añadir un 
último argumento 
>> surf(sqrt(t)'*cos(u),t'*ones(size(u)),sqrt(t)'*sin(u),’FaceColor’,blue’) 
 
-5 0 5
0
5
10
15
20
25
Curva a girar
-4
-2
0
2
4
0
1
2
3
4
5
-3
-2
-1
0
1
2
3
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
50 
Opción 2: parametrizar de otra manera para que no haya radicales, esta vez asignar a la 
variable y el valor t2, es decir, el parámetro t es . 
>> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square 
>> subplot(1,2,2), u=0:.1:2*pi;surf(t'*cos(u),t.^2,t'*sin(u),'FaceColor','blue') 
Figura 2.33 Curva origen y superficie de revolución obtenida
Opción 3: Con el comando >>cylinder. Este exige darle como argumento la función 
radio, aunque dibujará siempre en el eje OZ. Es el interesado el que debe saber que, en 
realidad, esa figura es en torno al eje OY -en este caso-, y en cada ejercicio elegir la 
rotación de ejes adecuada: 
>> t=0:.1:5;y=sqrt(t);cylinder(y) 
Figura 2.34 Ejecución del comando >>cylinder 
-5 0 5
0
5
10
15
20
25
Curva a girar
-5
0
5
0
10
20
30
-5
0
5
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5-3
-2
-1
0
1
2
3
0
0.2
0.4
0.6
0.8
1
EJE ZEJE X
E
JE
 
Y
www.full-ebook.com
 Gráficos con Matlab 
 
51
2.8.5 Superficies Paramétricas 
Una superficie S puede ser representada por una función vectorial r(u,v) = (x, y, z), 
donde (u,v) Ruv 2. 
Las ecuaciones 
x=x(u,v), y=y(u,v), z=z(u,v), 
se denominan ecuaciones paramétricas de S. 
Una superficie S parametrizada por r(u,v) es suave en un punto (u0,v0) si dichas fun-
ciones (u,v) son continuas, tienen primeras derivadas parciales continuas en (u0,v0) y 
existe plano tangente a S en (u0,v0). 
Si se quiere dibujar superficies expresadas en paramétricas, los comandos a utilizar 
son: 
>> ezmesh(x,y,z), >> ezmesh(x,y,z,[a,b]), >>ezmesh(x,y,z,[a,b,c,d]) 
donde 
- x, y, z son expresiones de funciones de dos variables 
- dibujan la superficie de coordenadas paramétricas x=x(u,v), y=y(u,v), z=z(u,v) 
para (u,v) variando en el cuadrado [-2 ,2 ] [-2 ,2 ] en el primer caso; en el 
cuadrado [a,b] [a,b] en el segundo; y en el rectángulo [a,b] [c,d] en el tercer 
caso. 
 Ejemplo: >> ezmesh('u*cos(v)','u*sin(v)','v',[-pi,pi]) 
 
Figura 2.35 Representación del helicoide
-4
-3
-2
-1
0
1
2
3
4
-4
-2
0
2
4
-4
-3
-2
-1
0
1
2
3
4
x
y
z
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
52 
También puede ser usado el comando >>mesh, creando previamente una matriz de 
puntos o definida por el usuario, o con >>meshgrid ya que los argumentos deben ser 
matrices de puntos (puede verse el ejemplo desarrollado en el tema de funciones de 
varias variables). 
Ejemplo 2.23 Sea el semicono de ecuación z2=x2+y2 con z [0,1]. Parametrizar y re-
presentar para los valores de z [0,1]. 
Para realizar la parametrización, considérese que sobre planos paralelos al plano XY se 
tienen circunferencias con radio variable: 
x(u,v)= u*cos(v), y(u,v)=u*sin(v), 
Sustituyendo en la ecuación del cono, se obtiene la variable z que, en este caso, es 
z(u,v)= u con u [0,1], v [0,2 ]. 
Las expresiones necesarias para representar el semicono son: 
>> u=linspace(0,1,20);v=linspace(0,2*pi,20); 
>> [U,V]=meshgrid(u,v); 
>> X=U.*cos(V);Y=U.*sin(V);Z=U; 
 
Figura 2.36 Representación del semicono parametrizado
Ejemplo 2.24 Sea el paraboloide de ecuación z=2-x2-y2 con z . Parametrizar y 
representar el trozo de paraboloide con z [0,2]. 
Para realizar la parametrización, considérese que sobre planos paralelos al plano XY se 
tienen circunferencias con radio variable 
x(u,v)= u*cos(v), y(u,v)=u*sin(v), 
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
0
0.2
0.4
0.6
0.8
1
www.full-ebook.com
 Gráficos con Matlab 
 
53
Sustituyendo en la ecuación del paraboloide, se obtiene la variable z que, en este caso, 
es z(u,v)= 2-u2 donde u [0,1], v [0,2 ]. Como del ejemplo anterior ya se tienen 
valores asignados para u y v, en este caso no hace falta volver a definirlas: 
>> X=U.*cos(V);Y=U.*sin(V);Z=2-U.^2; 
>> surf(X,Y,Z);axis([-1 1 -1 1 0 2]) 
Figura 2.37 Representación del paraboloide
Ejercicio: Indicar qué órdenes deben darse para representar conjuntamente el semi-
cono y el paraboloide de los ejemplos anteriores y que el resultado final sea la siguiente 
representación:
 
Figura 2.38 Representación conjunta del semicono y paraboloide
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
1
1.2
1.4
1.6
1.8
2
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
0
0.5
1
1.5
2
www.full-ebook.com
Matlab para Matemáticas en ingenierías 
 
54 
2.8.6 Cambios de coordenadas a cilíndricas y esféricas y viceversa 
>>[TH,R,Z] = cart2pol(X,Y,Z) .............. pasa de coordenadas cartesianas a cilíndricas. 
>>[X,Y,Z] = pol2cart(TH,R,Z) .............. pasa de coordenadas cilíndricas a cartesianas. 
>>[TH,PHI,R] = cart2sph(X,Y,Z) ......... pasa de coordenadas cartesianas a esféricas. 
El orden de los argumentos de salida es: TH 
es el ángulo en sentido contrario a las agujas 
del reloj en el plano XY, PHI es el ángulo de 
elevación desde el plano XY y R es el radio. 
>>[X,Y,Z] = sph2cart(TH,PHI,R) ......... pasa de coordenadas esféricas a cartesianas 
 
2.9 Ejercicios 
1.- Representa las siguientes gráficas: 
a) , b) , c) , d) m(x)=log2(x-2), 
e) , f) , g) 
2.- a) Dibujar en una sola ventana con dos subventanas las funciones y = x2 3x – 2, 
z = x3 2x + 1 con x variando entre -5 y 5 a intervalos de 0.02. Marcar con un ’+’ en 
color rojo el punto (2,1) en ambas gráficas. 
 b) Además de las anteriores, dibujar ahora 4 subventanas dispuestas de dos en dos 
de forma que en cada una de ellas se representen las funciones anteriores y además, 
y= -x2 + 3x + 2, z= -x3 + 2x. 
 c) ¿Qué se observa en las gráficas anteriores? ¿Cuáles son los coeficientes directores 
de los polinomios en cada caso? ¿Qué puede decirse de los límites en el infinito sin 
necesidad de calcularlos? 
3.- Dibujar la superficie z = sin(x) + cos(y), donde x e y toman valores entre -5 y 5 a 
intervalos de 0.1. 
4.- Dibujar la función y = x e x2 con x variando entre -5 y 5 a intervalos de 0.05. 
5.- Dibuja la superficie z= , en el rectángulo [-2,2] [-2,2]. 
www.full-ebook.com
 Gráficos con Matlab 
 
55
6.- Dibujar en la misma ventana las funciones , , . ¿Qué puede 
decirse sobre la relación existente entre las tres funciones? 
7.- Representar las siguientes funciones a trozos y evaluarlas en distintos valores de 
cada uno de los trozos. Dibujar y definir alguna de ellas de dos formas distintas: 
a) f(x)= , b) g(x)= 
8.- Indicar, desde la representación gráfica, los valores de los límites más importantes 
de las funciones anteriores: puntos

Continuar navegando

Materiales relacionados

20 pag.
Programação em MATLAB

Colégio Objetivo

User badge image

Carlos Sanchez Ortiz

64 pag.
IntroduccionaMatlab

User badge image

Estudiando Ingenieria