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.
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.
TEMARIO DEL CURSO:
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.
INTRODUCCIN A MATLAB
CAPITULO I
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.
1
3 2
4
5
1
3 2
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.
OPERACIONES CON MATRICES Y VECTORES.
CAPITULO II
MATLAB posee una gran variedad de funciones para trabajar con
matrices y vectores.
Las matrices se declaran de la siguiente manera:
Para declarar una nueva fila se escribe un punto y coma (;).
Para declarar una nueva columna se usa un espacio en blanco.
1 5 9 6
6 2 0 8
1 -9 5 -1
A = A = [1 5 9 6; 6 2 0 8; 1 -9 5 -1]
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. zeros(m,n)
Matirz de unos. ones(m,n)
Matriz identidad. eye(m,n)
Matriz aleatoria. rand(m,n)
Matriz mgica. magic(k)
Ayuda: Specialized Matrix Functions
Es posible tambin realizar manipulaciones y obtener informacin de las
matrices que se tienen:
Tamao de una matriz. size(A)
Longitud de un vector. lenght(A)
Concatenacin de matrices. cat(dim, A, B)
Rotacin de matrices. rot90(A,k)
Matrices triangulares. 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. Inv(A)
Determinante. det(A)
Suma de la diagonal. trace(A)
Factorizacin tipo L*U. lu(A)
Reduccin de matrices por Gauss-Jordan. rref(A)
Obtencin del polinomio caracterstico. poly(A)
Obtencin de los eigenvalores y eigenvectores. eig(A)
Descomposicin Schur. schur(A)
Rango y nulidad en una matriz. 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 1 2 9 5 9 8 ]
x([1 5;9 4])
ans = 7 1
9 9
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.
A(2,2) = A(6) se accede al nmero 11
2 9 7 3
9 7 6 5
8 3 1 5
8 3 1 10
A=
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)]
A( [1 3], [ 4 2] )
ans = 1 2
4 10
6 2 1 1
4 9 9 5
5 10 7 4
6 6 8 2
A=
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.
EXPRESIONES PARA MATLAB.
CAPITULO III
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 multiplicacin: A(i, j) * B(i,j)
>>A.^n potencia: A(i, j)n
>>A .\ B divisin: B(i, j) / A(i,j)
>>A ./ B divisin: A(i, j) / B(i,j)
ARCHIVOS M-FILES.
CAPITULO IV
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 .
Qu es un Archivo-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.
Para qu usar los archivos-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 crear, salvar o abrir 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.
Cmo correr un archivo-m?
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.
TOOLBOX SYMBOLIC MATH.
CAPITULO V
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)')
Objetos simblicos
Sumar, Restar, Multimplicar y Dividir:
>> f = sym('-2 * x^2 + 3* x - 6')
>> g = sym(' x^2 - x +1')
Ejercicios
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:
Objetos simblicos
Operador
matemtico
Comando de
MATLAB
Operador
matemtico
Comando de
MATLAB
diff(f) o diff(f,x) limit(f)
diff(f, a) 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)
GRFICOS.
CAPITULO VI
Plot(x,y, 'color y forma')
Graficar datos
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)
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
hold on
plot(t,y)
hold on
plot(t,y2)
hold on
plot(t,y3)
Mantiene en la ventana grfica los dibujos anteriores.
Figure(n) , close
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 );
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.
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
b Azul . Punto - Lnea solida
g Verde o Circulo : Punteada
r Rojo x Cruz -. Punto y lnea
c Cian + Signo + -- entrecortada
m Magenta * Asterisco
y Amarillo s Cuadrado
k Negro d Diamante
w Blanco v Triangulo
^ Triangulo
< Triangulo
> Triangulo
p Pentagrama
h 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])
k=0:0.01:5;
j=exp(5*k)-1;
plot(k,j)
axis([2.5; 5; 0; 40000000000])
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.
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:')
x = 0:0.1:4;
y = 1./x;
plot(x, y, r*)
Plot(x,y, 'ro')
x = [1 1 2 3 5 8];
ex = [0 1 0 0 1 0];
pie(x, ex);
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.
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.
x = 0.5:0.5:4;
y = 1./x;
bar(x, y)
x = 0.5:0.5:4;
y = 1./x;
barh(x, y)
Ejemplo
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)
bar3(x,y, 'color ')
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)
Ejemplo
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t, 'r');
plot3(x,y,z)
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)
PROGRAMACIN EN MATLAB
CAPITULO VII
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.
< menor que
> mayor que
= mayor o igual que
= = igual que
~ = diferente a
Los operadores lgicos se usan en combinacin con los relacionales para
comprobar el cumplimiento de condiciones mltiples.
if (A>5)&(A20)
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.
& AND
| OR
~ NOT
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 function
handle
User classes
Java classes
int8, uint8, int16,
uint16, int32,
uint32, int64, uint64
single double
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(2) Alumno(1) Alumno(3)
Nombre
Edad
Examen
Tania
Arrieta
21
Nombre
Edad
Examen
Aleida
Cosme
18
Nombre
Edad
Examen
Carmen
Flores
20
8 9
7 10
7 6
8 8
10 8
10 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 Celda 1,3
Celda 2,1 Celda 2,2 Celda 2,3
3 9 8
4 7 5
2 5 1
0.9 i 16 - 32i
17 + i 2 + .7i
Carmen Flores'
11/9/88
Clase II
Obs. 1
Obs. 1
4.31 8.92 3.87 7.65
3 -16 2
8 -52 34
0 14 8
texto 5 4
6 9
2.2 4 .7
0.9 4.1 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.
Si se usan llaves, entonces los valores se dan tal cual.
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.
A(1,1) = {[1 4 3; 0 5 8; 7 2 9]};
A(1,2) = {Tania Arrieta'};
A{1,1} = [1 4 3; 0 5 8; 7 2 9];
A{1,2} = Tania Arrieta ';
MATLAB posee su propio lenguaje de programacin, con sus sentencias
y sintaxis. Existen dos elementos bsicos en cualquier lenguaje de
programacin:
Sentencia IF
Condicin
1
Condicin
2
Bloque 3
Bloque 1
Bloque 2
if condicin
sentencias
end
if condicin
sentencias
else
sentencias
end
if condicion1
bloque1
elseif condicion2
bloque2
elseif condicion3
bloque3
else
bloque4
end
Sentencia WHILE
Sentencia BREAK: solamente se usa para romper los ciclos for o while
Condicin
Sentencias
while condicin
sentencias
end
while condicin
sentencias
if condicin2
break
end
sentencias
end
Sentencia SWITCH
Sentencia FOR
switch expresin
case case_expr1,
bloque1
case {case_expr2, case_expr3, ...}
Bloque2
case {case_expr4, case_expr5,...}
Bloque2
...
otherwise, % opcin por defecto
bloque3
end
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.
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
for i=1:n
sentencias
if condicin2 continue
end
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.
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.
val=input(da un valor: )
cad=input(da una cadena: , s)
disp(val)
disp(fin del programa)
COTROL Y SIMULIK
CAPITULO VIII
Pantalla principal
Biblioteca
Creacin de un modelo
Simulacin de un calentador
Sistema no linealizado
Sistema linealizado
Regulador de temperatura
Sistema linealizado
Sistema no linealizado
Top Related