Taller Introductorio a MatLab - Ricardo Olejnik · 2018. 6. 9. · Taller Introductorio a MatLab....

42
Taller Introductorio a MatLab

Transcript of Taller Introductorio a MatLab - Ricardo Olejnik · 2018. 6. 9. · Taller Introductorio a MatLab....

  • Taller Introductorio a

    MatLab

  • Pantalla de inicio

  • Barra de Herramientas

  • Variables y Matrices

    Todas las variables que se puedan crear se guardan en el espacio “workspace”

    En lo que se refiere a la nomenclatura de las variables. Matlab distingue entre mayúsculas y minúsculas (“Variable” es distinto de “variable”) permitiendo

    nombres de variables que contengan al menos una letra.

    En Matlab, una variable consiste en una matriz de las dimensiones correspondientes.

    Una Variable en Matlab es cualquier valor numérico, al que se le puede dar un nombre y puede guardarse en un espacio de memoria.

  • Líneas de Comando

    Son todas aquellas instrucciones que el programador coloca para construir el “Script”

    El “Script” es el archivo .m que se crea cuando guardamos las instrucciones.

    Cuando ejecutamos un “Script” debemos estar posicionados en la carpeta donde se guardo. Esto lo podemos ver en la Ventana “Current

    Folder”

  • Operaciones Básicas• Operaciones Algebraicas

    Símbolo Operación

    + Suma

    - Resta

    * Multiplicación

    / División

    ^ Potencia

    .*, .^, ./ Operación por Elemento

  • Operaciones Básicas• Operaciones con Matrices

    Símbolo Operación

    A*B Multiplicación Matricial

    A.*B Multiplicación de los términos de A por los de B

    A/B Multiplicación matricial de A por la inversa B

    A+B Suma de los términos de A con los de B

  • Sentencias de Control• Lazo For:

    o Se trata de repetir una instrucción o un grupo de instrucciones un

    determinado numero de veces.

    • Un ejemplo sencillo:x = 0:0.02:4*pi;

    for k=1:length(x)

    y(k) = sin(x(k));

    end

    plot (x, y);

  • • Lazo Whileo El bloque de sentencias que le siguen se ejecuta siempre que la

    condición sea verdadera tal como se ve en la figura. La forma general

    que adopta la sentencia while es:

    o Un ejemplo es:

    k=0;

    while k

  • Sentencias Condicionales• Lazo If

    o Se cumple una instrucción mientras se este bajo una condición.

    • Lazo if /elseo Se cumple una instrucción mientras se este bajo una condición.

  • Sentencias CondicionalesIF-END

    o Un enunciado if simple tiene la siguiente forma:

    if condicion

    sentencias

    end

    o Si la condición (una expresión lógica) es

    verdadera, se

    ejecutan las sentencias y sigue a end.

    o Si la comparación es falsa, el programa salta

    inmediatamente al enunciado que sigue a end.

  • Sentencias Condicionales

  • Sentencias Condicionales

  • Sentencias Condicionales

  • Sentencias Condicionales

  • Funciones

    • Son operaciones matemáticas que relaciones

    variables de entrada y salida.

    • Podemos definir nuestras propias funciones

    guardarlas en un fichero y usarlas de un modo

    semejante a las funciones predefinidas.

    FunciónEntradas Salidas

  • Funciones

    function [z] = suma (x,y)

    z=x+y; %efectúa la suma

    End

    z=x+yXY

    Z

    La llamada

    suma(2,3)

    ans = 5

  • Función Anónima• Las funciones anónimas nos permiten definir una función

    simple sin necesidad de crearla y guardarla en un fichero .m.

    • Se pueden definir en la ventana de comandos, en un fichero script o dentro de otra función, con la siguiente sintaxis:

    • variable=@(lista_argumentos) expresión

    • Las funciones se pueden asignar a variables y estas variables se pueden pasar a otras funciones como se pasan escalares o vectores.

    f=@(x) cos(x)-x;z=f(0.5)z = 0.3776

    r=@(x,y,w) x+y+w;

    b=r(3,5,-4);

    b=4

  • Operaciones con Matriceslinsolve Resuelve sistema de ecuaciones

    lineales de la forma AX=B

    inv Calcula la inversa de una matriz

    transpose Calcula la transpuesta

    de una matriz

    rref Reducción gaussiana

    size Dimensión de una matriz

    length Longitud de un vector

    zeros Matriz de ceros

    ones Matriz de unos

    roots Raíces de un polinomio

  • A(i,j) Elemento de la fila i columna j

    A(i,:) Elemento de la fila i

    A(:,j) Elemento de la columna j

    A([1,3],j) Elementos de la fila 1 y 3 de la

    columna j

    Operaciones con Matrices

  • Derivada (diff)

    f=input(‘Ingrese la función: ‘,’s’)

    syms x Convierte la función a la forma

    simbólica.

    fx = diff(f,x) Calcula la derivada simbólica

    Si se desea evaluar la función en un punto

    subs(fx,a)

    Operaciones simbólicas

  • Despeje de una variable en una función (solve)

    f=input(‘Ingrese la función: ‘, ‘s’)

    syms x Convierte la función a la forma

    simbólica.

    solve(‘y+x=5’, ‘y’) Despeja la variable

    Operaciones simbólicas

  • Display en ventana de comando

    Display

    Ejemplo

    x=0:5; (toma la lista e números del 0 al 5)

    y=3*x.^2-5;

    res(:,1)=x’;

    res(:,2)=y’; o también res=[x’ y’]

    disp(‘comentario o título’);

    Disp(res)

  • fprintf (imprimir en pantalla)

    fprintf

    fprintf(‘formato’,arg1,arg2,….,argn)

    Caracteres especiales:

    ‘%c’ Carácter

    ‘%d’ Número entero

    ‘%f’ Número real

    ‘%s’ Para cadena

    ‘%u’ Número entero positivo

    ‘%x’ Salida hexadecimal

    ‘%o’ Salida octal

    ‘\n’ Salto en línea

    ‘\t’ Tabulación

    ‘\b’ Backspace

    ‘\i’ Imprimir

  • fprintf (imprimir en pantalla)

    fprintf

    fprintf (’la raíz de dos es %f aprox \n’,sqrt(2))

    la raiz de dos es 1.414214 aprox

    Se mostrará en pantalla lo siguiente:

    Salto en línea

  • fprintf (imprimir en pantalla)

    fprintf

    fprintf (’la raíz de dos es %0.3f aprox \n’,sqrt(2))

    la raiz de dos es 1.414 aprox

    Se mostrará en pantalla lo siguiente:

    El primer número representa el espaciado (en este

    caso el cero), mientras el segundo representa la

    cantidad de decimales que sean expresados, en

    este caso 3

  • Otros ejemplos:

    fprintf

    str=sprintf('el valor de pi es: %1.3f',pi)

    str =

    el valor de pi es: 3.142

    Se mostrará en pantalla lo siguiente:

  • Otros ejemplos:

    fprintf

    Tabla de datos:

    Espaciado de 8 y 4

    decimales

    Impresión en

    pantalla

  • Graficación

    Colores: r(red), g(green), b(blue), c(cyan), m(magenta),

    y(yellow), k(black), w(white)

    Estilos: - (sólida), --(trazos), : (puntos), -, (líneas y puntos)

    Marcadores +,O,*, . , x, s (square), d(diamante)^ V > ó < (triángulos), p (estrella de 5 puntas), h (estrella de 6

    puntas)

    Etiquetas: xlabel(‘titulo o descripción’)ylabel(‘titulo o descripción’)

    title(‘titulo del gráfico’)

  • GraficaciónEjemplo, graficación de un conjunto de datos:

  • GraficaciónEjemplo, graficación de un conjunto de datos y dos ejes

  • GraficaciónEjemplo, graficación de un conjunto de datos

    subplot(numero de fila, numero de columna, grafico 1)

    Tambien subplot se puede sustituir por el comando figure

  • GraficaciónEjemplo, graficación ejes logarítmicos:

    loglog(X,Y) logarítmicos en ambos ejes

    semilogx(X,Y) eje “x” logarítmico

    semilogy(X,Y) eje “y” logarítmico

  • GraficaciónEjemplo, graficación ejes logarítmicos:

  • GraficaciónEjemplo, graficación ejes logarítmicos:

  • GraficaciónEjemplo, graficación funciones y comando ezplot

    ezplot('x^2-y^2=1')

  • GraficaciónEjemplo, graficación funciones y comando ezplot

  • Herramientas y funcionesInline

    Matlab nos proporciona lo que conocemos como ‘inline functions’ o en español como ‘funciones en linea’ o ‘de linea‘, esto nos permite crear en la misma ventana de comandos, una corta función que puede ser llamada de forma repetida, supongamos que quiero hacer una función f(x) = sen(x)/x, entonces la sintaxis es la siguiente.

  • Herramientas y funcionesEvaluar función Inline:

    Dada la función:

    Evaluar f(2):

  • Herramientas y funcionesEvaluar función Inline usando comando feval:

    Dada la función:

    Evaluar f(2):

  • Herramientas y funcionesAlternativa a comando inline (uso de función anónima):

    f=str2func(strcat('@(x)',f));

  • Diálogo externoVentana de advertencia o warning

    if abs(der)