You are on page 1of 18

PRCTICA 1:

APRENDIENDO CLCULO, CON MATLAB







Asignatura: CLCULO

Titulacin: GRADO EN INGENIERA

Curso 2010- 2011






PROFESORES: M CRISTINA SUAREZ RIESTRA
PEDRO FORTUNY AYUSO

Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG


Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



3


PRCTICA 1: APRENDIENDO CLCULO, CON MATLAB



1.1. INTRODUCCIN: QU ES MATLAB Y CMO SE TRABAJA EN L
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un software matemtico que
ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programacin propio (lenguaje M). Est
disponible para las plataformas Unix, Windows, y Apple Mac OS X. Entre sus prestaciones bsicas se hallan:
realizacin de operaciones de clculo simblico y numrico, la manipulacin de matrices, la representacin de datos
y funciones, la implementacin de algoritmos, la creacin de interfaces de usuario (GUI) y la comunicacin con
programas en otros lenguajes, as como con otros dispositivos hardware. El paquete MATLAB dispone de dos
herramientas adicionales que expanden sus prestaciones que son: Simulink (plataforma de simulacin multidominio)
y GUIDE (editor de interfaces de usuario - GUI). Adems, las capacidades de MATLAB estn en constante
expansin con las cajas de herramientas (toolboxes) y con las de Simulink, con los paquetes de bloques (blocksets).
Este es un software muy usado en universidades y centros de investigacin y desarrollo, de todo el mundo.
La primera versin de MATLAB data de los aos 70 y se ha ido desarrollando de forma muy dinmica y
continuada a lo largo de los aos hasta la actualidad y an contina en expansin con la colaboracin/participacin
de investigadores y usuarios. Fue diseada como herramienta de apoyo para los cursos de Teora de Matrices,
lgebra Lineal y Anlisis Numrico y no utilizaba en sus comienzos, como es lgico, el entorno de Windows, que
usa hoy en da. Actualmente, MATLAB es un programa de clculo muy potente que dista mucho del MATLAB
inicial, que operaba bajo el sistema operativo MS-dos. Las carpetas bsicas de estructuracin del programa de
MATLAB se denominan toolbox, alguna de las cuales utilizaremos en este curso. El programa incluye, para su
uso y manejo, herramientas de clculo cientfico y tcnico, de visualizacin grfica, etc as como un lenguaje de
programacin de alto nivel.

Al arrancar el programa MATLAB se abre, por defecto, una ventana similar a la que se tiene a continuacin
(ver Fig. 1), siempre manipulable a gusto del usuario con la ayuda del ratn, en ella se pueden distinguir varias
partes (o subventanas) sobre las que se puede actuar con las mismas facilidades que en cualquier otro programa que
funcione bajo Windows, utilizando el ratn y sus propiedades.




Fig. 1.1.- Ventana de inicio de MATLAB R2009b
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



4

En la parte superior de la pantalla aparece un men, con contenidos desplegables: File, Edit, Debug,
Desktop, Window, Help , que variar segn estemos situados en una ventana u otra, al que se puede acceder con
el ratn y conviene explorar sus posibilidades con detalle. Debajo de l una, dos, tres, o ms, subventanas segn las
que se desee tener activas: Current Folder, Command Window, Workspace, Command History, . Las ventanas
bsicas por defecto, son las que se muestran en la figura, lo ms habitual es tener abiertas al menos la ventana
Current Folder (Carpetas en uso) donde tendremos a la vista el directorio de trabajo, que contendr los ficheros con
los que se est trabajando; la ventana: Command History (Historial de los Comandos utilizados) en la que
aparecer reproducido todo lo que vamos realizando/ejecutando y una tercer ventana, que en este caso, es la que est
situada en el centro y est diseada por defecto, de mayor tamao que el resto, que es la denominada Command
Windows(Ventana de Comandos). Este ser el espacio donde iremos trabajando en MATLAB, ser la que estar
siempre activa (abierta o minimizada). Por tanto, todas las ventanas citadas se pueden tener cerradas, abiertas o
minimizadas, salvo la VENTANA DE COMANDOS (Command Windows) que es por defecto, la obligada a
tener activa cuando se opera en MATLAB.

NOTA: Para recuperar la estructura bsica, de las ventanas descritas, si es que alguna ventana se cerrase
involuntariamente, se debe seleccionar en el men principal Desktop/Desktop Layout/Default, para
recomponer la estructura por defecto.


