You are on page 1of 122

BENEMRITA UNIVERSIDAD AUTNOMA

DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRNICA
Curso Bsico de MATLAB

TEMARIO DEL CURSO:


1.- Introduccin a MATLAB.
1.1 Desarrollo Histrico.
1.2 Campos de Aplicacin.
1.3 Entorno a MATLAB.
1.4 Buscador de Ayuda.

2.- Operaciones con Matrices y Vectores.


2.1 Generar matrices y vectores en MATLAB.
2.2 Suma, resta y multiplicacin de matrices y vectores.
2.3 Transpuesta y diagonal de matrices.
2.4 Sumatoria de elementos de la matriz.
2.5 Matrices aleatorias y matrices mgicas.
2.6 Inversa de una matriz.
2.7 Editar matrices.

TEMARIO DEL CURSO:


3.- Expresiones para MATLAB.
3.1 Manejo de variables.
3.2 Representacin de nmeros reales y complejos.
3.3 Operadores.
3.4 Funciones elementales matemticas.
4.- Archivos M-files.
4.1 Editor de Archivos M.
4.2 Comando load para extraer archivos .TXT y .DAT.
4.3 Tipos de formato (short, short e, long, bank, rat, hex. etc).

TEMARIO DEL CURSO:


5. - Toolbox Symbolic Math.

5.1 Representacin de polinomios.


5.2 Comando sym y pretty.
5.3 Comando simplify (f).
5.4 Comando expand (f).
5.5 Comando factor (f).
5.6 Aplicaciones en clculo.
6.- Grficos.
6.1 Grficos en 2D.
6.2 Personalizar Graficas.
6.3 Representacin de funciones en grficos.

TEMARIO DEL CURSO:


6.4 Comando subplot.
6.5 Comandos de colores.
6.6 Contornos y sombras.
6.7 Graficas en 3D.
6.8 Comando mesh.

7.- Programacion en MATLAB


7.1 Operadores relacionales.
7.2 Condicionales (if, ifelse).
7.3 Ciclo FOR.
7.4 Ciclo While.

TEMARIO DEL CURSO:


7.5 Switch y Case.
7.6 Break.
8. Sistemas Dinmicos.
8.1 Sistemas de lazo abierto y lazo cerrado.
8.2 Ejemplos de Procesamiento de seales.
8.3 Graficas de Bode, Nichols y Niquist.
8.4 Introduccin y ejemplos de la librera SIMULINK.

Visualizar los diferentes campos de aplicacin de MATLAB.

Conocer y comprender el ambiente de trabajo de este software.


Conocer todas las funciones que nos brinda MATLAB para hacer

operaciones con matrices y vectores.


Poder resolver cualquier problema matemtico de forma ms verstil.
Utilizar los diferentes tipos de datos para aprender el lenguaje de
programacin de MATLAB.
Representar nuestros resultados de forma grafica.
Simular sistemas dinmicos para el rea de control mediante
SIMULINK (aplicacin de MATLAB para sistemas no lineales).

No tengan ningn conocimiento previo MATLAB.


Estn relacionadas con las reas de ciencias exactas e

ingeniera.
Estn interesadas en utilizar MATLAB como herramienta

para resolver problemas matemticos, de ciencia e


ingeniera.

CAPITULO I

INTRODUCCIN A MATLAB

Matlab Surge de los proyectos LINPACK y EISPACK


La empresa MathWorks es fundada en 1984.
The Mathworks es lder en el desarrollo de software de computacin

tcnica, adems la empresa tiene ms de 1 milln de usuarios


alrededor del mundo.
The Mathworks tiene ms de 1,000 empleados trabajando en el
desarrollo de las herramientas MATLAB y SIMULINK para innovar
tecnologa en empresas, laboratorios gubernamentales, instituciones
financieras y en ms de 3,500 Universidades.

MATLAB Matrix Laboratory


MATLAB es un software matemtico muy verstil que ofrece un

entorno de desarrollo integrado (IDE) con un lenguaje de


programacin propio (lenguaje M), que es un conjunto de
comandos o funciones que realizan tareas especficas y dispone de
ms de 30 libreras especializadas llamadas Toolboxes las cuales
trabajan en reas especiales como Control, Coumunicaciones,
Procesamiento de Seales, etc.

Aplicaciones:

Matemticas, estadstica y anlisis de datos.


