Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funciones y scripts
Control del flujo
Introduccion a MATLAB
Departamento Matematica Aplicada
Universidad de M
alaga
Curso 2012-2013
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 1
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Fundamentos
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 2
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ventana de Comandos
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 3
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Editor de textos
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 4
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ventanas
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 5
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Caractersticas
Matlab proporciona al usuario:
Gestion dinamica de la estructura de datos matriz rectangular.
Un conjunto de comandos, funciones y rutinas graficas muy
faciles de usar.
La extensibilidad es una de las caractersticas mas
importantes. Matlab crece constantemente gracias a
multitud de matematicos, ingenieros,... que contribuyen a
ampliar las capacidades del lenguaje.
Herramientas que permiten desarrollar y personalizar las
rutinas numericas.
Existen otros lenguajes similares con software libre: SCILAB,
OCTAVE, MAXIMA,. . .
Tambien debemos destacar: MATHEMATICA, R, GAUSS,
DERIVE,...
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 6
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Variables
Matlab distingue entre may
usculas y min
usculas: Total y TOTAL
son variables distintas.
Matlab tiene las siguientes variables predefinidas:
ans: Variable que almacena el u
ltimo resultado.
eps: Epsilon
de la maquina, o cota superior del error relativo de
redondeo al expresar un n
umero real en aritmetica de punto flotante.
pi: El n
umero .
inf, NaN: Infinito y Not a Number.
i, j: N
umero imaginario 1. CUIDADO: Puede cambiarse.
Introducci
on a MATLAB P
ag. 7
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Variables 2
La variable basica de Matlab es la matriz. Un n
umero real
sera una matriz 1 1. Aunque existe la variable cadena
(a=qwerty) y dispone de funciones para estas variables.
La matrices Matlab, pueden ser de 3 tipos: enteras, reales o
complejas. La conversion entre tipos es transparente al usuario.
Los calculos se hacen con la maxima precision (16 dgitos), pero la
salida por pantalla puede realizarse con:
formato corto (formato por defecto) format short
formato largo (long) format long
formato racional (rat) format rat
formato cientfico corto (short e)
cientfico largo (long e)
El formato compacto (format compact) evita lineas en blanco.
El cambio de formato puede hacerse mediante la ventana de
comandos.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 8
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Complejos
Una matriz sera compleja si lo es alg
un elemento:
Ejemplo
Introducir A = [1, 3, 5] + i [2, 4, 6], o bien
A = [1 + 2 i, 3 + 4 i, 5 + 6 i]
Automaticamente una matriz sera compleja si el resultado de un
calculo da un n
umero complejo:
Ejemplo
Introducir B = [log (4), 2, sqrt(2)]
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 9
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Caractersticas basicas 2
Ayudas en MATLAB:
help: Lista todas las toolboxes existentes.
help sort: Ayuda sobre el comando sort (ordenar).
who: Lista las variables definidas.
whos: Lista las variables definidas, espacio ocupado, tipo, . . .
quit: Salir de Matlab.
info, computer, ver, version dan informacion sobre
Matlab, el ordenador en el que estas trabajando, y las
versiones de Matlab y las toolboxes que estas ejecutando.
clc: Limpia la ventana de comandos.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 10
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
El sistema operativo
path En la version de Matlab para Windows, puede
modificarse el camino de b
usqueda de un comando en disco.
dir, type, cd, . . . igual significado que en MS-DOS.
quit abandonar Matlab.
Ejemplo
A
nadir un directorio al path de b
usqueda de Matlab.
>> p = path; path(p, a : );
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 11
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Diarios
Podemos tener un registro de las ordenes ejecutadas en una sesion
de Matlab y las salidas efectuadas por pantalla.
diary nombre de fichero hace que toda la informacion que
aparezca en la pantalla, se enve al da al fichero.
diary off/on permitira enviar o no los resultados.
Ejemplo
Crear un diario con las
ordenes y los resultados de un ejercicio.
>> diary ejer 1.txt, % Enva a ejer1.txt en directorio actual.
>> ..., ..., % ordenes que iran al diario llamado ejer1.txt
>> diary off
>> ..., ..., % las
ordenes entre diary off
>> diary on % y diary on no apareceran en el diario
>> diary c : \examen\ejer 2.txt
>> ..., % ordenes que iran al diario llamado ejer2.txt
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 12
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Sentencias de asignacion
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 13
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Introducci
on a MATLAB P
ag. 14
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
1 0 1
Para introducir la matriz A = 2 1 1 daremos en
1 2
0
Matlab el siguiente comando:
>> A = [1, 0, 1; 2, 1, 1; 1, 2, 0]
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 15
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
B = inv (D) (L + R)
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 16
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 17
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Vectores
Por enumeracion de sus elementos.
Usando la notacion rango: Valor Inicial : paso : Valor Final
A partir de otros u otra operacion que produzca un vector:
y = 3 x + sin(2 pi/5)
Ejemplo
>> x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>> y = 1 : 10
>> z = 1 : 2 : 10
>> u = x + sin(y)
>> v = linspace(0, 5, 12)
>> w = diff(x)
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 18
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ejercicio
Calcula lo que devuelve:
>> A = [1; 2; 3]
>> B = [1; 2; 3];
>> C = [1; 2, 3]
>> D = [1, 2; 3, 4]
>> E = [1; 2; [3; 4]]
>> F = [1 : 9; [1 : 9].2]
Dado v=[1 2 3] y w=[4 5 6] que devuelve:
>> x = [v; w; 0 3 1]
Que instruccion debemos teclear para obtener:
v=[2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 . . . 4.8 4.9 5]?
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 19
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Introducci
on a MATLAB P
ag. 20
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ejercicios
1 2 3
Dadas las matrices A= 4 5 6 , B=[1 2 3] y
7 8 9
1 3 3
C = 4 7 6
7 0 2
Calcular:
3
5
D=A+B, E=2A-5C, A , A , A = A1/2 .
Inversa de A mediante inv(A) y como A1 .
La solucion de Ax=b.
La solucion de AX=C.
F = (3A 5C )1 B
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 21
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ejercicios
resolver
si
debemos ejecutar,
366
x1
1 2 3
4 5 6 * x2 = 804
sistema Ax=b?
351
x3
7 8 9
Y Para resolver x A = b Que instruccion sera la correcta?
Soluci
on
a) x = A\b, o bien x = inv(A) b
b) x = b/A, o bien x = b inv(A)
NOTA: En el segundo caso b debe ser un vector 1 3 o matriz
k 3, resultando x un vector de igual dimension.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 22
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Matrices especiales
ones(m,n): Matriz de unos de m filas y n columnas.
zeros(m,n): Matriz de ceros de m filas y n columnas.
rand(m,n): Matriz m n de n
umeros aleatorios distribuidos
uniformemente en (0,1).
randi([Imin,Imax],m,n): Matriz m n de n
umeros aleatorios
distribuidos uniformemente en los enteros entre Imin e Imax.
randn(m,n): Matriz m n de n
umeros aleatorios distribuidos
seg
un la normal de media 0 y desviacion tpica 1.
eye(n): Matriz identidad de orden n.
size(A): Un vector [m,n] con las filas y las columnas de A.
length(v): Longitud de un vector.
A : Matriz traspuesta (conjugada).
A. : Matriz traspuesta (sin conjugar los elementos).
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 23
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
sqrtm(A) calcula A.
logm(A) calcula la matriz logaritmo neperiano.
[V,D]=eig(A) calcula los autovalores y autovectores de A.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 24
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Introducci
on a MATLAB P
ag. 25
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ejemplo
Ejemplo
Dado A=[1 2 3; 4 5 6] Que devuelve: >>ones(size(A))? Y
que devuelve: >>length(A)?
Que puede devolver: >>rand(2)? a) [0.2345 0.3611],
0.1578 0.7691
0.1578 1.7691
0.2327
b)
, c)
, d)
0.5454 0.8328
0.5454 1.8328
0.1322
Que orden hay que dar para que Matlab devuelva:
ans=[1 0; 0 1; 0 0] ?
1+2i
1i
Si tenemos la matriz A =
Que devuelve
3+2i 26i
A ? Que devuelve A. ? Que devuelve conj(A)? Que devuelve
B=zeros(size(A))?
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 26
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ejemplo
Ejemplo
2 3
, e introducimos:
3 2
N = [ones(2) M; zeros(2) eye(2)] Que matriz se obtiene?
Si M =
Ejemplo
Introducir: >> X = [1
Que resulta?
Ejemplo
Introducir:
3 pi] ,
>> x = 1 : 0.3 : 2,
Departamento Matem
atica Aplicada
Y = zeros(size(X))
y = 2 x + 1 Que resulta?
Introducci
on a MATLAB P
ag. 27
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
2
Dada A = 1
2
1
0
8
2 2
5 7
9 3
0 4
12 3 . Cuanto valen:
1 1
A(2,4)
A([1 3],:)
A([3:-1:1],[4,2])
A([3 1 2 1],[1 3])
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 28
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ejemplo
Dado el vector v=[7 6 5 4 3 2 1] C
omo se obtiene la tercera
componente?
Que devuelve la instrucci
on: >>x=v(1:3)?
Que devuelve la instrucci
on: >>x=v([3 5 1 7])?
Que devuelve la instrucci
on: >>x=v(3:-1:1);? Y la
>>x=v(3:-1:1) ?
Que devuelve >> v(2:5)?
Dada la matriz A=[1 2 3; 4 5 6; 7 8 9], calcula lo que devuelven las
siguientes instrucciones:
>>A(3,3)=0
>>E=A(1:2,2:3)
>>B=A(3:-1:1,1:3)
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 29
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ejemplos
Sea A=[4:-2:0;2:3:8;3:5:14] escribir la matriz que devuelve:
>> A(2,1)=5*A(3,2)-A(1,1)
>> A(2,:)=A(2,:)-2/4*A(1,:)
>> D=A(1:2,2:3)
>> E=A(1:2,:)
>> F=A(:)
>> G=A(1:2)
>> H=A(:,3)
>> K=A([1 3],:)
>> L=A([1 3],[2 3])
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 30
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
(X e Y matrices)
2 3
2 2
M N =
yN=
5 3
4 2
1 0
1 1
Departamento Matem
atica Aplicada
entonces:
M. N =
2 0
2 2
Introducci
on a MATLAB P
ag. 31
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Operadores punto
X .Operador Y
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 32
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Polinomios
Para representar un polinomio en Matlab usaremos vectores. El
polinomio
P(x) = an x n + an1 x n1 + . . . + a1 x1 + a0
se representa en Matlab como
p = [an , an1 , . . . a1 , a0 ]
Por ejemplo: si queremos representar en Matlab el polinomio:
P(x) = 3x 2 + 4x + 5 lo almacenaramos de la siguiente forma:
>> p = [3, 4, 5].
Y para q = x 4 5x 3 lo haremos mediante
>> q = [1, 5, 0, 0, 0].
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 33
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Introducci
on a MATLAB P
ag. 34
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ejercicios
Poner las instrucciones Matlab para:
Expresar los polinomios: P(X ) = x 4 + x 2 1 y
Q(x) = (1 x 2 )2 .
Hallar los puntos en que P(x) = 2.
Evaluar P(3), P(x) siendo x=1,1.1, 1.2,. . . ,3.
Hallar los puntos en que se cortan, es decir, resolver
D(x) = P(x) Q(x) = 0.
Hallar su producto C (x) = P(x) Q(x).
Hallar el cociente y resto de P entre Q.
Resolver la ecuacion algebraica: P(x) Q(x) + x 2 2 = 0.
Calcular P(5), P (5) y P (5).
R
Como obtenemos IP = P(x)dx y que forma tomara.
R4
Calcular I = 2 P(x)dx
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 35
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Introducci
on
Manipulaci
on de matrices y vectores
Ejercicio resuelto
Ejemplo
Dado el polinomio: p(x) = x 4 3x 3 + 2x 5
Hallar sus races.
>> p = [1, 3, 0, 2, 5], r = roots(p)
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 36
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Funciones
Funciones definidas por el usuario
Ficheros de
ordenes, scripts
Funciones
Como en todos los lenguajes las funciones pueden ser de librera o
definidas por el usuario.
Las funciones de librera se cargan al iniciar Matlab y son las b
asicas
del lenguaje y externas estando incluidas en las TOOLBOXES instaladas.
Cualquier usuario puede a
nadir sus propias funciones facilmente.
Tanto los par
ametros de llamada, como los resultados de la
funci
on son matrices.
Una misma funci
on puede devolver uno o varios argumentos, seg
un se
realice la llamada y recibir diferente n
umero de parametros de entrada.
d=eig(A) devolvera en d los autovalores de A.
[v,d]=eig(A) devuelve los autovectores en v y los autovalores en d.
help eig indica todas las posibles formas de llamar a la funci
on eig.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 37
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Funciones
Funciones definidas por el usuario
Ficheros de
ordenes, scripts
Definicion de funciones
La forma es:
function [y1 , . . . , ym ] = nombre funcion(x1 , . . . , xn )
sentencias
Ejemplo
Definir la funcion en Matlab que calcule la siguiente funcion:
7x 2 sen(x)
alfa(x) =
.
2x + 3
function y=alfa(x)
y=(7*x.2-sin(x))./(2*x+3);
Luego mediante
>> y = alfa(7), y2 = alfa([123]), x = 1 : 10; y3 = alfa(x)
podremos obtener su valor
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 38
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Funciones
Funciones definidas por el usuario
Ficheros de
ordenes, scripts
Caractersticas
Las variables que se declaren dentro de la funcion son locales.
La u
nica conexion entre el espacio de trabajo y el cuerpo de la
funcion se hace a traves de lista entrada y lista salida.
La instrucci
on return provoca la terminacion inmediata de la
ejecucion del fichero.
% se emplea para introducir comentarios. Los comentarios
que se escriban hasta la primera lnea de codigo, se devuelven
cuando se solicita ayuda mediante help nombre funci
on.
nargin y nargout: n
umero de parametros de entrada y de
salida (respectivamente).
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 39
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Funciones
Funciones definidas por el usuario
Ficheros de
ordenes, scripts
funciones INLINE
Conviene ver: help inline.
INLINE(EXPR) construye un objeto funcion inline de la expresion
Matlab contenida en EXPR.
Ejemplos:
g = inline(t2)
g = inline(sin(2*pi*f + theta), f, theta)
Ejemplo
Introduce en Matlab la funcion y = e x/4 sen(x) utilizando la
orden inline y la funcion fplot para dibujarla en [0, 10]
>> F = inline( exp(x./4). sin(x) )
>> fplot(F, [0, 10]); grid on
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 40
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Funciones
Funciones definidas por el usuario
Ficheros de
ordenes, scripts
Scripts
Contienen instrucciones Matlab y para ejecutarlos basta con
poner su nombre. Se crean y modifican con el editor de textos.
Se usan para introducir datos iniciales (matrices grandes) y
organizar los calculos (programas).
Ejemplo
Se crea un fichero de texto de nombre ej1.m con las ordenes:
x=1:10;
y=x.2-2;
plot(x,y)
grid on
Lo llamaremos mediante >> ej1 y dibujara la grafica.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 41
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Funciones
Funciones definidas por el usuario
Ficheros de
ordenes, scripts
Instrucciones de Entrada/Salida
echo visualiza el comando en ejecucion.
disp visualiza texto o n
umeros en la pantalla.
input permite visualizar un texto y obtener datos desde
teclado.
keyboard permite leer y modificar variables desde teclado.
pause detiene la ejecucion un tiempo determinado o hasta
pulsar una tecla.
return provoca la terminacion de la ejecucion del fichero y
devolucion del control a la instruccion llamante.
menu permite generar un men
u de opciones.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 42
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Funciones
Funciones definidas por el usuario
Ficheros de
ordenes, scripts
Introducci
on a MATLAB P
ag. 43
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Funciones
Funciones definidas por el usuario
Ficheros de
ordenes, scripts
Funciones matematicas
Las funciones matematicas en Matlab, estan dirigidas a vectores,
as: >> x = [0 pi/2 pi], sin(x), produce la salida:
>> ans = 0 1 0
Una lista de funciones elementales puede verse mediante help elfun
Funciones trigonom
etricas elementales incluidas son:
sin, cos, tan, asin, acos, atan, asinh, acosh, atanh, . . .
Otras funciones elementales son:
abs, angle, sqrt, exp, log, log2, log10, round, fix, ceil, floor,
rem, sign . . . .
Funciones con salida un vector: diff, linspace, find, sort . . .
Funciones estadsticas: Entre ellas estan max, min, sum, prod,
sort, cumsum, cumprod, mean, median, std, cumsum,
cumprod, hist, corrcoef, cov, var, corr, skewness, kurtosis,
rand, randn, randi, geomean, harmmean, mad, prctile,
boxplot, . . .
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 44
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Funciones
Funciones definidas por el usuario
Ficheros de
ordenes, scripts
Predicados
any(x) devuelve cierto si alg
un elemento del vector x no es
cero.
all(z) devuelve cierto solo si los elementos de x son distintos
de 0.
find(x) devuelve las posiciones de los elementos distintos de
cero del vector x.
exist(var) devuelve cierto si la variable existe.
isnan(A) devuelve cierto donde vale NaN y cero donde no.
finite(A) devuelve cierto en los valores finitos y 0 donde no lo
sea.
isempty(A) devuelve cierto si es una matriz vaca.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 45
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Bifurcaci
on condicional
Bucles
Gr
aficos
Ejercicios
Introducci
on a MATLAB P
ag. 46
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Bifurcaci
on condicional
Bucles
Gr
aficos
Ejercicios
Case
Sentencias CASE, SWITCH
switch Variable,
case 1, Sentencias para Variable=1.
case 2, Sentencias para Variable=2.
...
case 8,10,12, Sentencias cuando Variable vale 8, 10
o 12.
otherwise
error(No esta contemplado el caso.)
end
Si la variable de conmutacion vale 1, ejecuta la 1a , si vale 2 la 2a ,
etc.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 47
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Bifurcaci
on condicional
Bucles
Gr
aficos
Ejercicios
Bucles
Sentencia FOR:
for matriz
sentencias
end
Sentencia WHILE:
while condici
on
sentencias
end
La instruccion break provoca la salida del bucle, o del u
ltimo bucle
si estan anidados.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 48
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Bifurcaci
on condicional
Bucles
Gr
aficos
Ejercicios
Ejemplo
Ejemplo
1
Ejemplo
Hallar el logaritmo en base 4 de los 1.000 primeros naturales. Se
puede hacer con los dos metodos siguientes:
1
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 49
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Bifurcaci
on condicional
Bucles
Gr
aficos
Ejercicios
Comandos graficos
plot(x,y) representa la tabla de puntos (xi , yi ).
>> x = 1 : 0.5 : 10; y = sin(x); plot(x, y), grid
representa la funcion y = sen(x).
fplot(funcion, [a, b]) dibuja una funcion.
hold on/off Permite superponer dos o mas graficas.
grid on activa una cuadrcula en la figura.
whitebg cambia el color de fondo.
title, xlabel, ylabel, xcolor, ycolor,. . . consultar help
comando.
shg permite visualizar el u
ltimo grafico en la pantalla.
clf, clg borran la pantalla de graficos.
subplot(m,n,p) permite crear varias graficas en una misma
figura.
figure abre una nueva ventana de graficos.
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 50
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Bifurcaci
on condicional
Bucles
Gr
aficos
Ejercicios
Ejemplo
Ejemplo
Dibujar el seno y el coseno en la misma figura.
>> fplot( sin(x) , [2 pi, 2 pi])
>> hold on, fplot( cos(x) , [2 pi, 2 pi])
La siguiente orden hace lo mismo
>> fplot( [sin(x), cos(x)] , [2 pi, 2 pi])
Representar graficamente en [0, 10] la funci
on y = e x/4 sen(x)
introduciendo en Matlab la funci
on. Expresar los valores en una tabla.
function y=fun22(x)
y=exp(-x./4).*sin(x);
y luego ejecutar:
>> x = 0 : 0.01 : 10; y = fun22(x); plot(x, y); grid
>> [x , y ]
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 51
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Bifurcaci
on condicional
Bucles
Gr
aficos
Ejercicios
Ejercicios
1 0 0
Que hacemos para obtener: 0 5 0
0 0 9
1 2 3
Y si queremos obtener 0 5 6
0 0 9
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 52
Fundamentos de Matlab
Funciones y scripts
Control del flujo
Bifurcaci
on condicional
Bucles
Gr
aficos
Ejercicios
Ejercicios-2
3
Departamento Matem
atica Aplicada
Introducci
on a MATLAB P
ag. 53