Si observamos la Command Windows= VENTANA DE COMANDOS, una vez que el programa se ha
puesto en marcha, podremos observar, ya en nuestro ordenador que aparece en ella el pront o smbolo habitual de
los dos ngulos: >> . Desde ese instante, ya se puede trabajar con el programa MATLAB. Es necesario resaltar que
en todo momento el programa, diferencia entre lo que se le escriba con maysculas o con minsculas, es decir
MATLAB is case sensitive, es decir A y a, para MATLAB no son la misma variable o constante. Toda nuestra
sesin de trabajo, permanece activa y recuperable en MATLAB hasta que el programa se cierre. Durante la sesin
de trabajo, se pueden hacer borrados totales o parciales, o se puede guardar informacin para sesiones futuras.

En la parte superior de la ventana de comandos se encuentran el enlace: Help = Ayuda on line al programa,
muy til para resolver nuestras dudas de MATLAB. La versin de MATLAB 7.9.0 (R2009b) que se describe tiene
adems una ayuda on-line, para la sentencia u operador en uso. Se evoca situndose sobre la orden que se desee
introducir o el comando cuyo formato se quiera recodar. En la parte inferior izquierda de la pantalla, aparece el
icono de Start y a su derecha puede aparecer Ready o Busy, segn el programa est listo o detenido ejecutando
algo que le demande tiempo.



1.2.- CONCEPTOS BSICOS: UTILIZACION DE LA ARITMTICA ELEMENTAL,
LAS CONSTANTES, LAS VARIABLES, SU MANEJO Y FORMATOS

La forma de operar en MATLAB es muy similar a la de cualquier otro programa de clculo simblico, o
incluso a lo que ofrecen algunas calculadoras de bolsillo inicialmente, se le introducen los datos y se obtiene un
resultado por lo que es conveniente repasar operativa bsica, para ir familiarizndose con el entorno.

Situado el cursor, en la VENTANA DE COMANDOS, la que tiene el pront >> se puede empezar a
trabajar con MATLAB muy fcilmente. Los mensajes de ERROR nos saldrn siempre en la Ventana de
comandos y SALDRN en rojo. Nuestros comentarios, irn precedidos siempre por el smbolo % (tanto por
ciento) y como tales sern ignorados por el programa, slo sern recordatorios para el usuario, saldrn siempre en
color verde. (Los colores comentados, son los que tiene por defecto el programa, se pueden cambiar a gusto del
usuario). As ante la introduccin de la operacin 2, tendremos:


CORRECTO INCORRECTO
>> 2*pi % se desea calcular 2 por pi

ans =

6.2832
>> 2pi % se desea calcular 2 por pi
??? 2pi % se desea calcular 2 por pi
|
Error: Unexpected MATLAB expression.

Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



5

1.2.1. INTERFAZ DE USUARIO. OPERACIONES Y OPERADORES BSICOS

Antes de nada comentar, que el usuario, utilizando las flechas de la derecha del teclado, hacia arriba y
hacia abajo, se podrn recuperar las rdenes anteriores escritas sin tener que volver a escribirlas. Esto resulta til
cuando hay una equivocacin o se quiere escribir algo de nuevo o con alguna pequea modificacin. Otras veces,
puede resultar necesario, hasta imprescindible que un resultado no aparezca por pantalla. Por ejemplo si generamos
muchos datos o matrices de grandes dimensiones, con objeto de utilizarlo despus. Para conseguir esto se pone un
punto y coma detrs de la instruccin. Por ejemplo si queremos que no nos d el resultado 2*pi, anterior, pondremos
detrs de dicha orden un punto y coma:

>> x=2*pi;

Su resultado no aparecer en pantalla como antes, pero el programa ha realizado el clculo, y lo podemos
comprobar si tecleamos el valor x, as:

>> x
x =

6.2832
Salvo que se haga algo que de error, en cuyo caso, a pesar del punto y coma, el programa nos lo indicar:

>> 2pi;
??? 2pi;
|
Error: Unexpected MATLAB expression.

Los comandos se pueden ir escribiendo y ejecutando uno a uno, es decir, rengln a rengln, y tambin se
pueden escribir uno detrs de otro en una misma lnea, en cuyo caso habrn de ir separados por comas, o por puntos
y comas, para aquellos cuyo resultado no se desea que salga por pantalla. Y una cosa ms, si el rengln se nos hace
demasiado largo, se puede continuar escribiendo en el siguiente poniendo tres puntos suspensivos donde se quiera
cortar. Por ejemplo

>> x= sin(pi), y = cos(2*pi),

z=tan(pi/3)

x =

1.2246e-016


y =

1


z =

1.7321