Desarrollo de algoritmos.
Adquisicin y procesamiento de datos.
Prueba, modelado y simulacin de prototipos.
Anlisis, manipulacin y visualizacin de datos.
Diferentes tipos de Graficacin.
Desarrollo de aplicaciones con Interfaces Grficas de Usuario.

4
5

4
5

MATLAB dispone de varios mens los cuales varan de acuerdo a


la ventana que se encuentre activa
Dentro de las caractersticas que se pueden configurar con estos
mens se encuentran:
Crear, salvar e importar diferentes tipos de archivos usados por
MATLAB
Configurar algunas preferencias de usuario como: tipo y color de
letra, color de fondo del Command Window, formato numrico,
visualizacin de resultados, etc.
Manipulacin y visualizacin de las ventanas dentro del Desktop
Bsqueda de palabras o archivos en las diferentes ventanas

Uso del Help en MATLAB


USO DEL COMANDO help
Utilizamos el comando help para conocer las caractersticas de
cierta funcin, en este caso, al escribir help magic vemos la
informacin de la funcion magic.
>> help magic

MAGIC Magic square. MAGIC(N) is an N-by-N


matrix constructed from the integers1 through
N^2 with equal row, column, and diagonal sums.
Produces valid magic squares for all N > 0
except N = 2.

CAPITULO II

OPERACIONES CON MATRICES Y VECTORES.

MATLAB posee una gran variedad de funciones para trabajar con


matrices y vectores.
Las matrices se declaran de la siguiente manera:

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]

Para declarar una nueva fila se escribe un punto y coma (;).


Para declarar una nueva columna se usa un espacio en blanco.

MATLAB soporta todas las operaciones aritmticas entre


matrices o vectores siguiendo la teora, por ejemplo: para sumar dos
matrices, deben de ser del mismo tamao; la multiplicacin de una
matriz A (mxn) por una matriz B (kxp) debe cumplir que n=k.
>>A + B (suma)
>>A - B (resta)
>>A * B (multiplicacin)
>>A (transpuesta)
>>A^2 (potenciacin)
>>A \ B (divisin izquierda A*inv(B)) se usa para la solucin de sistemas de
ecuaciones
>>A / B (divisin derecha, inv(A)*B) complemento de la divisin izquierda

Existe una gran variedad de funciones predefinidas para crear


matrices de todo tipo:
Matriz de ceros.
Matirz de unos.
Matriz identidad.
Matriz aleatoria.
Matriz mgica.

Ayuda: Specialized Matrix Functions

zeros(m,n)
ones(m,n)
eye(m,n)
rand(m,n)
magic(k)

Es posible tambin realizar manipulaciones y obtener informacin de las


matrices que se tienen:
Tamao de una matriz.
Longitud de un vector.
Concatenacin de matrices.
Rotacin de matrices.
Matrices triangulares.

size(A)
lenght(A)
cat(dim, A, B)
rot90(A,k)
tril(A,k)

Ayuda: Summary of Matrix and Array Functions

Existen tambin algunas funciones un poco ms elaboradas y complejas


en cuanto a su operacin, las cuales realizan tareas como:
Inversa de una matriz.
Determinante.
Suma de la diagonal.
Factorizacin tipo L*U.
Reduccin de matrices por Gauss-Jordan.
Obtencin del polinomio caracterstico.
Obtencin de los eigenvalores y eigenvectores.

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)

Pueden accederse varios elementos a la vez colocando entre parntesis

un vector de ndices
>>x([1 2 3])

acceso a los elementos 1,2 y 3 del vector x

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

A(2,2) = A(6) se accede al nmero 11

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

El operador dos puntos puede usarse de 3 formas distintas:


Creador de vectores con incrementos o decrementos.

x=1:10 crea un vector del 1 al 10 con incremento de 1.


x = 1:i:10 crea el mismo vector pero con incremento de i.
Direccionamiento hasta.

A(1,2:5) direcciona los elementos de la fila 1, desde la columna


2 hasta la columna 5.
x(5:8) direcciona del elemento 5 hasta el 8.
Direccionamiento todo.

A(3, :) direcciona toda la fila 3.


A(: , 1) direcciona toda la columna 1.
x(: , end) direcciona toda la ltima columna.

CAPITULO III
EXPRESIONES PARA MATLAB.

El punto y coma (;) al final de una expresin significa que va a realizar

la operacin que se le indique pero no va a mostrar los resultados en


pantalla.
Los tres puntos () sirven para indicar que la expresin va a

continuar en la lnea de abajo.


Cuando la operacin no se le asigna a ninguna variable entonces

