Documente Academic
Documente Profesional
Documente Cultură
Observa que se usa el punto como separador decimal, en lugar de la coma. Las operaciones usuales se realizan
con los mismos smbolos y en la misma secuencia que en las calculadoras.
suma resta multiplicacin divisin potencia
a+b a-b ab a/b a b
1
2 Prctica 1: Introduccin a matlab
Para que matlab ejecute una orden, es preciso pulsar la tecla Intro . Por ejemplo, para calcular el
valor de 3 + 5 2 + 1, se ejecuta la instruccin
>> 3 + 5*2 + 1
y se obtiene como respuesta
ans =
14
Esto quiere decir que el resultado se ha almacenado en la variable ans. En cambio,
>> s = (3+5)*2 + 1
indica a matlab que el resultado de esa operacin ha de guardarse en la variable s. Comprubalo y observa
la diferencia con el caso anterior.
Ejercicio 1.
- El nombre de una variable puede tener como mximo 63 caracteres (31 en versiones anteriores), que
pueden ser letras, nmeros y el guin de subrayar
- El primer carcter tiene que ser una letra. lado2 es un nombre vlido, pero no lo es 2lado.
- Las maysculas y las minsculas tienen valor distintivo. La variable Base es distinta de la variable
base.
- Dentro de un nombre de variable no puede haber espacios en blanco. lado1 es vlido, pero no lado 1.
- Existen nombres que deben evitarse, porque tienen significado propio en Matlab: ans, pi, Inf, . . .
- Se pueden definir varias variables en una misma lnea si se separan por comas. Por ejemplo:
>> base = 2, altura = 3, area = base * altura
- Tambin se pueden separar mediante punto y coma. En ese caso se inhibe el eco que sigue a la definicin
de una variable:
>> base = 5; altura = 2; area = base * altura
- Las teclas y permiten recuperar lneas anteriores y posteriores a la actual.
- Las teclas y permiten moverse a derecha e izquierda en una lnea para hacer modificaciones.
Ejercicio 2
1 x
Para x = 0, x = 12 , x = 2 2 y x = 1, calcula el valor del cociente .
x2 1
2
Prctica 1: Introduccin a matlab 3
3. El escritorio
Si queremos borrar la ventana de rdenes (Command Window) podemos hacerlo utilizando la orden clc;
hay que tener en cuenta que esto no afecta a las variables que ya estn en uso.
La orden helpwin sirve para obtener informacin sobre un tema concreto. Por ejemplo,
>> helpwin ans
proporciona informacin sobre ans. Muy similar a helpwin es la orden doc.
Si no se conoce la orden exacta sobre la que deseamos ampliar la informacin, se puede escribir simplemente
helpwin para abrir una ventana de ayuda Help en la que aparecer, entre otras cosas, una lista de temas,
un ndice de trminos y un buscador de palabras.
5. Formatos
Cuando matlab presenta los resultados, elige por defecto un formato con 3 dgitos como mximo para la
parte entera y 4 como mximo para la parte decimal; si el nmero que se quiere mostrar necesita ms dgitos,
se utiliza la notacin exponencial. Esta es la opcin short de la orden format. Por ejemplo:
>> format short
>> pi
ans =
3.1416
Prueba con
>> 10*pi
>> 100*pi
>> 1000*pi
format short 3 dgitos como mximo para la parte entera y 4 como mximo para la
parte decimal; si el nmero es mayor se pasa a la notacin exponencial.
format long 2 dgitos para la parte entera y 14 para la decimal; si el nmero es mayor
se pasa a la notacin exponencial.
Independientemente del formato con el que se muestra un clculo en pantalla, el ordenador realiza todos los
clculos con 16 cifras significativas.
matlab dispone de una gama muy completa de funciones con la orden help elfun se puede obtener la
lista completa que se corresponden con las funciones matemticas ms utilizadas. Algunos ejemplos de
estas funciones son:
7. Vectores y matrices
Uno de los aspectos ms notables de matlab lo constituye la forma en que permite manipular y operar con
vectores y matrices.
4
Prctica 1: Introduccin a matlab 5
En general, se introducen escribiendo entre corchetes cada una de sus componentes separadas por un
espacio o una coma. Por ejemplo:
>> v=[4 -6 5]
>> v=[4,-6,5]
Tambin se pueden introducir especificando el valor de cada componente en el orden que se desee:
>> w(2)=-6, w(1)=4, w(3)=5
Otras rdenes para casos particulares:
v=[a:h:b] Define un vector fila cuyo primer elemento es a y los dems ele-
mentos aumentan de h en h sin superar b.
v=[a:b] Define un vector fila cuyo primer elemento es a y los dems ele-
mentos aumentan de 1 en 1 sin superar b.
v=linspace(a,b,n) Define un vector fila de n componentes, cuyo primer elemento
es a y cuyo ltimo elemento es b, con diferencia constante entre
componentes consecutivas.
Ejemplos:
>> u=linspace(-4,7,6)
>> v=[-4:2:7], w=[-4:7]
>> v=-4:2:7, w=-4:7 % se puede escribir sin los corchetes
En general, se introducen como los vectores fila, separando las filas por un punto y coma:
>> b=[0;1;-5]
>> a=[-2 4;5 -1;7 1]
Tambin se pueden introducir especificando cada uno de sus elementos en el orden que se desee; por
ejemplo:
>> m(2,2) = -1, m(3,1) = 7, m(2,1) = 5, m(1,1) = -2, m(1,2) = 4, m(3,2) = 1
Se pueden definir por cajas que estn construidas previamente y cuyas dimensiones sean adecuadas:
>> c = [a b]
Hemos visto que es posible definir vectores y matrices especificando sus elementos. Una vez definida una
matriz a o un vector v, tambin podemos acceder a sus elementos o submatrices con las rdenes siguientes:
Ejemplos:
>> a(1,:)
>> a(:,2)
>> a([1,3],2)
Cuando las matrices son cuadradas de orden n, se puede sustituir el argumento (m,n) por (n).
Ejemplos:
>> zeros(2,3)
>> zeros(2)
>> eye(2,3)
>> eye(3)
Ejercicio 3
Definir los vectores siguientes:
1. v = ( 2, , e).
2. x = (0.15, 0.30, 0.45, . . . , 1.65, 1.80).
3. y = (3, 4, 5, . . . , 46, 47).
4. z = (100, 100, 1, 2, 3, . . . , 99, 100).
Ejercicio 4
1. Construir una particin P del intervalo [2, 3] formada por 9 puntos igualmente espaciados.
2. Construir un vector q cuya primera componente sea 2 y las siguientes se obtengan realizando un
incremento de 3/5, sin sobrepasar el valor 3. Calcular el nmero de componentes de q.
6
Prctica 1: Introduccin a matlab 7
En general, las funciones internas de matlab admiten argumento matricial, es decir, la funcin se aplica
sobre cada elemento de la matriz.
Ejemplo:
>> a=[1 2; 3 4], sqrt(a)
Si a y b son matrices (o vectores) del mismo tamao y r es un escalar, se pueden realizar las operaciones
siguientes:
Ejemplo:
>> v=[1 2 3 4]
>> 1+v
>> v.^2
Ejercicio 5
1
Para x = 0, x = 21 , x = 2 2 y x = 1, calcula el valor del cociente x
x2 1
utilizando operaciones elemento a
elemento.
Las capacidades de Matlab se pueden ampliar instalando diversos mdulos (toolboxes). Uno de ellos, de-
nominado Symbolic Math Toolbox, permite realizar clculo simblico, es decir, permite manipular las
variables sin necesidad de utilizar sus aproximaciones numricas.
Para utilizar el mdulo de clculo simblico Symbolic Math Toolbox es necesario crear unos objetos
simblicos que representan a las variables simblicas. Por abuso del lenguaje, a los objetos simblicos de
Matlab tambin se les llama variables simblicas.
Otro tipo de variables de Matlab son las cadenas de caracteres. Una cadena de caracteres es una coleccin
de caracteres ascii enecerrados entre apstrofos. Por ejemplo:
>> Ecu2 = a^2 = b^2 + c^2
Entre otras, el mdulo Symbolic Math Toolbox permite realizar las tareas siguientes:
8 Prctica 1: Introduccin a matlab
Ejercicio 6
3 2
Resolver la ecuacin x + 3x 4 = 0.
Solucin: Se puede hacer de dos formas: escribiendo la ecuacin mediante una cadena de caracteres y re-
solviendo con solve
>> solve(x^3+3*x^2-4=0)
o definiendo una variable simblica x para usar solve de manera ms simple:
>> syms x
>> solve(x^3+3*x^2-4)
Ejercicio 7
En cierto cultivo de bacterias (cuyo crecimiento es constantemente proporcional a los efectivos de poblacin)
el nmero de individuos se ha multiplicado por 6 en 10 horas. Cunto tiempo tard la poblacin en duplicar
su nmero inicial?
La poblacin sigue la Ley de Malthus
N (t) = N0 er t .
Si el nmero de individuos se multiplica por 6 en 10 horas, entonces
6 N0 = N0 er 10 ,
es decir
er 10 = 6.
Calculamos r resolviendo esta ecuacin, escrita en forma homognea equivalente
>> syms t r
>> r=solve(exp(r*10)-6)
r =
1/10*log(6)
>> double(r)
ans =
0.1792
es decir,
ln 6
r= 0,1792
10
Para calcular ahora el tiempo que tard la poblacin en duplicar su nmero, resolveremos
2 N0 = N0 er t ,
8
Prctica 1: Introduccin a matlab 9
esto es
>> t=solve(exp(r*t)-2)
y debe obtenerse t 3,8685 horas (= 3h 52m 6,7s).
9. Archivos M
Las rdenes de matlab se pueden introducir y ejecutar directamente a travs de la ventana de comandos,
pero tambin es posible escribir un archivo de texto que contenga las rdenes y ejecutarlas todas en bloque.
Un archivo que contiene rdenes de matlab se denomina un M-archivo. Para que matlab reconozca como
tal un M-archivo, este debe tener adems la extensin .m.
Los M-archivos se pueden escribir utilizando el editor incluido en la instalacin de matlab, al que se accede
a travs del men File. Para ejecutar las rdenes contenidas en el M-archivo nombre.m, basta teclear su
nombre desde la ventana de comandos. Por ejemplo
op1.m
a = 2;
b = 5;
s = a+b
p = a*b
Un caso especial de M-archivos son los archivos de funcin. Son aquellos cuya primera lnea ejecutable (no
de comentario) comienza con la palabra function.
Una funcin se define con un m-fichero, cuyo nombre coincide con el de la funcin. La primera lnea ejecutable
es:
seguida de las instrucciones necesarias. Cuando hay ms de un argumento de salida, stos deben ir entre
corchetes y separados por comas. Por ejemplo:
function y=f(x)
function [a,b,c]=g(x,y)
Es conveniente comenzar las primeras lneas del fichero con un comentario (inicindolas con el smbolo %),
explicando cmo debe usarse la funcin y sus argumentos (tanto de entrada como de salida). De esta manera,
dicha explicacin ser visible mediante la instruccin help nombre_funcin.
La funcin puede finalizarse en cualquier momento utilizando la instruccin return.
Por ejemplo
op2.m
function [s,p] = op2(a,b)
s = a+b;
p = a*b;
La orden ezplot permite representar grficamente expresiones simblicas en el plano. Cada vez que se utiliza
esta orden, matlab crea y activa una ventana grfica a la que le asigna el nombre Figure No. 1.
Algunos usos de la orden ezplot son:
Por ejemplo:
>> syms x % x es una variable simbolica
>> ezplot(sin(x)/x) % abre una ventana grafica
produce el resultado que se observa en la Figura3(a).
(a) Ventana generada con ezplot(sin(x)/x) (b) Ventana generada con ezplot(sin(x)/x,[-20 20])
Esta es una orden similar a ezplot, pero se utiliza para representar funciones definidas mediante M-archivos
o introducidas como cadena de caracteres.
Por ejemplo:
>> fplot(cos(x),[-1 1],g)
permite dibujar la grfica de f (x) = cos x en [1, 1], con trazo verde (g=green). No es necesario que la
variable x sea simblica.
Si una funcin est definida en un M-archivo mifuncion.m, se puede representar escribiendo
>> fplot(mifuncion,[-1 1],g)
10
Prctica 1: Introduccin a matlab 11
plot(t,y) construye la poligonal que pasa por los puntos (t1,y1), (t2,y2),
. . . (tn,yn).
plot(t,y,M) Permite elegir colores, trazos y marcas, segn sea el valor que se asigne
al parmetro M.
Conviene advertir que Matlab elige de forma automtica diversos aspectos de la grfica (intervalos, marcas,
textos, colores, tipos de lnea, rejilla, . . . ) y que esa eleccin puede no coincidir con la que deseamos. Por
ejemplo, los rangos de ordenadas de las Figuras 3(a) y 3(b) son diferentes; de hecho, la eleccin del rango de
ordenadas en la Figura 3(b) no parece la ms adecuada.
Los aspectos de la grfica se pueden editar y modificar usando el botn Show Plot Tools de la barra de iconos
de la ventana (vase la Figura 4):
De esa forma se accede a diversos cuadros de mens (vase la Figura 5) que permiten modificar numerosos
aspectos de la ventana grfica: intervalos, marcas, textos, colores, tipos de lnea, rejilla, . . .
Con el botn Hide Plot Tools de la barra de iconos se cierran los cuadros de mens.
Ejercicio 8
5
u(t) = .
1 + 5 e0,6 t
Otras rdenes de inters
Cada vez que se ejecuta una orden como ezplot, fplot o plot, matlab crea una ventana grfica y elimina
cualquier ventana anterior. A veces es interesante representar dos funciones diferentes sobre la misma ventana.
Esto puede hacerse activando la orden hold:
12
12 Prctica 1: Introduccin a matlab
hold on Activa la orden hold, y a partir de ese momento todos los nuevos grficos
se aaden a la ltima ventana abierta
hold off Desactiva la orden hold.
Ejercicio 9
5
Consideremos la funcin del ejercicio anterior u(t) = .
1 + 5 e0,6 t
Representarla en el intervalo [0, 10].
En una ventana distinta, representar primero la funcin u en [0, 5] y despus y sobre esa misma ventana en
[5, 10]; a continuacin, utilizar el editor de propiedades para modificar su aspecto.
Ejercicio 10
Repetir el ejercicio anterior, pero usando la orden subplot para dividir la ventana grfica en dos subventanas.