Repasemos ahora las operaciones y constantes ms habituales y su nomenclatura. Es de sealar que cuando
sea necesario agrupar trminos o especificar determinado orden de operacin, esto se har siempre utilizando
parntesis, y se emplearn tantos parntesis como sean necesarios para que las rdenes estn claras, nunca se
utilizarn corchetes, estos estn reservados para manejar vectores y matrices.

El signo igual = se reserva para la ASIGNACIN EN VARIABLES y el doble igual = = para
comprobar la veracidad de identidades.

Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



6

Smbolo Significado
+ SUMA
- RESTA
* PRODUCTO
/ COCIENTE

Sin ms demora, se puede empezar a introducir en MATLAB operaciones bsicas para ver la sencillez de
su manejo. Escribamos, a la vez que leemos este texto en la VENTANA DE COMANDOS, al lado del pront
caracterstico de MATLAB >> la suma de 6 ms 3: 6+ 3 . El resultado se obtiene de forma inmediata nada mas
pulsar enter y viene siempre precedida por ans = (iniciales de respuesta en ingls, answer), esta variable ans
contendr en ella, la ltima respuesta que no se haya identificado de otra forma. As:

>> 6 + 3 % Pulsemos la tecla enter
ans =
9


Para el producto el asterisco * es obligatorio siempre entre todos y cada uno de los elementos que se
multipliquen. Hgase 6 x 3, se comprueba que:

>> 6*3 % Pulsemos la tecla enter
ans =
18

Para el cociente, se usar la barra de divisin habitual a la derecha. Hgase 6 / 3, se comprueba que:

>> 6/3 % Pulsemos la tecla enter
ans =
2

Recordemos que si alguna operacin se omite, o el programa no entiende lo que se le pide, enviar un
mensaje de ERROR, de color rojo. As, si lo que deseamos es escribir 2 y lo introducimos sin un asterisco * que
indique producto entre el 2 y la pi, nos aparecer el mensaje de error.
>> 2pi
??? 2pi
|
Error: Unexpected MATLAB expression


Smbolo Significado
^
POTENCIA (cualesquiera)
sqrt( )
RAIZ CUADRADA
( . )
ORDEN DE OPERACIN
= Asignacin de valor
Smbolo y Significado
Tipo
igual = =
no igual ~ =
menor que <
mayor que >
menor o igual que < =
mayor o igual que > =
0 FALSO vs 1 VERDADERO



Operadores
Relacionales

& (y)
(o)
~ (no)

Operadores Lgicos


Repasemos el uso de algunos de ellos. Si se quieren calcular potencias y races de cualquier ndice, por
ejemplo: 4, 9
3
se escribir:
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



7


>> sqrt(4)
ans =
2
Este ltimo resultado es calculable tambin como potencia , es decir:

>> 4^(1/2)
ans =
2
>> 9^(1/3)
ans =
2.0801

Como puede suponerse, es posible realizar cualquier otra operacin que combine las operaciones conocidas:

>> (5*8+23)/ 4
ans =
15.7500


NOTA: Obsrvese que la solucin decimal viene con punto para separacin de los enteros de los
decimales. De esa forma se han de introducir los decimales. Si no se pone el punto decimal, el programa
entender otra orden diferente, que no es un nmero decimal, como veremos a continuacin.

La operacin de multiplicar 2 35 se introducir del siguiente modo:

>> 2 * 3.5
ans =
7

de no ser as, al calcular la operacin 2 35 se obtendrn otros resultados, 2 3 que da 6 y por otro lado el 5 como
se expone a continuacin y se puede comprobar, si se escribe utilizando la coma como separador de decimales.
As:

>> 2*3,5
ans =
6
ans =
5

No sale mensaje de ERROR, pero el programa entiende algo diferente a lo que se desea introducir, que
est relacionado con lo ya comentado. Si se desea escribir VARIAS OPERACIONES SEGUIDAS en una misma
lnea, estas irn separadas por comas, y el resultado aparecer secuenciado, es decir al introducir:

>> (5 * 8 + 23) / 4, 3.5 * 2, 9 ^ (1/3) % se va a obtener lo siguiente

ans =
15.7500
ans =
7
ans =
2.0801

Pero si en vez de acabar la lnea u operacin con una coma (o sin nada), se pone un PUNTO Y
COMA el programa no devolver una respuesta ans = por pantalla, en sta y en cualquier otra orden; lo que no
significa que no haya realizado la operacin, sino que le hemos ordenado que no muestre el resultado. As, veamos
cmo se comporta el programa si se acaban alguna de las operaciones anteriores con punto y coma ; el resultado
que aparece por pantalla es solamente el correspondiente a la operacin que no lleve detrs el punto y coma, en este
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