automticamente se le asigna a la variable ans.

El signo igual(=) es para asignar resultados a una variable

>> variable = expresin.


MATLAB distingue entre maysculas y minsculas en el nombre de
una variable, por ejemplo NO es lo mismo la variable var que la
variable Var.
El nombre de una variable debe empezar siempre con una letra
seguida de nmeros o ms letras u otros caracteres siempre y cuando
no sean caracteres especiales; el nombre puede tener un mximo de
31 caracteres.

Los shorcuts son una forma fcil y rpida de ejecutar un conjunto de

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.

Por default MATLAB almacena los nmeros en formato de doble

precisin, es decir, en 8 bytes.


MATLAB puede interpretar el concepto de Infinito con la palabra
Inf (para MATLAB son los nmeros ms grandes de lo que es capaz
de representar).
MATLAB tiene una representacin para los nmeros que no estn
definidos como tal, llamados NaN (Not a Number).
Tanto la representacin de NaN como la de infinito permite controlar la
fiabilidad de los resultados que presenta MATLAB.

MATLAB puede representar y manipular nmeros complejos, las

variables i y j estn definidas como la unidad imaginaria.


>>z = 4 + 5j
>>z = complex(4,5)
Se debe de tener especial cuidado con las variables i y j, si se usan
para guardar algn valor numrico dejan de ser la unidad imaginaria.
Se pueden realizar las operaciones aritmticas entre nmeros
complejos y matrices o vectores que contengan a complejos.

Existen otros operadores llamados operadores elemento a


elemento los cuales realizan la operacin indicada pero a cada uno
de los elementos que conforman al vector o a la matriz, dichos
operadores tienen la caracterstica de que estn precedidos por un
punto (.).
>>A.*B
>>A.^n
>>A .\ B
>>A ./ B

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 .

Para qu usar los archivos-m?


Ingresar los comandos en el prompt (>> ) del Matlab
es rpido y eficiente si el problema es simple. Sin embargo, a
medida que aumenta la cantidad de comandos, o si se
requiere cambiar los valores de las variables cuando se trabaja
con prueba-error; tipear los comandos una y otra vez se
torna tedioso. De manera que los archivos-m resultan de
gran ayuda y muy necesarios en estos casos.

Cmo crear, salvar o abrir un archivo-m?


Para crear un archivo-m, elija New en el menu File y

seleccione archivo-m. Este procedimiento levanta el editor


de texto en el cual se pueden escribir los comandos.
Para salvarlo , simplemente pinche en el men File y elija
Save (recuerde salvar con extensin '.m' ).
Para abrir un archivo-m existente vaya al men File y elija
Open .

Cmo correr un archivo-m?


Despus que un archivo-m fu salvado con el nombre

filename.m en la carpeta del Matlab, puede ejecutar los


comandos del archivo-m simplemente tipeando filename en
el prompt del Matlab.
Si no quiere correr todos los comandos del archivo-m ,
puede copiar los que s quiera del archivo-m y pegarlos en el
prompt del Matlab.

Las funciones permiten definir funciones enteramente anlogas a las


de MATLAB, con su nombre, sus argumentos y sus valores de
retorno. Los ficheros *.m que definen funciones permiten extender las
posibilidades de MATLAB;
Ejemplo: Queremos crear una funcin llamada prom.m:

load archivo: lee las variables del fichero binario archivo.mat,

que ha sido previamente generado con MATLAB.


load archivo.ext: lee el contenido del fichero ASCII

archivo.ext y lo almacena como una nica variable de


nombre archivo.

CAPITULO V
TOOLBOX SYMBOLIC MATH.

Objetos simblicos
Un objeto simblico es una estructura de datos que almacena

una representacin string de un smbolo. Este permite


representar variables, matrices y expresiones de forma
simblica.
Para declarar una variable como simblica se utiliza la

funcin sym, o en el caso de varias variables syms.

Objetos simblicos
Diferencia entre variable

estandar y variable
simblica:
>> sqrt(2)
>> sqrt(sym(2))

Visualizacin:

>> pretty(f)

Objetos simblicos
Sym & pretty:

>> f = sym('-2 * x^2 + 3* x - 6')


Suma f con g:

>> f = sym('-2 * x^2 + 3* x - 6')


>> g = sym(' x^2 - x +1')
>> h = f + g
O
>> h = sym('(-2 * x^2 + 3* x - 6)+(x^2 - x +1)')

Ejercicios
Sumar, Restar, Multimplicar y Dividir:

