Creación y manipulación de arreglos

Embed Size (px)

Citation preview

  • 8/18/2019 Creación y manipulación de arreglos

    1/16

    Curso de MatLab BásicoSesión 2: Creación, manipulación y operaciones con arreglos

    Milton Torres

    17 de marzo de 2016

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 1 / 16

  • 8/18/2019 Creación y manipulación de arreglos

    2/16

    Contenido

    1   Creación de matrices

    2   Manipulación de arreglos

    3   Adición de nuevos elementos a variables ya creadas

    4   Eliminación de elementos

    5   Funciones para la manipulación de arreglos

    6   Operaciones y funciones con arreglos

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 2 / 16

  • 8/18/2019 Creación y manipulación de arreglos

    3/16

    Creación de matrices

    Creación de matrices

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 3 / 16

  • 8/18/2019 Creación y manipulación de arreglos

    4/16

    Creación de matrices

    Construcción de algunas matrices

    Función ¿Qué hace?

    zeros(n)   Crea una matriz cuadrada n× n  de ceros.zeros(m,n)   Crea una matriz m × n  de ceros.ones(n)   Crea una matriz cuadrada n× n  de unos.ones(m,n)   Crea una matriz m × n  de unos.rand(n)   Crea una matriz cuadrada   n × n   de números

    aleatorios con distribución uniforme (0, 1).rand(m,n)   Crea una matriz m × n  de números aleatorios

    con distribución uniforme  (0, 1).

    randn(n)   Crea una matriz cuadrada   n × n   de númerosaleatorios con distribución normal  (0, 1).

    randn(m,n)   Crea una matriz m × n  de números aleatorioscon distribución normal (0,1).

    eye(n)   Crea una matriz cuadrada n x n de unos en ladiagonal y ceros el resto.

    eye(m,n)   Crea una matriz m × n  de unos en la diagonaly ceros el resto.

     magic(n)   Crea una matriz cuadrada   n  ×  n   de enterosde modo que sumen lo mismo las filas y lascolumnas.

    hilb(n)   Crea una matriz cuadrada  n × n de Hilbert, esdecir, los elementos (i, j) responden a la expre-sión  (1/(i + j − 1)).

    invhilb(n)   Crea una matriz cuadrada  n × n  que es la in-versa de la matriz de Hilbert.

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 4 / 16

  • 8/18/2019 Creación y manipulación de arreglos

    5/16

    Manipulación de arreglos

    Manipulación de arreglos

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 5 / 16

  • 8/18/2019 Creación y manipulación de arreglos

    6/16

    Manipulación de arreglos

    Utilización de los dos punto (:) en la manipulación de arreglos

    Para vectores:va(:)  Se refiere a todos los elementos del vector  va  (columna o fila).

    va(m:n)  Se refiere a todos los elementos entre las posiciones  m  y  n  delvector  va.

    Para matrices:

    A(:,n)  Se refiere a los elementos de la columna  n de la matriz  A.

    A(n,:)  Se refiere a los elementos de la fila  n de la matriz  A.

    A(:,m:n)  Se refiere a los elementos entre las columnas  m y  n de la matriz  A.

    A(m:n,:)  Se refiere a los elementos entre las filas  m  y  n  de la matriz  A.

    A(m:n, p:q)  Se refiere a los elementos de la fila  m  a la  n, y a los de lacolumna  p  a la  q  de la matriz  A.

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 6 / 16

    Adi i´ d l i bl d

  • 8/18/2019 Creación y manipulación de arreglos

    7/16

    Adición de nuevos elementos a variables ya creadas

    Adición de nuevos elementos a variables

    ya creadas

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 7 / 16

    Eli i i´ d l t

  • 8/18/2019 Creación y manipulación de arreglos

    8/16

    Eliminacion de elementos

    Eliminación de elementos

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 8 / 16

    Funciones para la manipulación de arreglos

  • 8/18/2019 Creación y manipulación de arreglos

    9/16

    Funciones para la manipulacion de arreglos

    Funciones para la manipulación de

    arreglos

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 9 / 16

    Funciones para la manipulación de arreglos

  • 8/18/2019 Creación y manipulación de arreglos

    10/16

    Funciones para la manipulacion de arreglos

    Funciones para la manipulación de arreglos

    Función ¿Qué hace?length(A)   Devuelve el número de elementos de  A.

    size(A)   Devuelve un vector fila   [m,n], donde  m  y  n   re-presentan el tamaño m× n  del arreglo  A.

    reshape(A,m,n)   Reordena una matriz A que tiene r filas y s colum-nas, a una matriz  m  filas y  n  columnas. El valorde r  por s  debe ser igual al de  m  por n

    diag(v)   Cuando   v   es un vector, este comando crea unamatriz cuadrada con los elementos de   v   en la

    diagonal.diag(A)   Cuando  A   es una matriz, este comando crea un

    vector a partir de los elementos de la diagonal  A.

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 10 / 16

    Operaciones y funciones con arreglos

  • 8/18/2019 Creación y manipulación de arreglos

    11/16

    Operaciones y funciones con arreglos

    Operaciones y funciones con arreglos

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 11 / 16

    Operaciones y funciones con arreglos

  • 8/18/2019 Creación y manipulación de arreglos

    12/16

    Operaciones y funciones con arreglos

    Operaciones básicas con matrices

    Función Operación

    A+B   Suma de matricesA-B   Resta de matrices

    A*B   Multiplicación de matrices

    A.*B   Multiplicación elemento a elemento de matrices

    A/B   División de matrices por la derecha

    A./B   División elemento a elemento de matrices por laderecha

    A   \B   División de matrices por la izquierda

    A .\B   División elemento a elemento de matrices por laizquierda

    A^n   Potenciación (n debe ser un número, no unamatriz)

    A.^n   Potenciación elemento a elemento de matrices

    A’   Trasposición compleja conjugada

    A.’   Trasposición de matrices

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 12 / 16

    Operaciones y funciones con arreglos

  • 8/18/2019 Creación y manipulación de arreglos

    13/16

    p y g

    Operaciones básicas con vectores

    Función Operación

    cross(x,y)   Producto vectorial entre los vectores x  e y

    dot(x,y)   Producto escalar entre los vectores x  e  y

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 13 / 16

    Operaciones y funciones con arreglos

  • 8/18/2019 Creación y manipulación de arreglos

    14/16

    Funciones para el análisis de matrices

    Función Operación (Con A matriz, v vector y n número natural)

    cond(A)   número de condicióndet(A)   determinante

    diag(v)   crea una matriz diagonal con el vector v sobre la diagonal

    diag(A)   extrae la diagonal de la matriz A como un vector columna

    eig(A)   valores propios

    inv(A)   matriz inversa

    length(A)   máxima dimensión

    norm(A)   norma

    norm(A,n)   norma-n

    normest(A)   estimación de la norma-2

    null(A)   espacio nulo

    orth(A)   ortogonalización

    pinv(A)   pseudoinversa

    poly(A)   polinomio caracteŕısticorank(A)   rango

    rref(A)   reducción mediante la eliminación de Gauss de una matriz

    size(A)   dimensiones

    trace(A)   traza

    tril(A)   matriz triangular inferior a partir de la matriz A

    triu (A)   matriz triangular superior a partir de la matriz AMilton Torres   Curso de MatLab Básico   17 de marzo de 2016 14 / 16

    Operaciones y funciones con arreglos

  • 8/18/2019 Creación y manipulación de arreglos

    15/16

    Otras operaciones con matrices

    Función Operación (Con A matriz, m y n números naturales)find(A)   devuelve los ı́ndices donde las entradas de A son distinto de

    cero

    fliplr(A)   intercambia la matriz de izquierda a derecha

    flipud(A)   intercambia la matriz de arriba a abajo

    rot90(A)   gira la matriz 90o en sentido contrario a las agujas del reloj

    rot90(A,n)   gira la matriz n x 90o

    expm(A)   matriz exponencial

    logm(A)   matriz logaŕıtmica

    sqrtm(A)   matriz de ráıces cuadradas

    funm(A,@función)   evalúa la función que indiquemos en la matriz A

    exp, log, sqrt,...   operan elemento a elemento

    [VE,VA] = eig(A)   VE son los vectores propios y VA son los valores propios

    [L,U] = lu(A)   factorización LU

    [Q,R] = qr(A)   factorización QR

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 15 / 16

    Operaciones y funciones con arreglos

  • 8/18/2019 Creación y manipulación de arreglos

    16/16

    Más funciones con arreglos

    Función Operación mean(A)   Si A es un vector, retorna el valor medio de los elementos.

    C = max(A)   Si  A  es un vector,  C  contendrá el elemento mayor de  A. SiA es una matriz,  C  contendrá un vector fila que representa elelemento mayor de cada columna de  A.

    [d, n] = max(A)   Si  A  es un vector,  d  contendrá el elemento mayor de  A, y  n

    la posición del elemento (de la primera aparición). min(A)   Lo mismo que max(A), pera para el elemento menor.

    [d, n] = min(A)   Lo mismo que   [d, n] = max(A), pera para el elementomenor.

    sum(A)   Si A es un vector, calcula la suma de sus elementos.

    sort(A)   Si A es un vector, devuelve el mismo vector ordenado en orden

    ascendente. median   Si  A   es un vector, devuelve el valor de la mediana de los

    elementos del vector.

    std(A)   Si   A   es un   vector, devuelve la desviación estándar de loselementos.

    Milton Torres   Curso de MatLab Básico   17 de marzo de 2016 16 / 16