8

caso, el resultado mostrado es el de (5*8+23)/ 4 que tiene detrs, solamente una coma. Los otros dos resultados no
aparecen, por llevar detrs el punto y coma. Comprubese.

>> (5*8+23)/ 4 , 3.5 * 2 ; 9^(1/3); % sale slo el primer resultado, faltara el resultado de las
dos ltimas operaciones tienen punto y coma detrs
ans =
15.7500

Si por el contrario, lo que interesa son resultados en pantalla o se ponen comas o se guardan los mismos
perfectamente identificados, asignando (=) dichos valores a nombres a, b, valor, pendiente, etc para poder
reutilizarlos posteriormente, asignacin que se hace de derecha a izquierda. Se escribira del siguiente modo:

>> a = (5*8+23)/ 4; b = 3.5 * 2; c = 9^(1/3); % se ha guardado cada operacin en a, b y c
% y no se muestran por pantalla

Pero, evocando a, b, c saldra su valor y lo mismo las dems. Si se escribe alguna constante, variable
o funcin que no reconozca el programa emitir de nuevo su correspondiente mensaje de ERROR:

>> a, b, c
a =
15.7500
b =
7
c =
2.0801

Y si se escribe una variable que no est declarada aparecer un mensaje de error, por ejemplo, si no se
tiene d, saldra:

>> d

??? Undefined function or variable 'd'.
>>

Llegados a este punto, es necesario saber, que si se est trabajando con mucha informacin y se desea
conocer la que est guardada en la memoria del programa, basta con escribir uno de los dos comandos que nos dan
esa informacin, que son who y whos. Actan del siguiente modo:

>> who
Your variables are:
a b c

o la informacin ms completa, que nos la dar whos, nombre, tamao tipo, bytes, tipo, atributos:

>> whos
Name Size Bytes Class Attributes
a 1x1 8 double
b 1x1 8 double
c 1x1 8 double
Este comando es de gran ayuda, ya que al evocarlo se tiene toda la informacin almacenada en la memoria
del programa.
Si se desea borrar alguna variable se utiliza el comando clear seguido del nombre de la variable o
variables a borrar, o el clear all, para borrar de una sola vez todo el contenido de la memoria. Si slo se desea
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



9

borrar (limpiar) el contenido de la pantalla de la ventana de comandos (Command Windows) se utilizar clc.
Prubense.
>> clear all % limpiamos todo el contenido de la memoria
>> clc % inicializamos limpia la ventana de comandos, pero todo lo que no se haya borrado
>> % estar en la memoria
>> a=15.75 % introducimos de nuevo un valor para a
a =
15.7500
>> who % comprobamos que est en la memoria
Your variables are:
a
>> whos % vemos de que tipo es esa variable
Name Size Bytes Class Attributes
a 1x1 8 double
>> clear a % la borramos
>> who % comprobamos que ha sido borrada



1.2.2. NMEROS Y VARIABLES. ALMACENANDO INFORMACIN


Hasta este momento se han ido introduciendo nmeros y operaciones al programa y ste se ha comportado
casi como una calculadora, da resultados, los almacena, los compara y sabe los que se le han introducido.
Recordemos que si se quiere recuperar algo de lo escrito en la Command Windows en la sesin hasta este momento,
se usarn las teclas de la derecha del teclado. Prubese.

Lo ms frecuente al trabajar con MATLAB es almacenar datos, bien para recuperarlos posteriormente, bien
para operar con ellos. Este almacenamiento se realiza usando variables.

Una variable acta como un contenedor de datos que puede ir cambiando su contenido. Si tenamos
en memoria la variable a, se hace:

>> a % se evoca a
a =
15.7500

es posible cambiarle el valor haciendo, por ejemplo:

>> a = a + 4; % se le han sumado 4 unidades, el nuevo valor ser ese, a partir de ese momento
>> a = a + 4
a =
19.7500


NOTA: El smbolo = es el utilizado para la asignacin de valores a las variables, asignacin que se
hace de derecha a izquierda. No tiene el significado matemtico de igualdad.



Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



10

Reglas para nombrar a una variable:

Se diferencia entre letras maysculas y minsculas.
Ej. mi_pendiente es diferente de MI_pendiente.

El nombre slo puede tener letras, nmeros y la barra baja.
Ej: Caso_1_a

No se pueden utilizar ni el punto, ni los dos puntos, ni el guin.