>> f = sym('-2 * x^2 + 3* x - 6')


>> g = sym(' x^2 - x +1')

Objetos simblicos

Objetos simblicos
Solucin:

>> f = sym('(2 * a^3 - 39 * a^2 +15* a^4 -16 * a +10) /(2 - 4 *


a - 5* a^2)')
>> simplify( f )
>> pretty(ans)

Objetos simblicos
Multiplicacion de expreciones algebraicas:
expand( f )

Ejemplo:

>> f = sym('( x - 3) *( x^2 + 3* x + 9)')


>> expand( f )
>> pretty(ans)

Objetos simblicos
Ejemplo:

>> g = sym('(a - b)^3')


>> expand( g)
>> pretty(ans)

Objetos simblicos
Ejercicios:

Objetos simblicos
Factorizacin:
Ejemplo:

>> f = sym(' x^3 + x^2 + 4 * x + 4')


>> factor( f )
>> pretty(ans)

Objetos simblicos
Ejemplo:

>> h = sym(' x^5* y^2 - x * y^6')


>> factor(h)
>> pretty(ans)

Objetos simblicos
Ejercicios:

Objetos simblicos
Fracciones algebraicas:
Cuando se trabaja con fracciones algebraicas y fracciones

complejas se usa la funcin simple. En general esta funcin es


utilizada para simplificar cualquier tipo de expresin. Tambin
es muy til la funcin simplify.

Objetos simblicos
Ejemplos:
Simplificar:

>> f = sym('( x^2 -1) /( x^2 + x - 2)')


>> pretty( f )
>> simple( f )
>> pretty(ans)

Objetos simblicos
Simplificar:

>> k = sym('1/( x^2 -1) + 2 /( x +1)^2')


>> pretty( k)
>> simple(k )
>> pretty(ans)

Objetos simblicos
Simplificar:

>> k = sym('( x^ (-1) * y^ (- 2) + x^ (- 2) * y^ (-1) /( y^ (- 2) - x^ (- 2)))')


>> pretty( k)
>> simple(k )
>> pretty(ans)

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)

int(sin(2*x), 0, pi/2 o int(sin(2*x), x, 0, pi/2


g=cos(a*t+b)
int(g)
o
int(g,t)
Int(besselj(1, z)) o Int(besselj(1, z), z)

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

Plot(x,y, 'color y forma')

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

figure devuelve un identificador que se utiliza para manipular la figura.

As, si tenemos varias ventanas


abiertas,
con
figure(h2)seleccionamos
la
ventana con el grafico relativa
al identificador h2 y con
close(h3) cerramos la ventana
h3. close all cierra todas las
ventanas abiertas.

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 );

La Esttica de los Grficos


El color y el marcador de un grfico se pueden cambiar agregando un tercer parmetro (entre
apstrofo 'esto') al comando plot .
tercera entrada consiste de uno a tres caracteres que especifican un color y/o o un tipo de
marcador.

Grfico simple con asteriscos rojos

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

Ms de un Grfico en una ventana (Subplot)


En una misma figura puede ponerse ms de una lnea empleando el comando subplot. Permite
separar la figura en tantas figuras como se quiera , y ponerlas todas en una figura.
Este comando divide la figura en una matriz de m renglones y n columnas, por lo tanto crea mxn
grficos en una figura.

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)');

axis([xmin; xmax; ymin; ymax])


El comando axiscambia los ejes del diagrama actual, de modo que se muestra slo la
parte del eje que se desea. Puede personalizarse los ejes a sus necesidades. Cuando se usa
el comando subplot, pueden cambiarse los ejes de cada subplot emitiendo un
comando axis antes del prximo comando subplot. Hay ms usos del comando axis que
puede ver si tipea help axis en la ventana de comandos del Matlab.

k=0:0.01:5;
j=exp(5*k)-1;
plot(k,j)
axis([2.5; 5; 0; 40000000000])

Otros comandos que pueden usarse con el comando plot son:


clf (borra el grfico actual, lo deja en blanco)
loglog (igual que plot, excepto que ambos ejes se escalan en Log10)
semilogx (igual que plot, excepto que el eje x se escala en Log10)
semilogy (igual que plot, excepto que el eje y se escala en Log10)

grid (agrega una grilla al grfico)

Ejercicios
x = 0:0.1:20;
y = exp(0.1*x);
y1 = y.*sin(x);
y2 = y.*cos(x);

Plot(x,y, 'color y forma')

