Professional Documents
Culture Documents
DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRNICA
Curso Bsico de MATLAB
ingeniera.
Estn interesadas en utilizar MATLAB como herramienta
CAPITULO I
INTRODUCCIN A MATLAB
Aplicaciones:
4
5
4
5
CAPITULO II
A=
1 5 9 6
6 2 0 8
1 -9 5 -1
A = [1 5 9 6; 6 2 0 8; 1 -9 5 -1]
zeros(m,n)
ones(m,n)
eye(m,n)
rand(m,n)
magic(k)
size(A)
lenght(A)
cat(dim, A, B)
rot90(A,k)
tril(A,k)
Descomposicin Schur.
Rango y nulidad en una matriz.
Inv(A)
det(A)
trace(A)
lu(A)
rref(A)
poly(A)
eig(A)
schur(A)
rank(A)
Direccionamiento en vectores.
Para tener acceso a los elementos en un vector se debe de poner el
ndice entre parntesis, el ndice siempre empezar siempre por el
nmero 1.
x = [ 10 3 2 . . . 3 ]
x(1) x(2) x(3) . . . x(n)
un vector de ndices
>>x([1 2 3])
Direccionamiento en vectores.
En lugar de un vector de ndices se obtener una matriz con los
elementos correspondientes a los ndices.
>>x([1 5;9 4]) devuelve una matriz de 2x2 con los
elementos que
corresponden a los ndices
1,5,9 y 4
x = [ 7 10 7 9
x([1 5;9 4])
ans =
7 1
9
8 ]
Direccionamiento de matrices
Existen 2 posibles formas de acceder a los elementos de una matriz:
Con 2 subndices (i, j) en donde i es el nmero de fila y j es el nmero de
columna.
Con 1 subndice (i) en donde los elementos se van contando por columnas.
2
A= 9
8
8
9
7
3
3
7 3
6 5
1 5
1 10
Direccionamiento de matrices
Tambin es posible hacer el direccionamiento por medio de 2 vectores
>>A( [1 3], [ 4 2] ) hace las combinaciones [(1,4) (1,2); (3,4) (3,2)]
6 2 1 1
A= 4 9 9 5
5 10 7 4
6 6 8 2
A( [1 3], [ 4 2] )
ans =
4 10
CAPITULO III
EXPRESIONES PARA MATLAB.
sentencias en MATLAB.
Un shorcut puede ser: una sola sentencia (o funcin), un conjunto de
sentencias o un archivo M.
Con solo dar click en el shorcut se ejecuta el conjunto de sentencias.
multiplicacin:
potencia:
divisin:
divisin:
A(i, j) * B(i,j)
A(i, j)n
B(i, j) / A(i,j)
A(i, j) / B(i,j)
CAPITULO IV
ARCHIVOS M-FILES.
Qu es un Archivo-m?
Un archivo-m, o script file, es un simple archivo de texto donde
se introducen comandos o instrucciones de Matlab. Cuando se corre el
archivo, Matlab lee los comandos y los ejecuta secuencialmente
exactamente como si se los estuviera tipeando en ese momento en el
prompt. Todo archivo-m debe tener extensin '.m' (ej. plot.m). Si crea un
nuevo archivo-m con el nombre de uno que ya existe, Matlab elegir aquel
que aparezca primero en el listado de paths (help path para ms
informacin). Para facilitarse la vida, siempre cree sus archivos-m con
nombre distinto que los existentes. Para ver si un archivo-m existe, tipee
help nombre_archivo.m en el prompt del Matlab .
CAPITULO V
TOOLBOX SYMBOLIC MATH.
Objetos simblicos
Un objeto simblico es una estructura de datos que almacena
Objetos simblicos
Diferencia entre variable
estandar y variable
simblica:
>> sqrt(2)
>> sqrt(sym(2))
Visualizacin:
>> pretty(f)
Objetos simblicos
Sym & pretty:
Ejercicios
Sumar, Restar, Multimplicar y Dividir:
Objetos simblicos
Objetos simblicos
Solucin:
Objetos simblicos
Multiplicacion de expreciones algebraicas:
expand( f )
Ejemplo:
Objetos simblicos
Ejemplo:
Objetos simblicos
Ejercicios:
Objetos simblicos
Factorizacin:
Ejemplo:
Objetos simblicos
Ejemplo:
Objetos simblicos
Ejercicios:
Objetos simblicos
Fracciones algebraicas:
Cuando se trabaja con fracciones algebraicas y fracciones
Objetos simblicos
Ejemplos:
Simplificar:
Objetos simblicos
Simplificar:
Objetos simblicos
Simplificar:
Objetos simblicos
Ejercicios:
Operador
matemtico
Comando de
MATLAB
diff(f) o diff(f,x)
diff(f, a)
Operador
matemtico
Comando de
MATLAB
limit(f)
limit(f ,x ,a) o limit(f, a)
diff(f,b,2)
limit(f, x, a, left)
J=jacobian([r ; t] , [u , v]
limit(f, x, a, right)
Operador matemtico
Comando de MATLAB
Operador
int(x^n) o int(x^n, x)
CAPITULO VI
GRFICOS.
Graficar datos
Una de las funciones ms importantes en Matlab es la funcin plot . Este comando plotear
los elementos del vector x en el eje horizontal de una figura, y los elementos del vector y
en el eje vertical de la figura. Por defecto, cada vez que se use el comando plot , se borrar
la figura que estaba, quedando solo la nueva
t= 0:pi/100: 2*pi;
y= sin(t);
plot(t,y)
y2= sin(t-0.25);
y3= sin(t-0.5);
plot(t,y,t,y2,t,y3)
hold on
Mantiene en la ventana grfica los dibujos anteriores.
plot(t,y)
hold on
plot(t,y2)
hold on
plot(t,y3)
Figure(n) , close
El comando figure permite abrir nuevas ventanas .
h = figure
x1=0 : 0 . 1 : 2 pi
Y1=sin ( x1 );
figure ( 1 );
plot ( x1 , y1 );
x2=0 :0 . 05 : 2 pi;
y2=cos ( x2 );
f igure ( 2 );
plot ( x2 , y2 );
x = 0:0.1:4;
y = 1./x;
plot(x, y,r*)
Smbolo
Color
Smbolo
Forma
Smbolo
Estilo de
lnea
Azul
Punto
Lnea solida
Verde
Circulo
Punteada
Rojo
Cruz
-.
Punto y lnea
Cian
Signo +
--
entrecortada
Magenta
Asterisco
Amarillo
Cuadrado
Negro
Diamante
Blanco
Triangulo
Triangulo
<
Triangulo
>
Triangulo
Pentagrama
Hexagrama
x = linspace(0,2*pi,50);
y = sin(x);
z = cos(x);
w = tan(x);
subplot(2,2,1)
plot(x,y)
subplot(2,2,2)
plot(x,z)
subplot(2,2,3)
plot(x,w)
Sintaxis:
subplot(m,n,p).
Todos los comandos mencionados se emiten luego de ejecutarse el comando plot actual.
title(texto')
Otra cosa que puede ser importante en sus grficos es el etiquetado. Puede darle un ttulo al
grfico (con el comando title), se ubicar un ttulo, centrado, por encima del grfico con el
comando: title('cadena de ttulo').
xlabel(texto')
Etiqueta al eje x (con el comando xlabel)
ylabel(texto')
Etiqueta al eje y (con el comando ylabel)
legend(texto, texto')
Etiqueta los grficos
Ejemplo
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
subplot(2,1,1)
plot(x,y1)
title('y = sin(x)');
subplot(2,1,2)
plot(x,y2)
title('y = cos(x)');
k=0:0.01:5;
j=exp(5*k)-1;
plot(k,j)
axis([2.5; 5; 0; 40000000000])
Ejercicios
x = 0:0.1:20;
y = exp(0.1*x);
y1 = y.*sin(x);
y2 = y.*cos(x);
Plot(x,y, 'ro')
x = 0:0.1:4;
y = 1./x;
plot(x, y, r*)
pie(x,explode)
Las formas ms habituales para la utilizacin de pie son:
pie(X)
pie(X, Explode)
Esta funcin muestra un grfico de tarta con los valores de X. Opcionalmente, se pueden
resaltar porciones utilizando la segunda llamada.
x = [1 1 2 3 5 8];
ex = [0 1 0 0 1 0];
pie(x, ex);
Ejemplo
x = 0.5:0.5:4;
y = 1./x;
bar(x, y)
x = 0.5:0.5:4;
y = 1./x;
barh(x, y)
Grupos de barras
x = 0.5:0.5:4;
y = 1./x;
Y = [y' fliplr(y)'];
bar(x,Y)
Barras apiladas
x = 0.5:0.5:4;
y = 1./x;
Y = [y' fliplr(y)'];
bar(x,Y, 'stacked')
stairs(x,y)
Ejemplo
y = exp(-x.*x);
subplot(2,2,1)
bar(x,y)
title('2D bar')
subplot(2,2,2)
bar3(x,y,'r')
title('3D bar')
subplot(2,2,3)
stairs(x,y)
subplot(2,2,4)
barh(x,y)
plot3(x,y,z)
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t, 'r');
mesh
x = -2:0.1:2;
y = -2:0.1:2;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2 -Y.^2);
subplot(1,2,1);
mesh(X,Y,Z);
subplot(1,2,2);
contour(X,Y,Z);
Graficacin simblica:
ezplot (f)
CAPITULO VII
PROGRAMACIN EN MATLAB
& AND
| OR
~ NOT
logical
char
NUMERIC
cell
structure
User classes
single
double
Java classes
function
handle
en 2 bytes de memoria.
La opcin help strings da una pequea ayuda acerca de las cadenas de
caracteres.
Se pueden crear matrices de cadenas de caracteres, siempre y cuando
las cadenas sean de la misma longitud.
La librera que alberga a todas las funciones que actan sobre cadenas
de caracteres es strfun.
La librera strfun cuenta con ms de 30 funciones para manipulacin
de cadenas, algunas de las ms usadas y ms elementales son:
size(c): obtiene el nmero de caracteres.
double(c): obtiene el cdigo ASCII de la cadena.
char(c): convierte de cdigo ASCII a carcter.
char(Pedro, Juan Jose): crea una matriz de cadenas.
disp(c): imprime la cadena c en pantalla.
Alumno(1)
Nombre
Alumno(2)
Tania
Arrieta
Edad
Examen
21
8
7
9
10
Nombre
Alumno(3)
Aleida
Cosme
Edad
Examen
18
7
8
6
8
Nombre
Carmen
Flores
Edad
Examen
20
10
10
8
9
diferentes tipos de datos. Los datos pueden ser de todo tipo: matrices,
vectores, estructuras e incluso ms cell arrays.
Celda 1,1
Celda 1,2
3 9 8
4 7 5
2 5 1
Celda 1,3
Carmen Flores'
0.9 i
17 + i
11/9/88
Clase II
16 - 32i
2 + .7i
Obs. 1
Obs. 1
Celda 2,1
Celda 2,2
Celda 2,3
3
8
0
-16
-52
14
2
34
8
texto
2.2
0.9
4 .7
4.1
5
6
4
9
10 + 0.4i
usando llaves.
Si se usan parntesis, entonces los valores deben ser dados entre llaves.
A{1,1} = [1 4 3; 0 5 8; 7 2 9];
A{1,2} = Tania Arrieta ';
forma.
Condicin
1
Bloque 1
Condicin
2
Bloque 2
Bloque 3
if condicin
sentencias
else
sentencias
end
if condicion1
bloque1
elseif condicion2
bloque2
elseif condicion3
bloque3
else
bloque4
end
Sentencia WHILE
while condicin
sentencias
end
Sentencias
Condicin
Sentencia BREAK: solamente se usa para romper los ciclos for o while
while condicin
sentencias
if condicin2
break
end
sentencias
end
Sentencia SWITCH
switch expresin
case case_expr1,
bloque1
case {case_expr2, case_expr3, ...}
Bloque2
case {case_expr4, case_expr5,...}
Bloque2
...
otherwise, % opcin por defecto
bloque3
end
Sentencia FOR
for i=1:n
sentencias
end
for i=vector de valores
sentencias
end
CAPITULO VIII
COTROL Y SIMULIK
Pantalla principal
Biblioteca
Creacin de un modelo
Simulacin de un calentador
Sistema no linealizado
Sistema linealizado
Regulador de temperatura
Sistema linealizado
Sistema no linealizado