El nombre debe comenzar por una letra y no se admiten espacios en blanco.
Ej_ A2345_6B

No conviene utilizar como nombres de variables, rdenes ni funciones propias de MATLAB.
No debern de usarse acentos, ni signos ortogrficos de ningn tipo, en los nombres de las variables ni en
el de los ficheros que se confeccionen en el futuro.


Ejercicio 1.1.-

i) Comprubese el valor de las siguientes operaciones, guardando los resultados en A, B, C y D:
a) A = 3
2
+ 23 2 + 5/4 - 14
b) B =
1245
37

c) C =
1245
37
+
1245
37
3
-
1245
37
4

d) D = B
1/2
+ B
1/3
- B
1/4


ii) Verifquese que dichos valores estn guardados en la memoria del programa, utilizando los comandos who y
whos. Recurdese que MATLAB diferencia entre maysculas y minsculas

Sol: A= 52.5083; B = 33.6486; C = 6.6207= D

Ejercicio 1.2.- Comprense los siguientes resultados: a) (12
3
)
4
, b) 12
(3
4
)
y c) 12
3
4

utilizando operadores
relacionales y analcese la importancia del orden de colocacin de los parntesis, a la hora de obtener los resultados.
El operador relacional dar como respuesta 0 si la comparacin es falsa y como respuesta 1 si es verdadera.


1.2.3. CONSTANTES PREDEFINIDAS

En MATLAB como en todos los programas de clculo simblico, estn predefinidas las contantes ms
habituales de Clculo, como el nmero , el nmero e, la unidad imaginaria de los complejos i o j, el infinito, etc,
stas se escriben as:

>> pi % ser el nmero = 3.1416
ans =
3.1416

>> i % la unidad imaginaria utilizada indistintamente como i o j
ans =
0 + 1.0000i
>> j
ans =
0 + 1.0000i

>> exp(1) % el nmero e base de los logaritmos neperianos e
1
= e
ans =
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



11


2.7183

>> exp(2) % el nmero e
2
. Obsrvese que no lleva el circunflejo de potencia
ans =
7.3891

>> inf % el smbolo del infinito , en primer lugar bajo format rat (es decir como cociente)
ans =
1/0

>> format short % cambio de formato

>> inf % el smbolo del infinito
ans =
Inf

Si en alguno de los resultados que vaya calculando el programa, se encuentra con una operacin del tipo
0/0, que como se sabe, no es un nmero, el programa nos dar como respuesta NaN (Not a Number)

>> 0/0
ans =
NaN



1.2.4. FORMATOS PARA LOS RESULTADOS NUMRICOS

La visualizacin de resultados numricos en MATLAB sigue algunas reglas. Por defecto, un nmero
entero se visualiza como entero; un nmero real se visualiza con 4 decimales, salvo que los dgitos significativos
estn fuera de este rango, en cuyo caso se visualiza con notacin cientfica.

Pero es posible cambiar el formato de representacin de los nmeros que se tiene por defecto, usando la
secuencia Preferences/General/Numerical Format del men File, pero existe otra posibilidad, ms cmoda, que
es usar la orden apropiada.

NOTA: Debe observarse que el cambio de formato de salida, no cambia la representacin interna, solo
afecta a la visualizacin.


Los formatos ms habituales (que se pueden tener siempre a mano utilizando la orden help format) son:


Orden de MATLAB Comentarios Ejemplo
format long
format short
16 dgitos
visualizacin por defecto
35.83333333333334
35.8333
format short e 5 dgitos ms exponente 3.5833e+01
format long e 16 dgitos ms exponente 3.583333333333334e+01
format hex hexadecimal 4041eaaaaaaaaaab
format bank 2 decimales 35.83
format + signo +
format rat aproximacin racional 215/6
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



12

Las capacidades simblicas de la toolbox de matemtica simblica nos permiten realizar operaciones con
un nmero arbitrario de dgitos, sin embargo, a mayor nmero de dgitos, mayor gasto de tiempo y
memoria. As:
- La orden digits(n) cambiar el nmero de dgitos de precisin de salida que se usa por defecto a n en la
toolbox correspondiente.
- La orden digits nos permitir conocer cul es el valor de este nmero.
- Por ltimo, la orden vpa permite realizar un clculo y mostrar su resultado con una precisin especificada,
sin cambiar el nmero de dgitos de precisin con el que se trabaja por defecto.
Practiquemos con lo expuesto:
>> format long % establecemos formato por defecto, con 16 dgitos

>> pi

ans =
3.14159265358979

>> digits % dice cuantos dgitos de trabajo interno