plot (x, y, 'r', x, y1, 'y--', x, y2, 'k:')

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);

bar(x,y, 'color y forma')


Las formas ms habituales para la utilizacin de bar y barh son:
bar(Y)
bar(x,Y)
bar(..., width)
bar(...,'style')
Estas funciones realizan un grfico de barras verticales (bar) u horizontales
(barh). Se puede regular la separacin entre las barras con el parmetro
width. Si la Y es una matriz entonces agrupa las barras o si se especifica
stacked en el parmetro style entonces apila las barras.

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')

bar3(x,y, 'color ')

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

< menor que


> mayor que
<= menor o igual que

>= mayor o igual que


= = igual que
~ = diferente a

En los operadores relacionales si la condicin se cumple regresa un 1


lgico, de lo contrario regresa un 0 lgico.
Este tipo de operadores se pueden usar tambin para comparar matrices
o vectores siempre y cuando sean del mismo tamao, cuando esto
sucede la comparacin se realiza elemento a elemento.

& AND
| OR
~ NOT

Los operadores lgicos se usan en combinacin con los relacionales para


comprobar el cumplimiento de condiciones mltiples.
if (A>5)&(A<10)
~(A>20)
Los operadores lgicos toman como 1 lgico a todos los nmeros
diferentes de cero, mientras que toma como 0 lgico solo a los
elementos que sean cero.

MATLAB soporta diferentes tipos de datos como dobles, simples,

cadenas, lgicos, etc. De hecho, el usuario puede hacer su propio tipo


de dato haciendo uso de las Clases.
Existen 15 tipos de datos fundamentales en MATLAB:
ARRAY
[Full or sparse]

logical

char

NUMERIC

cell

structure
User classes

int8, uint8, int16,


uint16, int32,
uint32, int64, uint64

single

double

Java classes

function
handle

Para declarar un dato de tipo cadena se coloca entre apstrofes:


>> cad=nombre
>> cad2=mi correo@servidor

Cada carcter (cualquiera que este sea) escrito en la cadena se guarda

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.

Las estructuras son agrupaciones de datos (llamados campos) de


diferente tipo bajo un mismo nombre. Por ejemplo, la estructura
alumno puede contener los campos nombre (cadena de caracteres)
y edad (un nmero).
ARRAY
alumno

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

1 Forma.- se pueden crear estructuras con la utilizacin del

punto(.). Simplemente se van aadiendo los campos que se requieren


con su valor correspondiente. Cabe mencionar que un campo puede
ser de cualquier clase (entero, doble, char, cell array, vector, matriz,
etc.)
alumno.nombre = Carmen Flores';
alumno.edad = 20;
Alumno.examen = [10 8; 10 9];

Un cell array proporciona un mecanismo de almacenamiento para

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

4.31 8.92 3.87 7.65

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

Un cell array se puede crear de dos formas, usando parntesis y

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'};
Si se usan llaves, entonces los valores se dan tal cual.

A{1,1} = [1 4 3; 0 5 8; 7 2 9];
A{1,2} = Tania Arrieta ';

Cuando se quiere preguntar por el contenido de un elemento del cell

array se puede hacer de dos formas:


A(1,2) regresa el tipo de dato que es y el tamao, pero no me muestra el contenido en si.
A{1,2} me muestra el contenido del elemento (1,2) del cell array, se recomienda esta

forma.

MATLAB posee su propio lenguaje de programacin, con sus sentencias


y sintaxis. Existen dos elementos bsicos en cualquier lenguaje de
programacin:
Sentencia IF
if condicin
sentencias
end

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

Sentencia CONTINUE: esta


sentencia sirve solamente dentro de
ciclos, se usa para pasar a la siguiente
iteracin.
for i=1:n
sentencias
if condicin2 continue
end
sentencias B
end

Sentencia TRY, CATCH:


normalmente se ejecutan las sentencias
A, pero si ocurre algn tipo de error en
dichas sentencias, encones se ejecutan las
sentencias B.
try
sentencias A
catch
sentencias B
end

Para la lectura de variables se ocupa la funcin input la cual imprime

un mensaje en pantalla e inmediatamente despus se queda en espera


de un valor de cualquier tipo manejado por MATLAB.
val=input(da un valor: )
cad=input(da una cadena: , s)

Para la escritura de variables se ocupa la funcin disp la cual puede

imprimir el contenido de cualquier tipo de variable en la pantalla del


command window.
disp(val)
disp(fin del programa)

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

You might also like