Curso básico matlab

download Curso básico matlab

of 122

description

Curso básico de matlab para principiantes

Transcript of Curso básico matlab

  • 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