Digits = 32

>> vpa(pi) % evala pi con 32 dgitos,

ans =

3.1415926535897931159979634685442

>> vpa(pi,60)

ans =

3.141592653589793115997963468544185161590576171875

>> vpa(pi,30) % establecemos ahora una salida de 30 dgitos

ans =

3.14159265358979311599796346854

>> format short
>> pi

ans =

3.1416

>> digits

Digits = 32 % sigue trabajando internamente con 32 dgitos

% muestra los que se han ordenado con la orden format short




Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



13

1.2.5 .- VARIABLES. TIPOS
En MATLAB es posible trabajar de forma numrica y simblica y los objetos que puede utilizar sern
individuales o matriciales. Si se trabaja de manera simblica es necesario declarar nmeros, variables y objetos
como tales, ya que las operaciones con ellas lo requieren.
La forma de crear, en general, objetos simblicos es utilizando las rdenes syms nombre_del_objeto o
nombre_del_objeto = sym(nombre_del_objeto ) donde las comillas que se utilizan son las situadas en la tecla del
signo ?.
Si de utiliza la instruccin syms para declarar los objetos que van a considerarse simblicos,
stos se introducen uno detrs de otro, separados por espacios en blanco. Por ejemplo:
>> syms x a m % declara como simblicas las variables la x, la a y la m
Si al finalizar la lista se escribe real, el programa considerar que dichas variables no tienen
parte imaginaria, en caso contrario las presupone complejas.
>> syms p q real % crea las variables p y q reales
>> f = 2^p+q % se crea la variable f simblica
En la expresin anterior se tiene que p y q son las variables independientes y f es simblica por
ser funcin de ellas, no es necesario declararla.
La forma de utilizar nombre_del_objeto = sym(nombre del objeto) es similar, pero el formato como se
puede observar, es un tanto diferente. As:
>> S = sym(A) % construye un objeto S, de clase 'sym' es decir simblico a partir de A
>> x = sym('x') % crea una variable simblica llamada 'x' y almacena el resultado en x
>> x = sym('x','real') % asume adems que x es real
>> alpha = sym('alpha')
>> r = sym('Rho','real')
>> k = sym('k','positive') % hace que k sea real positivo
>>x = sym('x','clear') % restablece x a su valor sin las propiedades aadidas real o positivo
Las variables simblicas se borran de la misma forma que las dems, escribiendo el comando
clear seguido del nombre de la variable.
NOTA: Es importante recordar la necesidad de colocar las comillas a la hora de definir las variables
simblicas con la orden sym('nombre de la variable'). Las comillas '..' que se utilizan para la declaracin
de las variables simblicas y su uso con sym son las situadas debajo del signo de cierre de la
interrogacin ? en los teclados al uso.


1.3.- FUNCIONES ELEMENTALES EN MATLAB
MATLAB dispone de numerosas funciones matemticas predefinidas, que pueden utilizarse directamente.
Por ejemplo, la raz cuadrada ya utilizada sqrt(). Todas las disponibles aparecen en pantalla tecleando help elfun.
De ellas seleccionaremos las ms habituales:

Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



14

abs(x) ... |x|
sqrt(x) .. x
nthroot(x,N).. x
N

factorial(x). x!
exp(x) .. e
x

log(x) . ln(x)
log10(x).. log
10
(x)

sin(x). sen(x)
cos(x) ... cos(x)
tan(x) tg(x)
asin(x). arcsen(x)
acos(x) ... arccos(x)
atan(x) arctg(x)

Las funciones trigonomtricas operan en radianes, si se desea trabajar en grados, las mismas han de
terminar en una d, es decir:
>> sin(pi/2)
ans =
1
>> sind(180/2)
ans =
1
NOTA: Las funciones elementales operan elemento a elemento, por lo que si afectan a un vector o matriz
as lo harn.

1.4.- CONSTRUCCIN DE VECTORES DE DATOS, OBJETIVO: REPRESENTAR
FUNCIONES PUNTO A PUNTO.
En Clculo se necesita conocer y poder manejar vectores y matrices. Este tipo de objetos es muy til, por
ejemplo, para elaborar tablas de valores de cara a hacer representaciones grficas o al trabajar con funciones de
varias variables, etc. Si se quiere construir un vector de datos, lo primero y ms importante es saber, que en
MATLAB, el uso de los corchetes est reservado para este tipo de objetos, quedando el uso de parntesis para el
resto de la operativa. As, si deseamos construir el vector de cuatro componentes [-1, 24, 76, 90] se har:
>>Tetra_vector=[-1 24 76 90]
>> Tetra_vector =
-1 24 76 90
>>Tetra_vector=[-1, 24, 76, 90]
>> Tetra_vector =
-1 24 76 90
Ya se sabe, que si no se desea que aparezca por pantalla el resultado, ser necesario escribir un punto y
coma al final de la lnea:
>>Tetra_vector=[-1 24 76 90];
Si se coloca un punto y coma entre los elementos del vector de forma equidistante, se nos permitir
construir matrices, no siendo en ningn momento necesarias las comas de separacin de los elementos, es decir:
>>Tetra_vector=[-1 24 ;76 90] % ahora convertido en matriz 2x2
Tetra_vector =
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



15

-1 24
76 90
Pero, si el vector de datos tuviese que ser de grandes dimensiones, no parece el procedimiento ms
adecuado el tener que teclear todos y cada uno de sus elementos. Esto se subsana utilizando procedimientos
estandarizados para construccin de este tipo de objetos. Hay varias formas de hacerlo, una de ellas es utilizando la
orden linspace con dos o tres parmetros. As linspace(x1, x2) nos construir un vector de 100 componentes
empezando en x1 y acabando en x2, equidistantes, es decir, 100 elementos los generar siempre si no se lo da otra
orden, por defecto. Si por el contrario no se desea esa cantidad de valores, se puede modificar la orden indicando el
nmero de valores que se desean, esto se hace colocando un nuevo nmero, ahora en una tercera posicin, es decir:
linspace(x1, x2, N) donde N representa el nmero de valores que se desean, sea cual sea mayor o menor que 100.
Es necesario recordar, que para poder trabajar con dicho vector en el futuro, ser conveniente asignarle un nombre.
As:
>> mi_vector= linspace(-10, 10, 200);
Otra forma de construir vectores es la siguiente, otro_vector = [x1: paso: x2]. Con esta orden se construir
un vector que tendr por primera componente x1 y por ltima x2 inicialmente y habr repartido el resto de valores
entre x1 y x2 de forma equidistante [x1, x1+paso, x1+2*paso, , x2], si no puede conseguir x2 exacto dar el valor
ms prximo.
>> otro_vector = [2:0.3:3]
otro_vector =
2.0000 2.3000 2.6000 2.9000
>> otro_vector = [2:0.1:3]
otro_vector =
Columns 1 through 8
2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000 2.7000
Columns 9 through 11
2.8000 2.9000 3.0000
Esta ltima orden se puede componer si corchetes:
>> otro_vector = 2:0.3:3
otro_vector =
2.0000 2.3000 2.6000 2.9000
A partir de un vector se pueden construir otros, por ejemplo, utilizando la funcin predefinida seno(x) se
tiene:
>> x= -10:0.01:10;
>> y= sin(x);
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



16

As el nuevo vector y tendr las mismas dimensiones que x, pero con los valores que corresponden al seno
de x. Hay un detalle en la operativa de vectores que es necesario tener en cuenta, dado que muchas veces estos no
se manejan como tales. Aclaremos este punto. Si la operacin para conseguir los valores de y fuera de otro tipo, por
ejemplo, que desesemos construir una parbola y = x
2
. Dado que se van a tomar los valores de x y estos han de
elevarse al cuadrado elemento a elemento, esto se le ha de indicar al programa, ya que en caso contrario dir que los
vectores que la de utilizar no son del mismo tamao y dar ERROR. Esta orden diferenciadora de la operacin a
realizar, se le da colocando un punto . justo antes de la operacin que se ha de realizar elemento a elemento,
y ser necesario en una misma expresin repetir el punto en tantas posiciones como sea requerido. As, con
los mismos valores de x, para diferentes valores de y se ejemplifica esta situacin a continuacin. Prubese.
>> x= -10:0.01:10; % se utilizar esta misma x en todas
>> y= x.^2;
>> y_uno= x.^2+ 2.*x + 1;
>> y_dos= x./2;
Esta construccin de tablas de valores, permitir representar x frente a y grficamente cuando se desee. La
orden que se utiliza para hacerlo, si los datos son de este tipo es plot(x, y), afectada por parmetros de color, tipo de
lnea, ttulo, etc (se ver con ms detalle en captulos posteriores). Represntense las funciones que se deseen.
Para ms aclaraciones escrbase:
>> help plot
Y compltese la orden plot(x, y) como se desee.

EJERCICIOS
A realizar en la sesin de prcticas para aprender a recurrir a muevas utilidades del programa, con la sola
ayuda del help del mismo.
1) Calclense las siguientes operaciones indicadas, utilizando el programa MATLAB y verifquese el
resultado obtenido con las soluciones que se adjuntan en cada uno de ellos:
a) 1+
1
9
+ S
2+4

(Sol: 6571/9 ; sese format rat)
b)
.
4 +144 + 27
3

(Sol: 7)
c)
.
1 +4 +2
(Sol: 1979/629)
d) e
I

(Sol: -1.0000 + 0.0000i, sese format short)
e)
S
con 15 cifras decimales
(Sol: 1.257274115669185, sese format long)
f) senI

4
] + cos I

2
] + Ln(e
4
)
(Sol: 2716/577)
g) aictg(1) +aiccos(-1)
(Sol:
S
4
= 177S4S2 )
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



17

2) Efecte las operaciones indicadas, siguiendo las pautas dadas en las soluciones, si alguna no se conoce,
evquese help:
a) Asigne al smbolo PEPE el resultado de
100!
95!

(Sol: 9034502400, sese factorial() )

b) Sustituya en la expresin PEPE + cos
2
(x) + sen
2
(x
2
) la variable x por 0.

(Sol: 9034502401, utilcense syms y subs ())
c) Elimnese la asignacin al smbolo PEPE y la propia variable PEPE y comprubese primero que se ha
eliminado el valor y luego que ya no est en memoria.
( Sol: sense, [ ], whos, clear y who)
c) Sustityase en la expresin (x + y)
2
x
3
la variable x por 1 y la variable y por -1.
(Sol: -1, sense syms y subs() )
3) Realcense las operaciones indicadas a continuacin, siguiendo las pautas indicadas en el enunciado:
a) Simplifique la expresin (x + y)(x - y) x
2
recurriendo a help collect si fuera necesario para hacer la
simplificacin.
(Sol: - y
2
, sense syms y collect () )

b) Factorice el polinomio -1 x + x
2
+ x
3
, recurriendo a help factor si fuera necesario para hacer la
simplificacin.

(Sol: (x - 1)(x + 1)
2
, sense syms y factor( ))

c) Factorice el polinomio 6x
4
11x
3
64x
2
+ 99x +90
(Sol: (2x - 5) (3x + 2) (x + 3)(x - 3), sense syms y factor())

d) Escriba i) sen(5x) e ii) cos(3x) en funcin de sen (x) y cos(x), recurriendo a help expand o help
simple si fuera necesario para hacer los clculos.
(Sol: i) 5cos(x)
4
sen(x) - 10cos(x)
2
sin(x)
3
+ sin(x)
5
ii) cos(x)
3
- 3cos(x)*sin
2
(x)

sense en ambos apartados syms y expand o eljase con simple el que ms interese)
4) Dado el siguiente cociente de polinomios
x
2
- 4
x
5
+ x
4
- 2x
3
-2 x
2
+x+1

a) Encuntrense las races del polinomio denominador y sus rdenes de multiplicidad recurriendo a help
solve si fuera necesario para hacer la simplificacin.
(Sol: -1 triple y 1 doble, sense syms y solve())

b) Cuntas fracciones ha de tener la descomposicin en fracciones simples en base a esas races y al
grado del polinomio denominador?
(Sol: grado = 5 = nmero de races = nmero de fracciones)

c) Descomponga en fracciones simples
x
2
- 4
x
S
+ x
4
- 2x
3
-2 x
2
+x+1
. Hgase uso del comando residue, (help
residue) dgase cules son los coeficientes de los numeradores de las fracciones simples.
Asignatura: Clculo. Titulacin: Grado en Ingeniera. EPSIG
Prctica 1: Aprendiendo Clculo con MATLAB
Curso 2010-11



18

(Sol: Coeficientes de los numeradores: -13/16 ; -5/4 ; -3/4 ; 13/16; -3/8)
d) Cul de las siguientes descomposiciones es la correcta?


-1316
(x-1)
3
+
-54
(x-1)
2
+
-34
(x-1)
+
1316
(x+1)
2
+
-38
(x+1)
(1)

-
13
16
(x+1)
3
+
-
S
4
(x+1)
2
+
-
3
4
(x+1)
+
13
16
(x-1)
2
+
-
3
8
(x-1)
(2)

-1316
(x-1)
+
-54
(x-1)
+
-34
(x-1)
+
1316
(x+1)
+
-38
(x+1)
(3)

-1316
(x+1)
3
+
-54
(x+1)
2
+
-34
(x-1)
+
1316
(x+1)
2
+
-38
(x+1)
(4)

You might also like