SlideShare una empresa de Scribd logo
Ing. Andrés Marzo
   Introducción.
   Vectores.
   Matrices.
   Comandos y Funciones útiles.
   Cadenas de Texto.
   Scripts y Funciones.
   Tipos de Datos.
   Graficas 2D.
   Estructuras de Control.
   Graficas 3D.
   Estructuras y Celdas.
   GUI y GUIDE.
   Data Acquisition.
   Perfil de los participantes:
    ◦   Nombre
    ◦   Estudios.
    ◦   Expectativas del curso
    ◦   Conocimientos de Matlab, programación.

   Objetivos al finalizar el curso
   30 horas repartidas en 10 clases presenciales.

         Tópico                Puntos
         Prácticas             30%
         Examen Teórico        20%
         Examen Final          50%
         Total                 100%



   Certificado de aprobación: 70% en la calificación
   Certificado de asistencia: 70% de asistencia al curso
Introducción
   Lenguaje de Programación.
   Alto Rendimiento.
   Computación Técnica.
   Computación, Visualización y Programación.
   Problemas y soluciones en notación Matemática (de
    Matrices).
   Puede realizar funciones de computadora o lenguaje de
    programación.
   Combina calculo y visualización de graficas.
   Relativamente fácil de aprender.
   Es interpretado (no compilado), errores son fáciles de
    solucionar.
   Optimizado para ser rápido en operaciones con
    matrices.
   Tiene algunos elementos orientados a objetos.
   No es un lenguaje de programación como C o C++.

   Diseñado para computación científica.

   Lenguaje interpretado, más lento que un compilador
    como C.

   Comandos son específicos para su uso en Matlab.
   Matemáticas y Computación.
   Desarrollo y Test de algoritmos.
   Modelado, Simulación y Prototipos.
   Análisis de Datos, exploración y visualización.
   Gráficas de Ingeniería y Científicas.
   Desarrollo de Aplicaciones finales (GUI)
Command Window
                          Barra de Menu
Workspace & Directory




                        Command History
   clc
   Clear
   Exist(„Name‟)
   Help name
   Quit
   Who, whos
   Desde la ventana de comandos ingrese:
   >> 2 + 3/4*5
   ¿Cual es el resultado?
      Observar ventana de comandos y el workspace
   El símbolo % especifica un comentario.
   No es ejecutado por Matlab.



>>%Esto es un comentario
>>x=2+3 % Suma
X=
   5
 No es necesario declarar variables.
 Si no se especifica una variable en una operación,
  MATLAB usa la variable ans como una variable
  temporal.
>>2+3
ans=
      5
 Ejecute:
 >> ans*5
 Verifique el uso de variables y resultado
   Las variables tienen un limite de tamaño de
    nombre de 31 caracteres.
   Deben empezar con una letra SIEMPRE.
   NO deben contener caracteres especiales, salvo
    el “guion bajo” _
Comando             Descripción
  ans     Variable temporal que contiene la
               más reciente respuesta
  eps      Tolerancia numérica del Matlab
  i,j            Unidad imaginaria    1


  Inf                  Infinito
 NaN       Resultado numérico indefinido
  pi                El número Π
   Un simple número es un escalar.
   Un escalar es un caso particular de un arreglo o
    matriz.
   Un “punto y coma” no permite que se imprima el
    resultado en la ventana de comandos, solo se
    guarda en el workspace.

Evaluar
>> x=2;y=6+x,x=y+7
Símbolo       Operación                     Comando
          ^   Potenciación    ab                      a^b
          *   Multiplicación ab                       A*b
          /   División derecha                        a/b
                                        a
                                 a/b=
                                        b
             División izquierda        b             b/a
                                        a
          +   Suma a+b                            a+b
          -   Resta a-b                               a-b
Vectores
   Vectores que “se ven como filas”
   Se definen con espacios o comas entre sus
    elementos.

>>v = [ 1 3, sqrt(5)]
 Verifique el resultado en el workspace.
>> length(v)
 Verifique el resultado en el workspace.
   Puede haber problemas con los espacios.
   Ejecute:
   v1 = [3+ 4 5]
   Verifique el comportamiento
   Ejecute:
   v2 = [3 +4 5]
   Verifique el comportamiento
 Deben tener la misma dimensión para la
  suma.
>> v + v2
 Pueden multiplicarse por un escalar.
>> v3 = 3*v
 Pruebe:
>> v + v1
 Se pueden formar vectores a partir de otros
  vectores (variables) ya definidos:
>> w = [1 2 3], z = [8 9]
>> cd = [2*z,-w], sort(cd)
 Verifique el comportamiento.
   Se puede recuperar (ver) el valor de un
    componente de un vector o cambiarlo
    haciendo uso de un índice.
   El índice se define con el nombre de variable
    del vector y con los paréntesis para acceder a
    la posición del elemento a cambiar/ver.
   >> w(2) = -2, w(3)
   Ejecute:
   >>1:10
   Verifique el resultado.
   Cual es la función del operador “:”?
   De manera general a : b : c produce un vector
    con valor inicial a, valor final c e incrementos
    de b.
 Se puede usar el operador : para definir
  vectores:
>> r5 = [1:2:6, -1:-2:-7]
 Para obtener los elementos del 3 al 6
>> r5(3:6)
 Cual será el resultado de?
>>r5(6:-2:1)
 Vectores que se ven como columna.
 Se definen usando “;”
 Pruebe:
>> c = [ 1; 3; sqrt(5)]
>> c2 = [3
4
5]
   Se puede convertir un vector fila en un vector
    columna y viceversa.
   >> w, w', c, c'
   Defina el vector complejo:
   >> x = [1+3i, 2-2i]
   La transpuesta para x corresponderá a la
    transpuesta conjugada.
   Multiplicación de Vector Fila x Columna
   >> u = [ 10, -11, 12], v = [20; -21; -22]
   >> prod = u*v
   Es una multiplicación Matricial!.
   >> w = [2, 1, 3], z = [7; 6; 5]
   >> u*w
   Verifique ambos ejemplos.
El siguiente muestra dos maneras de obtener
 la norma (distancia euclidiana) de un vector:
>> [ sqrt(u*u'), norm(u)]
 Corresponde al producto Hadamard.
 Trabaja sobre vectores del mismo tipo (fila o
  columna).
>> u.*v‟
Tabulemos la función             para
   Se puede usar también para la división:
   >> a = 1:5, b = 6:10, a./b
   >> a./a
   >> c = -2:2, a./c
   >> a.*b -24, ans./c
   Verifique el resultado.
cat(n,A,B,C,…)
find(x)
[u v w] = find(A)
length(A)
linspace(a,b,n)
logspace(a,b,n)
max(A)
[x,k] = max(A)
min(A)
[x,k] = min(A)
size(A)
sort(A)
sum(A)
Matrices
 Ingrese en la ventana de comandos:
>>A = [ 16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1 ]
 Verifique el resultado.
 Use la flecha “hacia arriba” y reemplace los
  espacios en blanco con “comas”.
 Verifique el resultado.
 Ejecute: A‟
 Verifique el resultado
   Subíndices será la manera de acceder a un
    elemento de una matriz.
   Usa los paréntesis y el nombre de la variable.
   >>A(1,4)
   Verifique el resultado y la relación con A.
   >>A(1:4,4)
   Verifique el resultado.
   Ejecute:
   >>A(:,4)
   Verifique el resultado?
   Cual es la función del operador “:” manejando
    subíndices?
   Se puede utilizar el operador : para generar
    matrices:
   >> D = [1:5; 6:10; 11:2:20]
   Verifique el resultado anterior.
   En MATLAB en general todos son arreglos.
   Un vector columna será una matriz de mx1.
   Un vector fila será una matriz de 1xn.
 El comando size nos devuelve la dimensión
  de la matriz que se usa como parámetro.
>> size(A)
>> size(ans)
 El ultimo comando muestra que el valor
  retornado por size es en si mismo una matriz
  de 1x2.
   También se puede guardar las dimensiones
    de una matriz en variables separadas.
   >> [r c] = size(A'), S = size(A')
   Verifique los valores de r y c y de S.
   Verifique también los tipos de dato (arreglo)
    de dichas variables.
   MATLAB provee algunas funciones propias de
    un tamaño deseado.
   ones(m,n) da una matriz de mxn llena de
    unos.
   >> P = ones(2,3)
   zeros(m,n) da una matriz de mxn llena de
    ceros.
   Z = zeros(2,3)
   Es una matriz de ceros pero en su diagonal
    principal esta llena de unos.
   >> I = eye(3), x = [8; -4; 1], I*x
   Note que eye(3) es una matriz cuadrada
    identidad.
   Verifique el resultado de I*x.
Por otro lado si A es una matriz el comando
 diag(A) extrae la diagonal principal de dicha
 matriz, incluso si la matriz A no es cuadrada.
>> F = [0 1 8 7; 3 -2 -4 2; 4 2 1 1]
>> diag(F)
A veces es necesario generar matrices
 grandes a partir de otras mas pequeñas (o
 vectores).
>> C=[0 1; 3 -2; 4 2]; x=[8;-4;1];
>> G = [C x]
>> G1 = [C ; x‟]
 Se pueden construir matrices usando también
  funciones y operaciones sobre matrices:
 >> J = [1:4; 5:8; 9:12; 20 0 5 4]
 >> K = [ diag(1:4) J; J' zeros(4,4)]
 Pruebe el siguiente comando:
>> spy(K), grid

    Grafica la escasez del patrón en la matriz
   Indica el ultimo elemento.
   Ejemplo:

A = magic(5)
B = A(end,2:end)

   Verifique el resultado.
 X = ones(r,c) % Crea matriz de unos
 X = zeros(r,c) % Crea matriz de ceros
 A = diag(x) % Crea matriz cuadrada xon
  diagonal x
 [r,c] = size(A) % Retorna las dimensiones de la
  matriz
+ - * / % Operaciones standard
 .+ .- .* ./ % Operador .
 v = sum(A) % Vector con la suma de las
  columnas
   X = A‟ % Matriz transpuesta
   X = inv(A) % Matriz inversa de una matriz
    cuadrada
   X = pinv(A) % Pseudo inversa
   X = chol(A) % Descomposicion Cholesky
   d = det(A) % Determinante
   [X,D] = eig(A) % Eigenvalores y eigenvectores
   [Q,R] = qr(X) % Descomposición QR
   [U,D,V] = svd(A) % Descomposicion a un
    simple valor
Condición necesaria y suficiente para que una
 matriz sea invertible es que no sea singular,
 es decir, que su determinante sea no nulo
 |A| ≠ 0 <----> det(A)~=0
En Matlab:
>>inversaA=inv(A)

¿Cómo compruebo?
Comandos y Funciones
útiles
 Expresiones Matemáticas elementales:
>> help elfun
 Expresiones Matemáticas especiales:
>>help specfun
 Expresiones de Matrices elementales:
>>help elmat
 Para genera números aleatorios usamos las
  funciones:
 rand, randn, randint.
 Verifique el uso de:
>> rand(2)
>> randn(2)
>> randint(2,2,[-4 4])
 Para genera números aleatorios usamos las
  funciones:
 rand, randn, randint.
 Verifique el uso de:
>> rand(2)
>> randn(2)
>> randint(2,2,[-4 4])
   Se utiliza el comando sum.
   Genere un matriz para probar los siguientes
    comandos:
 El comando find devuelve una lista con las
  posiciones de los elementos de un vector que
  satisfacen una determinada condición.
>> x = -1:.05:1;
>> y = sin(3*pi*x).*exp(-x.^2);
>> k = find(y > 0.2)
 Verifique el contenido de k e interprételo.
 Opera de manera muy similar en matrices:
>> A = [ -2 3 4 4; 0 5 -1 6; 6 8 0 1]
>> k = find(A==0)
 Verifique e interprete el contenido de k.
 Find en una matriz realmente primero
  reordena (reshape) la matriz en un vector
  para buscar.
   Los índices del reordenamiento de la matriz
    quedan:



>> n = find(A <= 0)
>> A(n)
 “n” devuelve una lista de las posiciones de la
  matriz A que cumplen ser menores que cero,
  luego A(n) nos devuelve los valores de los
  elementos seleccionados.
   En computación, la operación modulo
    encuentra el residuo de la división de un
    numero a otro.
   En Matlab:
 Se manejan complejos automáticos:
>> c=15+sqrt(-1)
 Y valores “excepción” correctamente:
>> a=123/0
>> b=0/0
>> Inf-Inf
Representar el siguiente polinomio en Matlab:
 s3 + 2s2 + 3s + 4
>> p=[1 2 3 4];
Roots(p) < --- > Encuentra las raíces del
 polinomio
De modo complementario, se puede calcular
 un polinomio a partir de sus raices usando la
 funcion poly:
p2=poly([-1 -2]);
   Un polinomio puede ser evaluado en un
    punto determinado usando polyval(p,s),
    donde p es el polinomio y s es el punto
    donde va a ser evaluado. Por ejemplo:

>>p2=[1 3 2]; a=[1 2; 3 4]; polyval(p2,a)

Si se introduce un vector o una matriz, en lugar
  de un valor individual, la evaluacion se hace
  elemento a elemento.
   Podemos realizar cómodamente operaciones
    de multiplicación y división de polinomios
    mediante las funciones conv y deconv.

>>conv([1,2],[2,0])
   La función residue, descompone el cociente
    de una fracción en fracciones parciales.
   Teniendo un cociente de la forma:



   La función es:
   >>[r,p,k] = residue(b,a)
   Entrega los resultados para:




   Descomponga:
 En fracciones parciales:
>> b=[1 1 1 2];
>> a=[1 0 3 0 2];
>> [r,p,k]=residue(b,a)
 El resultado será:
   En fracciones parciales:
   >> b=[1 1 1 2];
   >> a=[1 0 3 0 2];
   >> [r,p,k]=residue(b,a)
   El resultado será:
   Use representación en MATLAB para resolver
    un sistema lineal del tipo
Ejemplo Práctico: Circuito eléctrico
Ejemplo Práctico: Circuito eléctrico
Leyes de Kirchof:
-V1+R1*i1+R4*i4=0
-R4*i4+R2*i2+R5*i5=0
-R5*i5+R3*i3+V2=0

i1=i2+i4
i2=i3+i5
Ejemplo Práctico: Circuito eléctrico

(R1+R4)*i1-R4*i2          =V1
-R4*i1+(R2+R4+R5)*i2-R5*i3=0
        R5*i2-(R3+R5)*i3  =V2

Tenemos 3 ecuaciones y 3 incógnitas (i1,i2,i3)
            ¿Cuál es la corriente en cada ramal
            del circuito?
   La función INPUT imprime un mensaje en la
    ventana de comandos y devuelve el resultado
    de una expresión tecleada por el usuario.
   INPUT espera hasta que el usuario ingrese un
    valor numérico o una expresión
 Cualquier expresión válida de MATLAB es
  aceptada por INPUT.
>> edad = input(„Ingrese la edad: ')
 En el caso que sea una cadena de texto es
  recomendable:
>> nombre = input('¿Cómo te llamas?','s')
La función DISP imprime un mensaje en la
 ventana de comandos, puede ser un mensaje
 de texto o variables.
>> disp('El programa ha terminado')
>> A=rand(4,4)
>> disp(A)
Funciones para problemas de Integración
 numérica:
quad, quad8.

Solución de Ecuaciones Diferenciales.
solver,ode23, ode45 y muchos otros.

Solución de Ecuaciones No lineales
fmin, fsolve, etc.

Interpolación
Spline,etc.
Scripts y Funciones
   Son archivos de texto (.m) que contienen
    comandos de MATLAB.
   Para ejecutar los comandos de ese archivo se
    debe escribir el nombre del archivo en la ventana
    de comandos.
   Las variables y resultados son de ámbito
    GLOBAL.
   Debe estar contenido en el directorio actual para
    poder ejecutarlo (F5 o como comando).
   Los nombres de los scripts deben seguir la regla
    de las variables de MATLAB.
   Mucho ojo con los espacios.
 El nombre del script no debería interferir con
  alguna función o con una variable (error
  común).
 Los comentarios en MATLAB se generan con
  el símbolo %:
>> %Esto es un comentario
   Puede existir aplicaciones que requieran a los
    mismos datos frecuentemente
   A=[2,4;7,9]
   Son “user-defined” a diferencia de las “built-
    in”, también escritas en .m.
   Las buit-in también son llamadas funciones
    de llamada.
   Las user-defined son llamadas funciones de
    definición.
   SIEMPRE reciben parámetros para realizar los
    cálculos.
   Los comandos dentro de las funciones operan
    sobre los parámetros.
   Las variables y resultados son de ámbito
    LOCAL.
   Los .m de funciones deben encontrarse en el
    directorio actual para poder ser llamadas.
   Luego de ser creadas y siempre que estemos
    en el directorio actual donde esta contenido
    el .m de la función de definición, entonces la
    función se convertirá en de llamada.
   También se puede agregar funciones de
    definición a MATLAB.
   El nombre de la función no DEBERIA interferir
    con alguno de una “buit-in”, ni de otra
    variable (error común).
   El nombre del archivo .m conteniendo a la
    definición de la función DEBE ser igual al
    nombre de la función.
   La primera línea del archivo debe tener el
    formato:




   Luego de esta línea se puede documentar la
    función usando comentarios.
Cuerpo de la Función:

function [out1,out2,...] = nombre_fichero
  (in1,in2,...)
% Comentarios adicionales para el help
comandos de MATLAB
return;
 Sabiendo que la resistencia equivalente de 3
  resistencias conectadas en serie
es:
rT= r1 + r2 + r3
Y que si dichas resistencias se conectan en
  paralelo, entonces su resistencia equivalente
  es:
1/rT = 1/r1 + 1/r2 + 1/r3
Escribir una función tal que dadas 3
  resistencias calcule su resistencia equivalente
  conectadas en paralelo y en serie.
   Escriba una función que convierta la
    temperatura en grados Fahrenheit (ºF) a
    grados centígrados (ºC): Use la función input
    y fprintf mostrando una mezcla de texto y
    números. Recuerde que la formula de
    conversión es C = 5/9 * (F-32).
   Escriba una función en Matlab, con 2
    entradas y 2 salidas que determine la altura
    en centímetros y masa en kilogramos de una
    persona de altura en pulgadas y peso en
    libras.
   Determine en unidades de SI la altura y peso
    de una persona de 5 ft.15 in que pesa 180 lb.
Tipos de Datos
>>tipo= class(x)
 Nos devuelve el tipo de dato de “x”.
 También existen comandos que nos dan
  información lógica sobre cada tipo:
 isinteger(x), isfloat(x), ischar(x), islogical(x),
  iscell(x), isstruct(x).
 isempty(x), isnan(x), isinf(x).
   El tipo de Dato entero corresponde:




   El tipo de Dato float corresponde:
   Para convertir se usa el nombre del tipo a
    generar como si fuera función:
   >> a = 522.08
   >> int8(a)
   >> int16(a)
   Verifique el redondeo.
   round: redondea al entero mas proximo.
   floor: redondea a –inf.
   ceil: redondea a +inf.
   fix: redondea hacia cero.
   >>   x = pi*(-1:3), round(x)
   >>   fix(x)
   >>   floor(x)
   >>   ceil(x)
   >>   sign(x), rem(x,3)
   MATLAB maneja el tipo Carácter.
   Una cadena es un vector de caracteres.
   Un Texto es una matriz de caracteres.
   >> t1 = 'A'
   Asigna el valor de „A‟ al arreglo de carácter
    1x1 t1.
   >> t2 = 'BCDE'
   Asigna el valor BCDE al arreglo de caracteres
    1x4 t2.
   Las cadenas creadas se pueden tomar como
    arreglos regulares y manipularlos.
   >> t3 = [t1,t2]
   El direccionamiento funciona como en
    vectores:
   Asigne:
   >> t4 = [t3,' are the first 5 ';...
   'characters in the alphabet.']
   Asigna el valor:
   'ABCDE are the first 5 '
   'characters in the alphabet.'
 Asigne:
>> t4 = [t3,' are the first 5 „,...
'characters in the alphabet.']
 Asigna el valor:
 'ABCDE are the first 5 '
 'characters in the alphabet.'
   Al arreglo de 2x27 t4, es NECESARIO que
    ambas filas del arreglo tengan el mismo
    numero de caracteres (elementos), eso es una
    regla general de arreglos en MATLAB.
   Los … significan que el comando continua en
    la línea siguiente.
   Todo carácter tiene un equivalente en valor
    numérico.
   str2num convierte una cadena a su
    correspondiente representación numérica.
   int2str y num2str convierte respectivamente
    un entero y un numero real a su
    correspondiente cadena de caracteres.
  Deseamos generar la cadena: „El valor de pi
   es 3.1416'.
 [„El valor de pi es ',num2str(pi)].
 Otro ejemplo:
>> N = 5; h = 1/N;
>> ['The value of N is ',int2str(N),...
', h = ',num2str(h)]
   El operador == realiza comparaciones entre
    vectores (elemento a elemento)
Graficas
   “Una imagen vale mas que mil palabras”.
   Es más fácil identificar patrones en una grafica
    que en una tabla con números.
   Ingenieros frecuentemente usan gráficas para
    comunicar sus ideas a otros de una mejor
    manera.
   Graficar, tiene sus reglas que un ingeniero debe
    seguir para presentar conclusiones correctas
    acerca de los datos presentados
1.   Cada eje debe ser etiquetado con la
     cantidad graficadas y las unidades.
2.   Usar espaciado adecuado. No muy disperso,
     no muy denso.
3.   Si se grafican 2 curvas, cada una debe tener
     una leyenda que lo identifique.
4.   Si se van a usar múltiples graficas, use un
     titulo para cada una.
5.   Si esta graficando cada medida de datos,
     diferencia cada uno con un símbolo como
     circulo, punto, triangulo.
6.   Algunas veces, los símbolos están unidos
     por líneas que ayudan a visualizar los datos,
     especialmente si hay pocos puntos. Para
     hacer esto, es necesario tener conocimiento
     de que sucede entre cada punto.
7.   Si está graficando puntos generados por la
     evaluación de una función, no use un
     símbolo para graficar los puntos. Use líneas
     continuas.
6.   Algunas veces, los símbolos están unidos
     por líneas que ayudan a visualizar los datos,
     especialmente si hay pocos puntos. Para
     hacer esto, es necesario tener conocimiento
     de que sucede entre cada punto.
7.   Si está graficando puntos generados por la
     evaluación de una función, no use un
     símbolo para graficar los puntos. Use líneas
     continuas.
    La forma basica en Matlab para realizar una
     grafica XY es plot(x,y).
    Si x y y son vectores, una curva es graficada
     con los valores de x en la abscisa y y en la
     ordenadas.
x=[0:0.1:52];
y=0.4.*sqrt(1.8*x);
plot(x,y);
xlabel(„Distancia (Km)‟);
ylabel(„Altura(Km)‟);
title(„‟Altura del cohete en función de su distancia
     al suelo);
 Otra forma:
x=[0:0.1:52];
y=0.4.*sqrt(1.8*x);
plot(x,y);
xlabel('Distancia (Km)'),ylabel('Altura(Km)'),...
title('Altura del cohete en función de su
  distancia al suelo');
>> x = 0:pi/100:2*pi;
>> y = sin(x);
>> plot(x,y)
 Para graficar y=sin(3*pi*x) para el rango
  [0,1] se muestrea la función a un numero
  suficientemente grande de puntos y luego se
  los une con líneas rectas.
 Para tomar N+1 puntos igualmente
  espaciados a una distancia h:
>> N = 10; h = 1/N; x = 0:h:1;
>> y = sin(3*pi*x);
>> plot(x,y)
 Verifique el gráfico e identifique que el
  numero N es muy pequeño aun.
 Cambie N=100 y verifique el resultado
   El “seno” es una función continua.
   MATLAB trabaja con datos discretos.
   PLOT realiza una interpolación lineal entre
    esos datos para graficar.
   Mayor cantidad de puntos (muestras) harán
    que la gráfica sea prácticamente “continua”.
Grafica líneas de guía dependiendo el
 correspondiente “tick label”.
>>grid
>>grid on
>>grid off
 Con el comando axis Matlab selecciona los
  limites de los ejes.
 Sintaxis: axis[(xmin xmax ymin ymax)]
 Notar que a diferencia de un arreglo, no se
  pueden usar comas.
 Variantes:
>>axis square
>>axis equal
>>axis auto
 Con el comando axis Matlab selecciona los
  limites de los ejes.
 Sintaxis: axis[(xmin xmax ymin ymax)]
 Notar que a diferencia de un arreglo, no se
  pueden usar comas.
 Variantes:
>>axis square
>>axis equal
>>axis auto
 Con el comando axis Matlab selecciona los
  limites de los ejes.
 Sintaxis: axis[(xmin xmax ymin ymax)]
 Notar que a diferencia de un arreglo, no se
  pueden usar comas.
 Variantes:
>>axis square
>>axis equal
>>axis auto
   Si y es un complejo, plot(y) grafica la parte
    imaginaria vs la parte real. En este caso
    plot(y) es

z=0.1+0.9i;
n=[0:0.01:10];
plot(z.^n),xlabel('Real'),ylabel('Imaginario')
igual a plot(real(y),imag(y))
   Matlab automaticamente analiza la función
    que será graficada y decide cuantos puntos
    se usará de tal manera que se muestren todas
    las características de la función.

 Sintaxis:
>>fplot(„string‟,[xmin xmax])
„string‟: Describe la función a ser graficada.
[xmin xmax] : Valores mínimo y máximo de la
  variable independiente.
f='cos(tan(x))-tan(sin(x))';
fplot(f, [1 2])
 Realice el ejemplo anterior con el comando
  plot.
 Otra forma de usar fplot es la siguiente:
>>[x y]= fplot('string', limites)
Donde limites puede ser [xmin xmax] o [xmin
  xmax ymin ymax].
Retorna los valores de la abscisa y ordenada en
  un vector columna para x y y.
Se puede graficar polinomios fácilmente usando la
 función polyval, la cual evalúa el polinomio en los
 valores especificados por la variable
 independiente.
Esto es útil para no tener que escribir toda la
 expresión del polinomio.
Ejemplo:
x=[-6:0.01:6];
p=[3,2,-100,2,-7,90];
plot(x,polyval(p,x)),xlabel('x'),ylabel('p')
   Plot puede recibir un tercer argumento.
   Tercer argumento es una cadena que recibe como
    primer carácter el color y segundo el estilo de
    línea.
   plot(x,y,'style_color_marker')
   x = 0:pi/100:2*pi;
   y = sin(x);
   plot(x,y)
   y2 = sin(x-.25);
   y3 = sin(x-.5);
   plot(x,y,x,y2,x,y3)
   legend('seno(x)','seno(x-.25)','seno(x-.5)')
 Cada llamado de la función PLOT es una petición
  para crear un nuevo “eje” (axis – ventana donde
  se contiene el gráfico).
 Cada llamado de PLOT entonces reemplazará la
  gráfica anterior.
>>hold on
“Mantiene” el gráfico actual en el eje actual.
Se puede llamar muchas veces a PLOT pero no
 se reemplazará el gráfico hasta que exista un:
>>hold off

Ejercicio:
Realizar el ejemplo anterior usando comando hold.
   Realice:
   Matlab puede crear figuras que contengan un
    arreglo de graficas, llamadas subplots. Estas son
    útiles por ejemplo cuando tenemos que comparar
    los mismos datos pero con diferente tipo de ejes.
   Divide la ventana de graficos en un arreglo
    mxn en donde se pueden plotear mxn
    gráficos.
   Se enumeran de izquierda a derecha, de
    arriba hacia abajo.
Sintaxis:
Subplot(m,n,p)
Este comando divide la ventana en un arreglo
 rectangular de m filas y n columnas.
La variable p le dice a Matlab donde va a colocar la
 respectiva figura del comando plot.
   clf, limpia la figura actual.
   close 1, cierra la ventana llamada “Figure 1”.
   figure, abre una nueva ventana.
   figure(9), abre una nueva ventana “Figure 9”.
Para crear una leyenda use el comando legend.
>>legend(„string1‟,‟string2‟).
Este comando automáticamente obtiene de la grafica el
  tipo de línea usado para cada curva o datos.
Ejemplo:
 x=[0:0.01:2];
 y=sinh(x);
 z=tanh(x);
 plot(x,y,x,z,'--'),xlabel('x'),...
 ylabel('hiperbolico seno y tangente')
 legend('sinh(x)','tanh(x)')
 Otra forma de distinguir curvas es colocando una
  etiqueta junta a cada una.
 Se utiliza el comando gtext, que permite ajustarla
  usando el mousse o con el comando text que
  requiere que se le especifique las coordenadas.
>>gtext(„string‟)
>>text(x,y,‟string‟)
   Ejemplo:
   Todas las propiedades de cada objeto del gráfico
    (figura, ejes, elemento gráfico,...) están guardadas
    en "handles“
   gcf  current figure, gca current axis
   get(handle) muestra todos las propiedades que se
    pueden cambiar.
   set(handle,'PropertyName','Value',...) cambia
    propiedades.
   Para personalizar el eje x sin dependencia del
    vector:
   set(gca,'Xtick',[1 2 3 4 5 6]);
   set(gca,'XtickLabel',['ene';'feb';'mar';'abr';'may'
    ;'jun']);
>>x=[1 3 5 9 1 1 6 8 2 3 6 1 2 9 3 4 9 8];
>>hist(x)
>>figure
>>bar(x)
 Interprete los resultados.
   La función polyfit(x,y,n) de Matlab calcula la
    aproximación lineal por mínimos cuadrados
    de un conjunto de puntos dados en los
    vectores x e y. La aproximación lineal se
    logra haciendo n=1.
Ejemplo:
x = [0.1, 0.4, 0.5, 0.7, 0.7, 0.9];
y = [0.61, 0.92, 0.99, 1.52, 1.47, 2.03];
c = polyfit(x,y,1)
c1 = x(1):0.1:x(length(x))
c2 = polyval(c,c1)
plot(c1,c2);hold on
plot(x,y,'x')
axis([0,1,0,2.1])
xlabel('x')
ylabel('y„)
   x = [0.1, 0.4, 0.5, 0.7, 0.7, 0.9];
   y = [0.61, 0.92, 0.99, 1.52, 1.47, 2.03];
   c = polyfit(x,y,1)
   a = input('escriba el valor de c1 : ')
   b = input('Escriba el valor de c2 : ')
   g = a.*x + b
   plot(x,g,'xg',x,g,'m')
   axis([0,1,0,2.1])
   xlabel('x')
   ylabel('y')
   text(0.35,1.8, 'g(x) = a*x + b ')
La temperatura del café en una taza de porcelana a la
 temperatura del cuarto (68ºF) fue medida varias veces
 resultando en la tabla:
             Tiempo (seg)   Temperatura (ºF)

                  0               145

                 620              130

                2266              105

                3482              90


Desarrolle un modelo de la temperatura del café como
 una función del tiempo y use el modelo para estimar
 cuanto le tomaría alcanzar la temperatura de 120ºF
Graficas 3D
   También se basa en graficar puntos:
   >> t=0:pi/50:10*pi;
   >> plot3(sin(t),cos(t),t)
   Esta gráfica es paramétrica.
   Un solo parámetro resulta en una gráfica de
    linea. Se extiende la etiqueta zlabel(„texto‟)
   Se deben generar los valores a graficar, estos
    deben ser una matriz.
   Ejemplo:
   >> z = peaks(10)
   >> plot(z)
>> mesh(z)
>> contour(z,10)
>> surf(z)
Se puede cambiar “la vista” desde la ventana de
 comandos:
>> view(0,0)
>> view(90,0)
   Una superficie también se define
    matemáticamente con una función f(x,y).
   Para cada valor de (x,y) se calcula “la altura”
    de la función: z = f(x,y).
   Para graficar esto debemos definir un rango
    de “x” y de “y” para el gráfico.
   Definiendo el dominio:
   x = 2:0.5:4; y = 1:0.5:3;
   Definido el dominio debemos definir la
    “grilla” de valores que servirán de los puntos
    (x,y) para graficar.
   Esto es como relacionar “x” y “y”.
>> [X,Y] = meshgrid(2:.5:4, 1:.5:3);
>> X
 Si tomamos el i-esimo punto desde la
  izquierda y el j-esimo punto desde debajo de
  la grilla como el correspondiente (i,j) entrada
  en una matriz, entonces (X(i,j),Y(i,j)) serían las
  coordenadas de ese punto.
   Grafique la siguiente función:




>>    [X,Y] = meshgrid(2:.2:4, 1:.2:3);
>>    Z = (X-3).^2-(Y-2).^2;
>>    mesh(X,Y,Z)
>>    title(„Silla'), xlabel('x'),ylabel('y')
   Grafique la siguiente superficie:




   Encuentre los valores máximos de la función.
>>   [X,Y] = meshgrid(-2:.1:2,-2:.2:2);
>>   f = -X.*Y.*exp(-2*(X.^2+Y.^2));
>>   figure (1)
>>   mesh(X,Y,f), xlabel('x'), ylabel('y'), grid
>>   figure (2), contour(X,Y,f)
>>   xlabel('x'), ylabel('y'), grid, hold on
   Para encontrar los máximos:
   >> fmax = max(max(f))
   >> kmax = find(f==fmax)
   >> Pos = [X(kmax), Y(kmax)]
   >> plot(X(kmax),Y(kmax),'*')
   >> text(X(kmax),Y(kmax),' Maximo')
x=[-20,-10,-5,-2,-1,0,1,2,5,10,20]/10;
y=x;
[X,Y]=meshgrid(x,y);
Z=cos(X)+cos(Y);
subplot(3,1,1)
surf(Z);
axis([0 11 0 11 0 2])
subplot(3,1,2)
surf(x,y,Z);
subplot(3,1,3)
surf(X,Y,Z);
Programando con Matlab
   Operadores Lógicos.
   Realizar funciones cuyas acciones dependan del
    resultado de otras operaciones.
   Repetir cálculos un número especifico de veces o
    hasta que una condición se satisfaga.
Operador Relacional    Significado
        <               Menor que
        <=            Menor o igual a
        >               Mayor que
        >=            Mayor o igual a
        ==                Igual a
        ~=              No igual a
Operador   Nombre         Definición
~          NOT            ~A retorna 1‟s cuando
                          sea 0 y 0‟s cuando sea
                          1
&          AND            A&B: retorna 1‟s
                          cuando A y B no son
                          cero y retorna cero
                          cuando A y B no son
                          cero.
|          OR             A|B retorna 1‟s cuando
                          al menos un elemento
                          de A o B sea 1. Caso
                          contrario retorna 0.
Xor(A,B)   Exclusive OR   Xor(A,B) retorna 1
                          cuando los elementos
                          de A o B son
                          diferentes de 0. Caso
                          contrario retorna 0.
1.   Paréntesis.
2.   Operadores aritméticos y NOT. Evaluados de
     izquierda a derecha.
3.   Operadores Relacionales, evaluados de
     izquierda a derecha.
4.   Operadores Lógicos, evaluados de izquierda a
     derecha.
   La declaracion condicional en Matlab nos
    permite escribir programas que tomen
    decisiones.
   Contienen uno o mas declaraciones of, else
    y elseif.
   La declaración end determina el fin de una
    declaración condicional.
if expresiones lógicas
   Declaraciones
end


Evalúa una condición lógica y si dicha expresión evalúa un
   resultado POSITIVO (1) entonces “selecciona” ejecutar
   un grupo de instrucciones, sino evalúa otro grupo o
   sale de la condición.
if expr1
   comandos_matlab
elseif expr2
   otro_comandos_matlab
   ...
else
  otros_comandos_matlab
end
t = rand(1)
if t >0.5
  disp(“valor es mayor que 0.5”)
elseif t <0.25
  disp(“valor es menor que 0.25”)
else
  disp(“valor está entre 0.25 y 0.5”)
 nd
   El uso de lazos es o debería ser MUY
    LIMITADO en MATLAB por el uso del
    operador :
   Los lazos son grandes consumidores de
    tiempo.
   Tareas de optimización regularmente se
    encargan de evitar los lazos.
   Se recomienda para: Repetir la ejecución de
    comandos por un número definido de
    veces.
   for variable = expresión
   comandos_matlab
   end
   “expresión” debe definir el número de veces
    que se ejecutan los comandos, variable
    controla ese numero de repeticiones.
 Imprimir el cuadrado de los 5 primeros
  números naturales:
for i=[1, 2, 3, 4, 5]
disp(i^2)
end
 Otra forma de usar el for:
 “for i=1:5”
 Imprimir el cuadrado de los números
  decimales de una cifra decimal de 0 a 1, en
  forma decreciente, es decir empezando por
  1, 0.9, 0.8, ... 0.1, 0:
for i=1:-0.1:0
disp(i^2)
end
Uso de Matriz para asignar valores
matriz = [ 1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4]
for x = matriz
  x
 end
Creación de subplots usando FOR.
>> x = -1:0.05:1;
>> for n = 1:8
>> subplot(4,2,n), plot(x,sin(n*pi*x))
>> end
El comando find es otro ejemplo de un lazo implicito.
     La declaración y=find(x>0) es equivalente a:
x=[0:20];
j=0;
for i=1:length(x)
  if x(i)>5
     j=j+1;
     y(j)=i;
    end
end
 Se usa regularmente cuando no se conoce en
  primera instancia cuantas repeticiones se
  deben ejecutar.
 Las repeticiones dependerán de la expresión
  condicional que se evalúa.
 MIENTRAS se cumpla sigue la repetición.
 while expresión
   comandos_matlab
 end
Imprimir el valor de x, mientras este sea
 positivo, decrementando cada vez x en 17:
x = 100
while x >0
 disp(x)
 x = x - 17;
end
   Alternativa a if, elseif y else.

switch expresion de entrada(escalar o string)
  case valor1
      declaraciones1
   case valor2
      declaraciones2
…
otherwise
       declaracionesn
end
   Alternativa a if, elseif y else.

switch expresion de entrada(escalar o string)
  case valor1
      declaraciones1
   case valor2
      declaraciones2
…
otherwise
       declaracionesn
end
   Break: Para romper un lazo.
   Continue: Puede ser usado para salir de un lazo
    for y pasar inmediatamente a la siguiente iteración
    del lazo, saltando las declaraciones que falten.
   Return: Para salir y retornar los valores actuales
    en la función
Hipermatrices
   Matrices de mas de dos dimensiones.
   El tercer subindice representa la tercera
    dimensión: “La profundidad de la
    hipermatriz”.
Se muestra a continuación cómo organizar las
 matrices x1 y x2 de 3x3 en dos páginas, o
 sea en un arreglo x de 3x3x2. (La variable x
 debe estar inicialmente vacía o no existir):
x1=[1 2 3; 4 5 6; 7 8 9]
x2=[10 20 30; 40 50 60; 70 80 90]
x(:,:,1)=x1;
x(:,:,2)=x2;
La información quedará organizada como se
 muestra en la figura:
Creación a partir de otras matrices de dos
  dimensiones:
A(:,:,1)=[1 2 3; 4 5 6]
A(:,:,2)=[2 3 4; 5 6 7]
 Las funciones comunes para uso con
  matrices, también pueden manejar
  hipermatrices.
M=randn(2,3,2)
M(:,:,1) =

 -0.4326     0.1253 -1.1465
 -1.6656     0.2877 1.1909
M(:,:,2) =

  1.1892 0.3273 -0.1867
 -0.0376 0.1746 0.7258

>> A=zeros(2,3); B=ones(2,3);
 Por su naturaleza la concatenación se realiza a través
  de funciones.
¿Recuerdan la función CAT?
La función cat concatena arreglos.
Recibe 3 parámetros el primero es la
 dimensión a lo largo de la cual concatenará 2
 matrices pasadas como parámetros.
cat(2,A,B) <--->[A,B].
cat(1,A,B) <--->[A;B].
¿Y cat(3,A,B)?
   Tienen reglas especiales para usar funciones
    con ellas.
   Todas las funciones de MATLAB que operan
    sobre escalares (sin(), cos(), etc.) se aplican
    sobre hipermatrices elemento a elemento
    (igual que sobre vectores y matrices).
   Las funciones que operan sobre vectores
    (sum(), max(), etc.) se aplican a matrices e
    hipermatrices según la primera dimensión,
    resultando un array de una dimensión
    inferior.
   Las funciones matriciales propias del Álgebra
    Lineal (det(), inv(), etc.) no se pueden aplicar a
    hipermatrices. Para poderlas aplicar hay que
    extraer         primero         las      matrices
    correspondientes (por ejemplo, con el
    operador dos puntos (:)).
reshape(x, 3, 6);
Interprete los resultados.
Estructuras y Celdas
   Permiten guardar valores de diferente tipo de dato
    bajo un mismo nombre.
   Organizan la información, siguen un modelo de
    campo-valor.
   El acceso a los elementos de cada una de las
    claves se hace con “.”
>> punto.x=2
>> punto.y=3
>> punto.color='rojo„
>> punto
 Se pueden crear también vectores de Estructuras:
>> punto(2).x=4, punto(2).y=5, punto(2).color='verde'
 Verifique el direccionamiento:
>> punto(1), punto(2)
 Y el direccionamiento de campos:
>> campo = „x‟
>> punto.(campo)
 Verifique el direccionamiento:
>> punto(1), punto(2)
 Y el direccionamiento de campos:
>> campo = „x‟
>> punto.(campo)
 Construye un arreglo donde cada elemento
  puede ser de un tipo diferente.
>> c={12,'Red',magic(4)};
 Verifique el contenido de c en el workspace
 Se utilizan llaves { } en lugar de corchetes [ ] o
  paréntesis ( )
>> b{1}=12;
>> b{2}='Red';
>> b{3}=magic(4);
La diferencia con las estructuras es que se
 accede a los valores utilizando un índice en
 lugar del nombre del campo.
Trabajar con estructuras es ineficiente
a{1,1} = 12;
a{1,2} = 'Red';
a{1,3} = magic(4);
a{2,1}=ones(3);
a{2,2}=43;
a{2,3}='texto';
Utilizando ( ) accede a un elemento, que es tipo
  cell.
Utilizando { } accede al valor.
 Verifique los tipos con:
 class(a)
 class(a(1,1))
 class(a{1,1})
Interacción de Matlab con otros
programas
xlswrite(„Archivo', [12.7 5.02;-98 63.9])
d = {'Tiempo', 'Temp'; 12 98; 13 99; 14 97};
s = xlswrite(„file.xls', d, 'Temperaturas', 'E1')
[tipo, hojas] = xlsfinfo(„file.xls„)
[ndata, headertext] = xlsread(„file.xls', „Hoja‟)
A = xlsread(„file.xls', 1, 'A4:B5')
Crear un script que permita leer este archivo
Imagenes
   [x,map]=imread('figura.jpg');
   image(x)
   colormap(map)
   a = magic(4);
   image(a);
   map = hsv(16);
   colormap(map)
   colorbar
   Matlab provee 2 maneras de generar graficas
    animadas:
   1. On the fly – Borra continuamente y
    redibuja el objeto en la with each redraw.
   2. Frame by frame capture and playback –
    Graba un número de diferentes figuras y
    luego los reproduce como si fuiera una
    pelicula..
 Animación fly:
t = 0:0.01:10*pi; x = t.*sin(t); y = t.*cos(t);
axislimits = [min(x) max(x) min(y) max(y) min(t)
  max(t)];
line_handle = plot3(x(1), y(1),t(1), 'ko', ...
'MarkerFaceColor',[.49 1 .63], 'MarkerSize',12);
set(line_handle, 'erasemode','xor');
axis(axislimits);
grid on
for i = 2:length(x)
  set(line_handle, 'xdata',x(i), 'ydata', y(i), 'zdata', t(i));
  drawnow;
end
 Frame by frame
[x,y] = meshgrid([-10:0.5:10]);
for j = 1:15
  z = bessel(0, (j-1)*0.2 + sqrt(x.^2 +y.^2));
  surf(x,y,z)
  axis([-10 10 -10 10 -.5 1])
  M(j) = getframe;
end
frame_order = [1:15 14:-1:1];
number_repeats = 5;
movie(M, [number_repeats frame_order]);
GUI
   GUI (Graphical User Interface) es util para
    presentar el desarrollo final de un programa.
   Adhiere usabilidad al ajuste de parámetros y
    visualización de un programa
   La elaboración de GUI se puede realizar de dos
    formas:
        Código a través de un script
        GUIDE que es la herramienta de diseño de MatLAB.
   Ejecutar el comando guide en Matlab pàra
    iniciar.
   Se tiene un formulario en blanco al cual se
    puede agregar CONTROLES.
   Se debe antes preparar un diseño de la GUI
   Se desea crear una GUI que realice un PLOT
    de una función determinada.
   Primero se ubican los controles básicos para
    el programa del menu: axes, static text, edit
    box, button.
   Se desea crear una GUI que realice un PLOT
    de una función determinada.
   Primero se ubican los controles básicos para
    el programa del menu: axes, static text, edit
    box, button.
   Axes: un espacio para dibujar.
   Static text: texto que se adhiere a la
    pantalla y el usuario no puede editarlo
   Edit box: una caja blanca que el usuario puede
    modificar
    el contenido
   Button: realiza una acción cuando el usuario da
    click en el.
   Cuando le dan doble click a un control, muestra
    una ventana listando todas las propiedades de
    ese control (fuente, posición, tamaño, etc.).
   Tag: el nombre del control en el código, es mejor
    renombrarlo por algo identificable.
   String: el texto que va a tener en el gui si guera el
    caso.
   ForegroundColor: color del texto.
   Background color: color del control.
   Si presionan la flecha verde en la parte superior
    del editor GUI se grabara el trabajo actual y
    correrá el programa. La primera vez que lo corra
    preguntara el nombre del programa.
   Probar corriendo el programa.
   Para agregar funcionalidad a la GUI se debe
    definir un callback para el boton para que así
    grafique la función cuando se presione
   Cuando se corra el programa, se crean 2
    archivos:
   .fig: contiene el esquema grafico de los controles.
   .m: contiene el código que define la función
    callback para cada uno de los controles.
   Generalmente no se edita el codigo de
    inicializacion del .m.
   Probablemente muchos callbacks de controles se
    quedaran en blanco.
   Se puede seleccionar el control y dar click
    derecho para editar el Callback con la opciòn
    “View Callback”.
   % --- Executes on button press in PlotButton.
   function PlotButton_Callback(hObject,
    eventdata, handles)
   % hObject handle to PlotButton (see GCBO)
   % eventdata reserved - to be defined in a future
    version of MATLAB
   % handles structure with handles and user data
    (see GUIDATA)
   Se pueden borrar los comentarios.
   Cada funcion tiene el parametro handles. Dicho
    parametro contiene todos los controles:
    handles.PlotButton, handles.edit1, etc…
   Se pueden agregar variables a handles para
    hacerlas disponibles en todos los
    controles/funciones: handles.x=42;
   Se puede obtener cualquier propiedad de
    un control con la función GET.
   Se puede cambiar el valor de cualquier
    propiedad con la función SET.
   En este caso queremos OBTENER el String
    escrito en el edit box y graficarlo.
   function PlotButton_Callback(hObject,
    eventdata, handles)
   x = -10 : 0.1 : 10;
   s = get(handles.functionEdit, 'String');
   y = eval(s); %eval just evaluates the given string
   handles.axes1; %Subsequent commands draw
    on axes1.
   plot(x, y);
   Cuando se modifica el código del m-file no
    se tiene que volver a correr la GUI (solo se
    ha modificado la funcionalidad).
   Para correr el GUI se puede usar también
    desde el command window el nombre de la
    GUI como si fuera un script.

Más contenido relacionado

La actualidad más candente

Regla de Simpson tres octavos
Regla de Simpson tres octavosRegla de Simpson tres octavos
Regla de Simpson tres octavos
Javier Aguilar Cruz
 
Integración numérica parte II
Integración numérica parte IIIntegración numérica parte II
Integración numérica parte II
Universidad Tecnológica
 
Pe u2
Pe u2Pe u2
Dibujo tecnico
Dibujo tecnicoDibujo tecnico
Método de la regla falsa (o metodo de la falsa posición) SN
Método de la regla falsa (o metodo de la falsa posición) SNMétodo de la regla falsa (o metodo de la falsa posición) SN
Método de la regla falsa (o metodo de la falsa posición) SN
Tensor
 
Extremos condicionados
Extremos condicionadosExtremos condicionados
Extremos condicionados
Juan Timoteo Cori
 
El metodo doolittle
El metodo doolittleEl metodo doolittle
El metodo doolittle
Tapia Ruiz Ronald
 
Propiedades de la sumatoria.
Propiedades de la sumatoria.Propiedades de la sumatoria.
Propiedades de la sumatoria.
Angel Perez
 
Matemática I - Límites y Continuidad
Matemática I - Límites y ContinuidadMatemática I - Límites y Continuidad
Matemática I - Límites y Continuidad
Joe Arroyo Suárez
 
Teoría de Conjuntos y Ejercicios
Teoría de Conjuntos y Ejercicios Teoría de Conjuntos y Ejercicios
Teoría de Conjuntos y Ejercicios
pcomba
 
Funciones ortogonales (1)
Funciones ortogonales (1)Funciones ortogonales (1)
Funciones ortogonales (1)
Pablo Roberto González Quelex
 
Sesión 7 matlab - Operadores lógicos y relacionales
Sesión 7 matlab - Operadores lógicos y relacionalesSesión 7 matlab - Operadores lógicos y relacionales
Sesión 7 matlab - Operadores lógicos y relacionales
matlab_usc
 
Método de romberg
Método de rombergMétodo de romberg
Método de romberg
Tensor
 
Manual auto cad con ejercicios
Manual auto cad con ejerciciosManual auto cad con ejercicios
Manual auto cad con ejercicios
Andrés Amaya
 
Soluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en MatlabSoluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en Matlab
Hugo Piure
 
52738988 ejercicios-resueltos-varias-variables
52738988 ejercicios-resueltos-varias-variables52738988 ejercicios-resueltos-varias-variables
52738988 ejercicios-resueltos-varias-variables
Juanjo Vasanty
 
Area de curvas planas coordenadas rectangulares
Area de curvas planas coordenadas rectangularesArea de curvas planas coordenadas rectangulares
Area de curvas planas coordenadas rectangulares
Eunice Ramos
 
Las inecuaciones
Las   inecuacionesLas   inecuaciones
Las inecuaciones
Juliana Isola
 
Método de jacobi Métodos Númericos
Método de jacobi Métodos NúmericosMétodo de jacobi Métodos Númericos
Método de jacobi Métodos Númericos
Tensor
 
1. inecuaciones con valor absoluto
1. inecuaciones con valor absoluto1. inecuaciones con valor absoluto
1. inecuaciones con valor absoluto
jferca3
 

La actualidad más candente (20)

Regla de Simpson tres octavos
Regla de Simpson tres octavosRegla de Simpson tres octavos
Regla de Simpson tres octavos
 
Integración numérica parte II
Integración numérica parte IIIntegración numérica parte II
Integración numérica parte II
 
Pe u2
Pe u2Pe u2
Pe u2
 
Dibujo tecnico
Dibujo tecnicoDibujo tecnico
Dibujo tecnico
 
Método de la regla falsa (o metodo de la falsa posición) SN
Método de la regla falsa (o metodo de la falsa posición) SNMétodo de la regla falsa (o metodo de la falsa posición) SN
Método de la regla falsa (o metodo de la falsa posición) SN
 
Extremos condicionados
Extremos condicionadosExtremos condicionados
Extremos condicionados
 
El metodo doolittle
El metodo doolittleEl metodo doolittle
El metodo doolittle
 
Propiedades de la sumatoria.
Propiedades de la sumatoria.Propiedades de la sumatoria.
Propiedades de la sumatoria.
 
Matemática I - Límites y Continuidad
Matemática I - Límites y ContinuidadMatemática I - Límites y Continuidad
Matemática I - Límites y Continuidad
 
Teoría de Conjuntos y Ejercicios
Teoría de Conjuntos y Ejercicios Teoría de Conjuntos y Ejercicios
Teoría de Conjuntos y Ejercicios
 
Funciones ortogonales (1)
Funciones ortogonales (1)Funciones ortogonales (1)
Funciones ortogonales (1)
 
Sesión 7 matlab - Operadores lógicos y relacionales
Sesión 7 matlab - Operadores lógicos y relacionalesSesión 7 matlab - Operadores lógicos y relacionales
Sesión 7 matlab - Operadores lógicos y relacionales
 
Método de romberg
Método de rombergMétodo de romberg
Método de romberg
 
Manual auto cad con ejercicios
Manual auto cad con ejerciciosManual auto cad con ejercicios
Manual auto cad con ejercicios
 
Soluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en MatlabSoluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en Matlab
 
52738988 ejercicios-resueltos-varias-variables
52738988 ejercicios-resueltos-varias-variables52738988 ejercicios-resueltos-varias-variables
52738988 ejercicios-resueltos-varias-variables
 
Area de curvas planas coordenadas rectangulares
Area de curvas planas coordenadas rectangularesArea de curvas planas coordenadas rectangulares
Area de curvas planas coordenadas rectangulares
 
Las inecuaciones
Las   inecuacionesLas   inecuaciones
Las inecuaciones
 
Método de jacobi Métodos Númericos
Método de jacobi Métodos NúmericosMétodo de jacobi Métodos Númericos
Método de jacobi Métodos Númericos
 
1. inecuaciones con valor absoluto
1. inecuaciones con valor absoluto1. inecuaciones con valor absoluto
1. inecuaciones con valor absoluto
 

Destacado

MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
Jose Cordova
 
Analisis espectral en MATLAB
Analisis espectral en MATLABAnalisis espectral en MATLAB
Analisis espectral en MATLAB
ABEL170
 
Procesamiento digital de imágenes con matlab
Procesamiento digital de imágenes con matlabProcesamiento digital de imágenes con matlab
Procesamiento digital de imágenes con matlab
Percy Julio Chambi Pacco
 
Analisis Espectral Usando Matlab
Analisis Espectral Usando MatlabAnalisis Espectral Usando Matlab
Analisis Espectral Usando Matlab
kennymanrique
 
Curso de simulink 2 0
Curso de simulink 2 0Curso de simulink 2 0
Curso de simulink 2 0
Stefania Oliveira
 
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABPROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
INFOVIC
 
Resolución de ecuaciones diferenciales con MATLAB R2015a
Resolución de ecuaciones diferenciales  con  MATLAB  R2015aResolución de ecuaciones diferenciales  con  MATLAB  R2015a
Resolución de ecuaciones diferenciales con MATLAB R2015a
Joanny Ibarbia Pardo
 
Manual simulink
Manual simulinkManual simulink
Manual simulink
cosococo
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audio
Rick P
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLab
marco calderon layme
 
Fundamentos de matlab
Fundamentos de matlabFundamentos de matlab
Fundamentos de matlab
Marc Llanos
 
Matlab: una_introduccion_con_ejemplos_practicos
Matlab: una_introduccion_con_ejemplos_practicosMatlab: una_introduccion_con_ejemplos_practicos
Matlab: una_introduccion_con_ejemplos_practicos
Samael Kreutz
 
Solucion de-problemas-de-ingenieria-con-matlab
Solucion de-problemas-de-ingenieria-con-matlabSolucion de-problemas-de-ingenieria-con-matlab
Solucion de-problemas-de-ingenieria-con-matlab
Wilson Bautista
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlab
Percy Julio Chambi Pacco
 
Matlab u1 ambiente
Matlab u1 ambienteMatlab u1 ambiente
Matlab u1 ambiente
jmedina13
 
Curso matlab
Curso matlabCurso matlab
Programar En Matlab
Programar En MatlabProgramar En Matlab
Programar En Matlab
Saul Bernal
 
Presentación de comandos en MatLab
Presentación de comandos en MatLabPresentación de comandos en MatLab
Presentación de comandos en MatLab
Jeremi Schneider
 
Analisis de señales
Analisis de señalesAnalisis de señales
Analisis de señales
mariadanielaalvarez
 
Matlab sesion3
Matlab sesion3Matlab sesion3
Matlab sesion3
José Caraguay
 

Destacado (20)

MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
 
Analisis espectral en MATLAB
Analisis espectral en MATLABAnalisis espectral en MATLAB
Analisis espectral en MATLAB
 
Procesamiento digital de imágenes con matlab
Procesamiento digital de imágenes con matlabProcesamiento digital de imágenes con matlab
Procesamiento digital de imágenes con matlab
 
Analisis Espectral Usando Matlab
Analisis Espectral Usando MatlabAnalisis Espectral Usando Matlab
Analisis Espectral Usando Matlab
 
Curso de simulink 2 0
Curso de simulink 2 0Curso de simulink 2 0
Curso de simulink 2 0
 
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABPROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
 
Resolución de ecuaciones diferenciales con MATLAB R2015a
Resolución de ecuaciones diferenciales  con  MATLAB  R2015aResolución de ecuaciones diferenciales  con  MATLAB  R2015a
Resolución de ecuaciones diferenciales con MATLAB R2015a
 
Manual simulink
Manual simulinkManual simulink
Manual simulink
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audio
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLab
 
Fundamentos de matlab
Fundamentos de matlabFundamentos de matlab
Fundamentos de matlab
 
Matlab: una_introduccion_con_ejemplos_practicos
Matlab: una_introduccion_con_ejemplos_practicosMatlab: una_introduccion_con_ejemplos_practicos
Matlab: una_introduccion_con_ejemplos_practicos
 
Solucion de-problemas-de-ingenieria-con-matlab
Solucion de-problemas-de-ingenieria-con-matlabSolucion de-problemas-de-ingenieria-con-matlab
Solucion de-problemas-de-ingenieria-con-matlab
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlab
 
Matlab u1 ambiente
Matlab u1 ambienteMatlab u1 ambiente
Matlab u1 ambiente
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
 
Programar En Matlab
Programar En MatlabProgramar En Matlab
Programar En Matlab
 
Presentación de comandos en MatLab
Presentación de comandos en MatLabPresentación de comandos en MatLab
Presentación de comandos en MatLab
 
Analisis de señales
Analisis de señalesAnalisis de señales
Analisis de señales
 
Matlab sesion3
Matlab sesion3Matlab sesion3
Matlab sesion3
 

Similar a Seminario de matlab

Electrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoElectrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicado
SANTIAGO PABLO ALBERTO
 
matlab
matlabmatlab
matlab
Jessy AG
 
Matlab
MatlabMatlab
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
CORPOELEC
 
Matlab
MatlabMatlab
Matlab
pollonaism
 
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
angela80121
 
Matlab
MatlabMatlab
Matlab
DRIKSH
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
nomegustaestascosas
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
nomegustaestascosas
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
nomegustaestascosas
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
nomegustaestascosas
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
Mocha Danny
 
Matlab
MatlabMatlab
Matlab
Juan Morales
 
Matlab
MatlabMatlab
Matlab
Juan Morales
 
Matlab
MatlabMatlab
Matlab
Juan Morales
 
Matlab
MatlabMatlab
Mat lab01
Mat lab01Mat lab01
Mat lab01
pierkross
 
Intro_Matlab_1.pdf
Intro_Matlab_1.pdfIntro_Matlab_1.pdf
Intro_Matlab_1.pdf
MiguelBriones24
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
Adiel Castaño
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
Sebastian Arbelaez
 

Similar a Seminario de matlab (20)

Electrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoElectrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicado
 
matlab
matlabmatlab
matlab
 
Matlab
MatlabMatlab
Matlab
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
 
Matlab
MatlabMatlab
Matlab
 
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
 
Matlab
MatlabMatlab
Matlab
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Mat lab01
Mat lab01Mat lab01
Mat lab01
 
Intro_Matlab_1.pdf
Intro_Matlab_1.pdfIntro_Matlab_1.pdf
Intro_Matlab_1.pdf
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
 

Último

pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
Inslvarez5
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Demetrio Ccesa Rayme
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
GiselaBerrios3
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
josseanlo1581
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
rosannatasaycoyactay
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
Todo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdfTodo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdf
La Paradoja educativa
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
KarenRuano6
 
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
lizeth671681
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 

Último (20)

pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
Todo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdfTodo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdf
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
 
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 

Seminario de matlab

  • 2. Introducción.  Vectores.  Matrices.  Comandos y Funciones útiles.  Cadenas de Texto.  Scripts y Funciones.  Tipos de Datos.
  • 3. Graficas 2D.  Estructuras de Control.  Graficas 3D.  Estructuras y Celdas.  GUI y GUIDE.  Data Acquisition.
  • 4. Perfil de los participantes: ◦ Nombre ◦ Estudios. ◦ Expectativas del curso ◦ Conocimientos de Matlab, programación.  Objetivos al finalizar el curso
  • 5. 30 horas repartidas en 10 clases presenciales. Tópico Puntos Prácticas 30% Examen Teórico 20% Examen Final 50% Total 100%  Certificado de aprobación: 70% en la calificación  Certificado de asistencia: 70% de asistencia al curso
  • 7. Lenguaje de Programación.  Alto Rendimiento.  Computación Técnica.  Computación, Visualización y Programación.  Problemas y soluciones en notación Matemática (de Matrices).
  • 8. Puede realizar funciones de computadora o lenguaje de programación.  Combina calculo y visualización de graficas.  Relativamente fácil de aprender.  Es interpretado (no compilado), errores son fáciles de solucionar.  Optimizado para ser rápido en operaciones con matrices.  Tiene algunos elementos orientados a objetos.
  • 9. No es un lenguaje de programación como C o C++.  Diseñado para computación científica.  Lenguaje interpretado, más lento que un compilador como C.  Comandos son específicos para su uso en Matlab.
  • 10. Matemáticas y Computación.  Desarrollo y Test de algoritmos.  Modelado, Simulación y Prototipos.  Análisis de Datos, exploración y visualización.  Gráficas de Ingeniería y Científicas.  Desarrollo de Aplicaciones finales (GUI)
  • 11.
  • 12. Command Window Barra de Menu Workspace & Directory Command History
  • 13. clc  Clear  Exist(„Name‟)  Help name  Quit  Who, whos
  • 14. Desde la ventana de comandos ingrese:  >> 2 + 3/4*5  ¿Cual es el resultado?  Observar ventana de comandos y el workspace
  • 15. El símbolo % especifica un comentario.  No es ejecutado por Matlab. >>%Esto es un comentario >>x=2+3 % Suma X= 5
  • 16.  No es necesario declarar variables.  Si no se especifica una variable en una operación, MATLAB usa la variable ans como una variable temporal. >>2+3 ans= 5  Ejecute:  >> ans*5  Verifique el uso de variables y resultado
  • 17. Las variables tienen un limite de tamaño de nombre de 31 caracteres.  Deben empezar con una letra SIEMPRE.  NO deben contener caracteres especiales, salvo el “guion bajo” _
  • 18. Comando Descripción ans Variable temporal que contiene la más reciente respuesta eps Tolerancia numérica del Matlab i,j Unidad imaginaria 1 Inf Infinito NaN Resultado numérico indefinido pi El número Π
  • 19.
  • 20. Un simple número es un escalar.  Un escalar es un caso particular de un arreglo o matriz.  Un “punto y coma” no permite que se imprima el resultado en la ventana de comandos, solo se guarda en el workspace. Evaluar >> x=2;y=6+x,x=y+7
  • 21. Símbolo Operación Comando ^ Potenciación ab a^b * Multiplicación ab A*b / División derecha a/b a a/b= b División izquierda b b/a a + Suma a+b a+b - Resta a-b a-b
  • 23. Vectores que “se ven como filas”  Se definen con espacios o comas entre sus elementos. >>v = [ 1 3, sqrt(5)]  Verifique el resultado en el workspace. >> length(v)  Verifique el resultado en el workspace.
  • 24. Puede haber problemas con los espacios.  Ejecute:  v1 = [3+ 4 5]  Verifique el comportamiento  Ejecute:  v2 = [3 +4 5]  Verifique el comportamiento
  • 25.  Deben tener la misma dimensión para la suma. >> v + v2  Pueden multiplicarse por un escalar. >> v3 = 3*v  Pruebe: >> v + v1
  • 26.  Se pueden formar vectores a partir de otros vectores (variables) ya definidos: >> w = [1 2 3], z = [8 9] >> cd = [2*z,-w], sort(cd)  Verifique el comportamiento.
  • 27. Se puede recuperar (ver) el valor de un componente de un vector o cambiarlo haciendo uso de un índice.  El índice se define con el nombre de variable del vector y con los paréntesis para acceder a la posición del elemento a cambiar/ver.  >> w(2) = -2, w(3)
  • 28. Ejecute:  >>1:10  Verifique el resultado.  Cual es la función del operador “:”?  De manera general a : b : c produce un vector con valor inicial a, valor final c e incrementos de b.
  • 29.  Se puede usar el operador : para definir vectores: >> r5 = [1:2:6, -1:-2:-7]  Para obtener los elementos del 3 al 6 >> r5(3:6)  Cual será el resultado de? >>r5(6:-2:1)
  • 30.  Vectores que se ven como columna.  Se definen usando “;”  Pruebe: >> c = [ 1; 3; sqrt(5)] >> c2 = [3 4 5]
  • 31. Se puede convertir un vector fila en un vector columna y viceversa.  >> w, w', c, c'  Defina el vector complejo:  >> x = [1+3i, 2-2i]  La transpuesta para x corresponderá a la transpuesta conjugada.
  • 32. Multiplicación de Vector Fila x Columna  >> u = [ 10, -11, 12], v = [20; -21; -22]  >> prod = u*v  Es una multiplicación Matricial!.  >> w = [2, 1, 3], z = [7; 6; 5]  >> u*w  Verifique ambos ejemplos.
  • 33. El siguiente muestra dos maneras de obtener la norma (distancia euclidiana) de un vector: >> [ sqrt(u*u'), norm(u)]
  • 34.  Corresponde al producto Hadamard.  Trabaja sobre vectores del mismo tipo (fila o columna). >> u.*v‟ Tabulemos la función para
  • 35. Se puede usar también para la división:  >> a = 1:5, b = 6:10, a./b  >> a./a  >> c = -2:2, a./c  >> a.*b -24, ans./c  Verifique el resultado.
  • 36. cat(n,A,B,C,…) find(x) [u v w] = find(A) length(A) linspace(a,b,n) logspace(a,b,n) max(A) [x,k] = max(A) min(A) [x,k] = min(A) size(A) sort(A) sum(A)
  • 37.
  • 39.  Ingrese en la ventana de comandos: >>A = [ 16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1 ]  Verifique el resultado.  Use la flecha “hacia arriba” y reemplace los espacios en blanco con “comas”.  Verifique el resultado.  Ejecute: A‟  Verifique el resultado
  • 40. Subíndices será la manera de acceder a un elemento de una matriz.  Usa los paréntesis y el nombre de la variable.  >>A(1,4)  Verifique el resultado y la relación con A.
  • 41. >>A(1:4,4)  Verifique el resultado.  Ejecute:  >>A(:,4)  Verifique el resultado?  Cual es la función del operador “:” manejando subíndices?
  • 42. Se puede utilizar el operador : para generar matrices:  >> D = [1:5; 6:10; 11:2:20]  Verifique el resultado anterior.
  • 43. En MATLAB en general todos son arreglos.  Un vector columna será una matriz de mx1.  Un vector fila será una matriz de 1xn.
  • 44.  El comando size nos devuelve la dimensión de la matriz que se usa como parámetro. >> size(A) >> size(ans)  El ultimo comando muestra que el valor retornado por size es en si mismo una matriz de 1x2.
  • 45. También se puede guardar las dimensiones de una matriz en variables separadas.  >> [r c] = size(A'), S = size(A')  Verifique los valores de r y c y de S.  Verifique también los tipos de dato (arreglo) de dichas variables.
  • 46. MATLAB provee algunas funciones propias de un tamaño deseado.  ones(m,n) da una matriz de mxn llena de unos.  >> P = ones(2,3)  zeros(m,n) da una matriz de mxn llena de ceros.  Z = zeros(2,3)
  • 47. Es una matriz de ceros pero en su diagonal principal esta llena de unos.  >> I = eye(3), x = [8; -4; 1], I*x  Note que eye(3) es una matriz cuadrada identidad.  Verifique el resultado de I*x.
  • 48. Por otro lado si A es una matriz el comando diag(A) extrae la diagonal principal de dicha matriz, incluso si la matriz A no es cuadrada. >> F = [0 1 8 7; 3 -2 -4 2; 4 2 1 1] >> diag(F)
  • 49. A veces es necesario generar matrices grandes a partir de otras mas pequeñas (o vectores). >> C=[0 1; 3 -2; 4 2]; x=[8;-4;1]; >> G = [C x] >> G1 = [C ; x‟]
  • 50.  Se pueden construir matrices usando también funciones y operaciones sobre matrices:  >> J = [1:4; 5:8; 9:12; 20 0 5 4]  >> K = [ diag(1:4) J; J' zeros(4,4)]  Pruebe el siguiente comando: >> spy(K), grid Grafica la escasez del patrón en la matriz
  • 51.
  • 52. Indica el ultimo elemento.  Ejemplo: A = magic(5) B = A(end,2:end)  Verifique el resultado.
  • 53.  X = ones(r,c) % Crea matriz de unos  X = zeros(r,c) % Crea matriz de ceros  A = diag(x) % Crea matriz cuadrada xon diagonal x  [r,c] = size(A) % Retorna las dimensiones de la matriz + - * / % Operaciones standard  .+ .- .* ./ % Operador .  v = sum(A) % Vector con la suma de las columnas
  • 54. X = A‟ % Matriz transpuesta  X = inv(A) % Matriz inversa de una matriz cuadrada  X = pinv(A) % Pseudo inversa  X = chol(A) % Descomposicion Cholesky  d = det(A) % Determinante  [X,D] = eig(A) % Eigenvalores y eigenvectores  [Q,R] = qr(X) % Descomposición QR  [U,D,V] = svd(A) % Descomposicion a un simple valor
  • 55. Condición necesaria y suficiente para que una matriz sea invertible es que no sea singular, es decir, que su determinante sea no nulo |A| ≠ 0 <----> det(A)~=0
  • 58.  Expresiones Matemáticas elementales: >> help elfun  Expresiones Matemáticas especiales: >>help specfun  Expresiones de Matrices elementales: >>help elmat
  • 59.  Para genera números aleatorios usamos las funciones:  rand, randn, randint.  Verifique el uso de: >> rand(2) >> randn(2) >> randint(2,2,[-4 4])
  • 60.  Para genera números aleatorios usamos las funciones:  rand, randn, randint.  Verifique el uso de: >> rand(2) >> randn(2) >> randint(2,2,[-4 4])
  • 61. Se utiliza el comando sum.  Genere un matriz para probar los siguientes comandos:
  • 62.  El comando find devuelve una lista con las posiciones de los elementos de un vector que satisfacen una determinada condición. >> x = -1:.05:1; >> y = sin(3*pi*x).*exp(-x.^2); >> k = find(y > 0.2)  Verifique el contenido de k e interprételo.
  • 63.  Opera de manera muy similar en matrices: >> A = [ -2 3 4 4; 0 5 -1 6; 6 8 0 1] >> k = find(A==0)  Verifique e interprete el contenido de k.  Find en una matriz realmente primero reordena (reshape) la matriz en un vector para buscar.
  • 64.
  • 65. Los índices del reordenamiento de la matriz quedan: >> n = find(A <= 0) >> A(n)  “n” devuelve una lista de las posiciones de la matriz A que cumplen ser menores que cero, luego A(n) nos devuelve los valores de los elementos seleccionados.
  • 66. En computación, la operación modulo encuentra el residuo de la división de un numero a otro.  En Matlab:
  • 67.  Se manejan complejos automáticos: >> c=15+sqrt(-1)  Y valores “excepción” correctamente: >> a=123/0 >> b=0/0 >> Inf-Inf
  • 68. Representar el siguiente polinomio en Matlab: s3 + 2s2 + 3s + 4 >> p=[1 2 3 4]; Roots(p) < --- > Encuentra las raíces del polinomio De modo complementario, se puede calcular un polinomio a partir de sus raices usando la funcion poly: p2=poly([-1 -2]);
  • 69. Un polinomio puede ser evaluado en un punto determinado usando polyval(p,s), donde p es el polinomio y s es el punto donde va a ser evaluado. Por ejemplo: >>p2=[1 3 2]; a=[1 2; 3 4]; polyval(p2,a) Si se introduce un vector o una matriz, en lugar de un valor individual, la evaluacion se hace elemento a elemento.
  • 70. Podemos realizar cómodamente operaciones de multiplicación y división de polinomios mediante las funciones conv y deconv. >>conv([1,2],[2,0])
  • 71. La función residue, descompone el cociente de una fracción en fracciones parciales.  Teniendo un cociente de la forma:  La función es:  >>[r,p,k] = residue(b,a)
  • 72. Entrega los resultados para:  Descomponga:
  • 73.  En fracciones parciales: >> b=[1 1 1 2]; >> a=[1 0 3 0 2]; >> [r,p,k]=residue(b,a)  El resultado será:
  • 74. En fracciones parciales:  >> b=[1 1 1 2];  >> a=[1 0 3 0 2];  >> [r,p,k]=residue(b,a)  El resultado será:
  • 75. Use representación en MATLAB para resolver un sistema lineal del tipo
  • 77. Ejemplo Práctico: Circuito eléctrico Leyes de Kirchof: -V1+R1*i1+R4*i4=0 -R4*i4+R2*i2+R5*i5=0 -R5*i5+R3*i3+V2=0 i1=i2+i4 i2=i3+i5
  • 78. Ejemplo Práctico: Circuito eléctrico (R1+R4)*i1-R4*i2 =V1 -R4*i1+(R2+R4+R5)*i2-R5*i3=0 R5*i2-(R3+R5)*i3 =V2 Tenemos 3 ecuaciones y 3 incógnitas (i1,i2,i3) ¿Cuál es la corriente en cada ramal del circuito?
  • 79. La función INPUT imprime un mensaje en la ventana de comandos y devuelve el resultado de una expresión tecleada por el usuario.  INPUT espera hasta que el usuario ingrese un valor numérico o una expresión
  • 80.  Cualquier expresión válida de MATLAB es aceptada por INPUT. >> edad = input(„Ingrese la edad: ')  En el caso que sea una cadena de texto es recomendable: >> nombre = input('¿Cómo te llamas?','s')
  • 81. La función DISP imprime un mensaje en la ventana de comandos, puede ser un mensaje de texto o variables. >> disp('El programa ha terminado') >> A=rand(4,4) >> disp(A)
  • 82. Funciones para problemas de Integración numérica: quad, quad8. Solución de Ecuaciones Diferenciales. solver,ode23, ode45 y muchos otros. Solución de Ecuaciones No lineales fmin, fsolve, etc. Interpolación Spline,etc.
  • 84. Son archivos de texto (.m) que contienen comandos de MATLAB.  Para ejecutar los comandos de ese archivo se debe escribir el nombre del archivo en la ventana de comandos.  Las variables y resultados son de ámbito GLOBAL.
  • 85. Debe estar contenido en el directorio actual para poder ejecutarlo (F5 o como comando).  Los nombres de los scripts deben seguir la regla de las variables de MATLAB.  Mucho ojo con los espacios.
  • 86.  El nombre del script no debería interferir con alguna función o con una variable (error común).  Los comentarios en MATLAB se generan con el símbolo %: >> %Esto es un comentario
  • 87.
  • 88. Puede existir aplicaciones que requieran a los mismos datos frecuentemente  A=[2,4;7,9]
  • 89.
  • 90. Son “user-defined” a diferencia de las “built- in”, también escritas en .m.  Las buit-in también son llamadas funciones de llamada.  Las user-defined son llamadas funciones de definición.  SIEMPRE reciben parámetros para realizar los cálculos.
  • 91. Los comandos dentro de las funciones operan sobre los parámetros.  Las variables y resultados son de ámbito LOCAL.  Los .m de funciones deben encontrarse en el directorio actual para poder ser llamadas.
  • 92. Luego de ser creadas y siempre que estemos en el directorio actual donde esta contenido el .m de la función de definición, entonces la función se convertirá en de llamada.  También se puede agregar funciones de definición a MATLAB.
  • 93. El nombre de la función no DEBERIA interferir con alguno de una “buit-in”, ni de otra variable (error común).  El nombre del archivo .m conteniendo a la definición de la función DEBE ser igual al nombre de la función.
  • 94. La primera línea del archivo debe tener el formato:  Luego de esta línea se puede documentar la función usando comentarios.
  • 95. Cuerpo de la Función: function [out1,out2,...] = nombre_fichero (in1,in2,...) % Comentarios adicionales para el help comandos de MATLAB return;
  • 96.
  • 97.  Sabiendo que la resistencia equivalente de 3 resistencias conectadas en serie es: rT= r1 + r2 + r3 Y que si dichas resistencias se conectan en paralelo, entonces su resistencia equivalente es: 1/rT = 1/r1 + 1/r2 + 1/r3 Escribir una función tal que dadas 3 resistencias calcule su resistencia equivalente conectadas en paralelo y en serie.
  • 98. Escriba una función que convierta la temperatura en grados Fahrenheit (ºF) a grados centígrados (ºC): Use la función input y fprintf mostrando una mezcla de texto y números. Recuerde que la formula de conversión es C = 5/9 * (F-32).
  • 99. Escriba una función en Matlab, con 2 entradas y 2 salidas que determine la altura en centímetros y masa en kilogramos de una persona de altura en pulgadas y peso en libras.  Determine en unidades de SI la altura y peso de una persona de 5 ft.15 in que pesa 180 lb.
  • 100.
  • 102.
  • 103. >>tipo= class(x)  Nos devuelve el tipo de dato de “x”.  También existen comandos que nos dan información lógica sobre cada tipo:  isinteger(x), isfloat(x), ischar(x), islogical(x), iscell(x), isstruct(x).  isempty(x), isnan(x), isinf(x).
  • 104. El tipo de Dato entero corresponde:  El tipo de Dato float corresponde:
  • 105. Para convertir se usa el nombre del tipo a generar como si fuera función:  >> a = 522.08  >> int8(a)  >> int16(a)  Verifique el redondeo.
  • 106. round: redondea al entero mas proximo.  floor: redondea a –inf.  ceil: redondea a +inf.  fix: redondea hacia cero.
  • 107. >> x = pi*(-1:3), round(x)  >> fix(x)  >> floor(x)  >> ceil(x)  >> sign(x), rem(x,3)
  • 108. MATLAB maneja el tipo Carácter.  Una cadena es un vector de caracteres.  Un Texto es una matriz de caracteres.  >> t1 = 'A'  Asigna el valor de „A‟ al arreglo de carácter 1x1 t1.
  • 109. >> t2 = 'BCDE'  Asigna el valor BCDE al arreglo de caracteres 1x4 t2.  Las cadenas creadas se pueden tomar como arreglos regulares y manipularlos.  >> t3 = [t1,t2]
  • 110. El direccionamiento funciona como en vectores:
  • 111. Asigne:  >> t4 = [t3,' are the first 5 ';...  'characters in the alphabet.']  Asigna el valor:  'ABCDE are the first 5 '  'characters in the alphabet.'
  • 112.  Asigne: >> t4 = [t3,' are the first 5 „,... 'characters in the alphabet.']  Asigna el valor:  'ABCDE are the first 5 '  'characters in the alphabet.'
  • 113. Al arreglo de 2x27 t4, es NECESARIO que ambas filas del arreglo tengan el mismo numero de caracteres (elementos), eso es una regla general de arreglos en MATLAB.  Los … significan que el comando continua en la línea siguiente.
  • 114. Todo carácter tiene un equivalente en valor numérico.  str2num convierte una cadena a su correspondiente representación numérica.  int2str y num2str convierte respectivamente un entero y un numero real a su correspondiente cadena de caracteres.
  • 115.  Deseamos generar la cadena: „El valor de pi es 3.1416'.  [„El valor de pi es ',num2str(pi)].  Otro ejemplo: >> N = 5; h = 1/N; >> ['The value of N is ',int2str(N),... ', h = ',num2str(h)]
  • 116. El operador == realiza comparaciones entre vectores (elemento a elemento)
  • 117.
  • 118.
  • 120. “Una imagen vale mas que mil palabras”.  Es más fácil identificar patrones en una grafica que en una tabla con números.  Ingenieros frecuentemente usan gráficas para comunicar sus ideas a otros de una mejor manera.  Graficar, tiene sus reglas que un ingeniero debe seguir para presentar conclusiones correctas acerca de los datos presentados
  • 121.
  • 122. 1. Cada eje debe ser etiquetado con la cantidad graficadas y las unidades. 2. Usar espaciado adecuado. No muy disperso, no muy denso. 3. Si se grafican 2 curvas, cada una debe tener una leyenda que lo identifique. 4. Si se van a usar múltiples graficas, use un titulo para cada una. 5. Si esta graficando cada medida de datos, diferencia cada uno con un símbolo como circulo, punto, triangulo.
  • 123. 6. Algunas veces, los símbolos están unidos por líneas que ayudan a visualizar los datos, especialmente si hay pocos puntos. Para hacer esto, es necesario tener conocimiento de que sucede entre cada punto. 7. Si está graficando puntos generados por la evaluación de una función, no use un símbolo para graficar los puntos. Use líneas continuas.
  • 124. 6. Algunas veces, los símbolos están unidos por líneas que ayudan a visualizar los datos, especialmente si hay pocos puntos. Para hacer esto, es necesario tener conocimiento de que sucede entre cada punto. 7. Si está graficando puntos generados por la evaluación de una función, no use un símbolo para graficar los puntos. Use líneas continuas.
  • 125. La forma basica en Matlab para realizar una grafica XY es plot(x,y).  Si x y y son vectores, una curva es graficada con los valores de x en la abscisa y y en la ordenadas. x=[0:0.1:52]; y=0.4.*sqrt(1.8*x); plot(x,y); xlabel(„Distancia (Km)‟); ylabel(„Altura(Km)‟); title(„‟Altura del cohete en función de su distancia al suelo);
  • 126.
  • 127.
  • 128.  Otra forma: x=[0:0.1:52]; y=0.4.*sqrt(1.8*x); plot(x,y); xlabel('Distancia (Km)'),ylabel('Altura(Km)'),... title('Altura del cohete en función de su distancia al suelo');
  • 129. >> x = 0:pi/100:2*pi; >> y = sin(x); >> plot(x,y)
  • 130.  Para graficar y=sin(3*pi*x) para el rango [0,1] se muestrea la función a un numero suficientemente grande de puntos y luego se los une con líneas rectas.  Para tomar N+1 puntos igualmente espaciados a una distancia h: >> N = 10; h = 1/N; x = 0:h:1;
  • 131. >> y = sin(3*pi*x); >> plot(x,y)  Verifique el gráfico e identifique que el numero N es muy pequeño aun.  Cambie N=100 y verifique el resultado
  • 132. El “seno” es una función continua.  MATLAB trabaja con datos discretos.  PLOT realiza una interpolación lineal entre esos datos para graficar.  Mayor cantidad de puntos (muestras) harán que la gráfica sea prácticamente “continua”.
  • 133. Grafica líneas de guía dependiendo el correspondiente “tick label”. >>grid >>grid on >>grid off
  • 134.  Con el comando axis Matlab selecciona los limites de los ejes.  Sintaxis: axis[(xmin xmax ymin ymax)]  Notar que a diferencia de un arreglo, no se pueden usar comas.  Variantes: >>axis square >>axis equal >>axis auto
  • 135.  Con el comando axis Matlab selecciona los limites de los ejes.  Sintaxis: axis[(xmin xmax ymin ymax)]  Notar que a diferencia de un arreglo, no se pueden usar comas.  Variantes: >>axis square >>axis equal >>axis auto
  • 136.  Con el comando axis Matlab selecciona los limites de los ejes.  Sintaxis: axis[(xmin xmax ymin ymax)]  Notar que a diferencia de un arreglo, no se pueden usar comas.  Variantes: >>axis square >>axis equal >>axis auto
  • 137.
  • 138. Si y es un complejo, plot(y) grafica la parte imaginaria vs la parte real. En este caso plot(y) es z=0.1+0.9i; n=[0:0.01:10]; plot(z.^n),xlabel('Real'),ylabel('Imaginario') igual a plot(real(y),imag(y))
  • 139.
  • 140. Matlab automaticamente analiza la función que será graficada y decide cuantos puntos se usará de tal manera que se muestren todas las características de la función.  Sintaxis: >>fplot(„string‟,[xmin xmax]) „string‟: Describe la función a ser graficada. [xmin xmax] : Valores mínimo y máximo de la variable independiente.
  • 142.  Realice el ejemplo anterior con el comando plot.  Otra forma de usar fplot es la siguiente: >>[x y]= fplot('string', limites) Donde limites puede ser [xmin xmax] o [xmin xmax ymin ymax]. Retorna los valores de la abscisa y ordenada en un vector columna para x y y.
  • 143. Se puede graficar polinomios fácilmente usando la función polyval, la cual evalúa el polinomio en los valores especificados por la variable independiente. Esto es útil para no tener que escribir toda la expresión del polinomio. Ejemplo: x=[-6:0.01:6]; p=[3,2,-100,2,-7,90]; plot(x,polyval(p,x)),xlabel('x'),ylabel('p')
  • 144.
  • 145. Plot puede recibir un tercer argumento.  Tercer argumento es una cadena que recibe como primer carácter el color y segundo el estilo de línea.  plot(x,y,'style_color_marker')
  • 146.
  • 147. x = 0:pi/100:2*pi;  y = sin(x);  plot(x,y)  y2 = sin(x-.25);  y3 = sin(x-.5);  plot(x,y,x,y2,x,y3)  legend('seno(x)','seno(x-.25)','seno(x-.5)')
  • 148.
  • 149.  Cada llamado de la función PLOT es una petición para crear un nuevo “eje” (axis – ventana donde se contiene el gráfico).  Cada llamado de PLOT entonces reemplazará la gráfica anterior. >>hold on “Mantiene” el gráfico actual en el eje actual.
  • 150. Se puede llamar muchas veces a PLOT pero no se reemplazará el gráfico hasta que exista un: >>hold off Ejercicio: Realizar el ejemplo anterior usando comando hold.
  • 151.
  • 152. Realice:
  • 153. Matlab puede crear figuras que contengan un arreglo de graficas, llamadas subplots. Estas son útiles por ejemplo cuando tenemos que comparar los mismos datos pero con diferente tipo de ejes.  Divide la ventana de graficos en un arreglo mxn en donde se pueden plotear mxn gráficos.  Se enumeran de izquierda a derecha, de arriba hacia abajo.
  • 154. Sintaxis: Subplot(m,n,p) Este comando divide la ventana en un arreglo rectangular de m filas y n columnas. La variable p le dice a Matlab donde va a colocar la respectiva figura del comando plot.
  • 155.
  • 156. clf, limpia la figura actual.  close 1, cierra la ventana llamada “Figure 1”.  figure, abre una nueva ventana.  figure(9), abre una nueva ventana “Figure 9”.
  • 157. Para crear una leyenda use el comando legend. >>legend(„string1‟,‟string2‟). Este comando automáticamente obtiene de la grafica el tipo de línea usado para cada curva o datos. Ejemplo:  x=[0:0.01:2];  y=sinh(x);  z=tanh(x);  plot(x,y,x,z,'--'),xlabel('x'),...  ylabel('hiperbolico seno y tangente')  legend('sinh(x)','tanh(x)')
  • 158.
  • 159.  Otra forma de distinguir curvas es colocando una etiqueta junta a cada una.  Se utiliza el comando gtext, que permite ajustarla usando el mousse o con el comando text que requiere que se le especifique las coordenadas. >>gtext(„string‟) >>text(x,y,‟string‟)
  • 160. Ejemplo:
  • 161.
  • 162. Todas las propiedades de cada objeto del gráfico (figura, ejes, elemento gráfico,...) están guardadas en "handles“  gcf  current figure, gca current axis  get(handle) muestra todos las propiedades que se pueden cambiar.
  • 163. set(handle,'PropertyName','Value',...) cambia propiedades.  Para personalizar el eje x sin dependencia del vector:  set(gca,'Xtick',[1 2 3 4 5 6]);  set(gca,'XtickLabel',['ene';'feb';'mar';'abr';'may' ;'jun']);
  • 164.
  • 165. >>x=[1 3 5 9 1 1 6 8 2 3 6 1 2 9 3 4 9 8]; >>hist(x) >>figure >>bar(x)  Interprete los resultados.
  • 166.
  • 167.
  • 168. La función polyfit(x,y,n) de Matlab calcula la aproximación lineal por mínimos cuadrados de un conjunto de puntos dados en los vectores x e y. La aproximación lineal se logra haciendo n=1.
  • 169. Ejemplo: x = [0.1, 0.4, 0.5, 0.7, 0.7, 0.9]; y = [0.61, 0.92, 0.99, 1.52, 1.47, 2.03]; c = polyfit(x,y,1) c1 = x(1):0.1:x(length(x)) c2 = polyval(c,c1) plot(c1,c2);hold on plot(x,y,'x') axis([0,1,0,2.1]) xlabel('x') ylabel('y„)
  • 170. x = [0.1, 0.4, 0.5, 0.7, 0.7, 0.9];  y = [0.61, 0.92, 0.99, 1.52, 1.47, 2.03];  c = polyfit(x,y,1)  a = input('escriba el valor de c1 : ')  b = input('Escriba el valor de c2 : ')  g = a.*x + b  plot(x,g,'xg',x,g,'m')  axis([0,1,0,2.1])  xlabel('x')  ylabel('y')  text(0.35,1.8, 'g(x) = a*x + b ')
  • 171. La temperatura del café en una taza de porcelana a la temperatura del cuarto (68ºF) fue medida varias veces resultando en la tabla: Tiempo (seg) Temperatura (ºF) 0 145 620 130 2266 105 3482 90 Desarrolle un modelo de la temperatura del café como una función del tiempo y use el modelo para estimar cuanto le tomaría alcanzar la temperatura de 120ºF
  • 173. También se basa en graficar puntos:  >> t=0:pi/50:10*pi;  >> plot3(sin(t),cos(t),t)  Esta gráfica es paramétrica.  Un solo parámetro resulta en una gráfica de linea. Se extiende la etiqueta zlabel(„texto‟)
  • 174. Se deben generar los valores a graficar, estos deben ser una matriz.  Ejemplo:  >> z = peaks(10)  >> plot(z)
  • 175. >> mesh(z) >> contour(z,10) >> surf(z) Se puede cambiar “la vista” desde la ventana de comandos: >> view(0,0) >> view(90,0)
  • 176. Una superficie también se define matemáticamente con una función f(x,y).  Para cada valor de (x,y) se calcula “la altura” de la función: z = f(x,y).  Para graficar esto debemos definir un rango de “x” y de “y” para el gráfico.
  • 177. Definiendo el dominio:  x = 2:0.5:4; y = 1:0.5:3;  Definido el dominio debemos definir la “grilla” de valores que servirán de los puntos (x,y) para graficar.  Esto es como relacionar “x” y “y”.
  • 178. >> [X,Y] = meshgrid(2:.5:4, 1:.5:3); >> X  Si tomamos el i-esimo punto desde la izquierda y el j-esimo punto desde debajo de la grilla como el correspondiente (i,j) entrada en una matriz, entonces (X(i,j),Y(i,j)) serían las coordenadas de ese punto.
  • 179. Grafique la siguiente función: >> [X,Y] = meshgrid(2:.2:4, 1:.2:3); >> Z = (X-3).^2-(Y-2).^2; >> mesh(X,Y,Z) >> title(„Silla'), xlabel('x'),ylabel('y')
  • 180. Grafique la siguiente superficie:  Encuentre los valores máximos de la función.
  • 181. >> [X,Y] = meshgrid(-2:.1:2,-2:.2:2); >> f = -X.*Y.*exp(-2*(X.^2+Y.^2)); >> figure (1) >> mesh(X,Y,f), xlabel('x'), ylabel('y'), grid >> figure (2), contour(X,Y,f) >> xlabel('x'), ylabel('y'), grid, hold on
  • 182. Para encontrar los máximos:  >> fmax = max(max(f))  >> kmax = find(f==fmax)  >> Pos = [X(kmax), Y(kmax)]  >> plot(X(kmax),Y(kmax),'*')  >> text(X(kmax),Y(kmax),' Maximo')
  • 184.
  • 186. Operadores Lógicos.  Realizar funciones cuyas acciones dependan del resultado de otras operaciones.  Repetir cálculos un número especifico de veces o hasta que una condición se satisfaga.
  • 187. Operador Relacional Significado < Menor que <= Menor o igual a > Mayor que >= Mayor o igual a == Igual a ~= No igual a
  • 188. Operador Nombre Definición ~ NOT ~A retorna 1‟s cuando sea 0 y 0‟s cuando sea 1 & AND A&B: retorna 1‟s cuando A y B no son cero y retorna cero cuando A y B no son cero. | OR A|B retorna 1‟s cuando al menos un elemento de A o B sea 1. Caso contrario retorna 0. Xor(A,B) Exclusive OR Xor(A,B) retorna 1 cuando los elementos de A o B son diferentes de 0. Caso contrario retorna 0.
  • 189. 1. Paréntesis. 2. Operadores aritméticos y NOT. Evaluados de izquierda a derecha. 3. Operadores Relacionales, evaluados de izquierda a derecha. 4. Operadores Lógicos, evaluados de izquierda a derecha.
  • 190. La declaracion condicional en Matlab nos permite escribir programas que tomen decisiones.  Contienen uno o mas declaraciones of, else y elseif.  La declaración end determina el fin de una declaración condicional.
  • 191. if expresiones lógicas Declaraciones end Evalúa una condición lógica y si dicha expresión evalúa un resultado POSITIVO (1) entonces “selecciona” ejecutar un grupo de instrucciones, sino evalúa otro grupo o sale de la condición.
  • 192. if expr1 comandos_matlab elseif expr2 otro_comandos_matlab ... else otros_comandos_matlab end
  • 193. t = rand(1) if t >0.5 disp(“valor es mayor que 0.5”) elseif t <0.25 disp(“valor es menor que 0.25”) else disp(“valor está entre 0.25 y 0.5”)  nd
  • 194. El uso de lazos es o debería ser MUY LIMITADO en MATLAB por el uso del operador :  Los lazos son grandes consumidores de tiempo.  Tareas de optimización regularmente se encargan de evitar los lazos.
  • 195. Se recomienda para: Repetir la ejecución de comandos por un número definido de veces.  for variable = expresión  comandos_matlab  end  “expresión” debe definir el número de veces que se ejecutan los comandos, variable controla ese numero de repeticiones.
  • 196.  Imprimir el cuadrado de los 5 primeros números naturales: for i=[1, 2, 3, 4, 5] disp(i^2) end  Otra forma de usar el for:  “for i=1:5”
  • 197.  Imprimir el cuadrado de los números decimales de una cifra decimal de 0 a 1, en forma decreciente, es decir empezando por 1, 0.9, 0.8, ... 0.1, 0: for i=1:-0.1:0 disp(i^2) end
  • 198. Uso de Matriz para asignar valores matriz = [ 1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4] for x = matriz x end
  • 199. Creación de subplots usando FOR. >> x = -1:0.05:1; >> for n = 1:8 >> subplot(4,2,n), plot(x,sin(n*pi*x)) >> end
  • 200. El comando find es otro ejemplo de un lazo implicito. La declaración y=find(x>0) es equivalente a: x=[0:20]; j=0; for i=1:length(x) if x(i)>5 j=j+1; y(j)=i; end end
  • 201.  Se usa regularmente cuando no se conoce en primera instancia cuantas repeticiones se deben ejecutar.  Las repeticiones dependerán de la expresión condicional que se evalúa.  MIENTRAS se cumpla sigue la repetición. while expresión comandos_matlab end
  • 202. Imprimir el valor de x, mientras este sea positivo, decrementando cada vez x en 17: x = 100 while x >0 disp(x) x = x - 17; end
  • 203. Alternativa a if, elseif y else. switch expresion de entrada(escalar o string) case valor1 declaraciones1 case valor2 declaraciones2 … otherwise declaracionesn end
  • 204. Alternativa a if, elseif y else. switch expresion de entrada(escalar o string) case valor1 declaraciones1 case valor2 declaraciones2 … otherwise declaracionesn end
  • 205. Break: Para romper un lazo.  Continue: Puede ser usado para salir de un lazo for y pasar inmediatamente a la siguiente iteración del lazo, saltando las declaraciones que falten.  Return: Para salir y retornar los valores actuales en la función
  • 207. Matrices de mas de dos dimensiones.  El tercer subindice representa la tercera dimensión: “La profundidad de la hipermatriz”.
  • 208. Se muestra a continuación cómo organizar las matrices x1 y x2 de 3x3 en dos páginas, o sea en un arreglo x de 3x3x2. (La variable x debe estar inicialmente vacía o no existir): x1=[1 2 3; 4 5 6; 7 8 9] x2=[10 20 30; 40 50 60; 70 80 90]
  • 209. x(:,:,1)=x1; x(:,:,2)=x2; La información quedará organizada como se muestra en la figura:
  • 210. Creación a partir de otras matrices de dos dimensiones: A(:,:,1)=[1 2 3; 4 5 6] A(:,:,2)=[2 3 4; 5 6 7]  Las funciones comunes para uso con matrices, también pueden manejar hipermatrices.
  • 211. M=randn(2,3,2) M(:,:,1) = -0.4326 0.1253 -1.1465 -1.6656 0.2877 1.1909 M(:,:,2) = 1.1892 0.3273 -0.1867 -0.0376 0.1746 0.7258 >> A=zeros(2,3); B=ones(2,3);  Por su naturaleza la concatenación se realiza a través de funciones.
  • 212. ¿Recuerdan la función CAT? La función cat concatena arreglos. Recibe 3 parámetros el primero es la dimensión a lo largo de la cual concatenará 2 matrices pasadas como parámetros. cat(2,A,B) <--->[A,B]. cat(1,A,B) <--->[A;B]. ¿Y cat(3,A,B)?
  • 213. Tienen reglas especiales para usar funciones con ellas.  Todas las funciones de MATLAB que operan sobre escalares (sin(), cos(), etc.) se aplican sobre hipermatrices elemento a elemento (igual que sobre vectores y matrices).
  • 214. Las funciones que operan sobre vectores (sum(), max(), etc.) se aplican a matrices e hipermatrices según la primera dimensión, resultando un array de una dimensión inferior.
  • 215. Las funciones matriciales propias del Álgebra Lineal (det(), inv(), etc.) no se pueden aplicar a hipermatrices. Para poderlas aplicar hay que extraer primero las matrices correspondientes (por ejemplo, con el operador dos puntos (:)).
  • 216. reshape(x, 3, 6); Interprete los resultados.
  • 218. Permiten guardar valores de diferente tipo de dato bajo un mismo nombre.  Organizan la información, siguen un modelo de campo-valor.  El acceso a los elementos de cada una de las claves se hace con “.”
  • 219. >> punto.x=2 >> punto.y=3 >> punto.color='rojo„ >> punto  Se pueden crear también vectores de Estructuras: >> punto(2).x=4, punto(2).y=5, punto(2).color='verde'
  • 220.  Verifique el direccionamiento: >> punto(1), punto(2)  Y el direccionamiento de campos: >> campo = „x‟ >> punto.(campo)
  • 221.  Verifique el direccionamiento: >> punto(1), punto(2)  Y el direccionamiento de campos: >> campo = „x‟ >> punto.(campo)
  • 222.  Construye un arreglo donde cada elemento puede ser de un tipo diferente. >> c={12,'Red',magic(4)};  Verifique el contenido de c en el workspace  Se utilizan llaves { } en lugar de corchetes [ ] o paréntesis ( )
  • 223. >> b{1}=12; >> b{2}='Red'; >> b{3}=magic(4); La diferencia con las estructuras es que se accede a los valores utilizando un índice en lugar del nombre del campo. Trabajar con estructuras es ineficiente
  • 224. a{1,1} = 12; a{1,2} = 'Red'; a{1,3} = magic(4); a{2,1}=ones(3); a{2,2}=43; a{2,3}='texto';
  • 225. Utilizando ( ) accede a un elemento, que es tipo cell. Utilizando { } accede al valor.  Verifique los tipos con:  class(a)  class(a(1,1))  class(a{1,1})
  • 226. Interacción de Matlab con otros programas
  • 227. xlswrite(„Archivo', [12.7 5.02;-98 63.9]) d = {'Tiempo', 'Temp'; 12 98; 13 99; 14 97}; s = xlswrite(„file.xls', d, 'Temperaturas', 'E1')
  • 228. [tipo, hojas] = xlsfinfo(„file.xls„) [ndata, headertext] = xlsread(„file.xls', „Hoja‟) A = xlsread(„file.xls', 1, 'A4:B5')
  • 229. Crear un script que permita leer este archivo
  • 231. [x,map]=imread('figura.jpg');  image(x)  colormap(map)
  • 232. a = magic(4);  image(a);  map = hsv(16);  colormap(map)  colorbar
  • 233. Matlab provee 2 maneras de generar graficas animadas:  1. On the fly – Borra continuamente y redibuja el objeto en la with each redraw.  2. Frame by frame capture and playback – Graba un número de diferentes figuras y luego los reproduce como si fuiera una pelicula..
  • 234.  Animación fly: t = 0:0.01:10*pi; x = t.*sin(t); y = t.*cos(t); axislimits = [min(x) max(x) min(y) max(y) min(t) max(t)]; line_handle = plot3(x(1), y(1),t(1), 'ko', ... 'MarkerFaceColor',[.49 1 .63], 'MarkerSize',12); set(line_handle, 'erasemode','xor'); axis(axislimits); grid on for i = 2:length(x) set(line_handle, 'xdata',x(i), 'ydata', y(i), 'zdata', t(i)); drawnow; end
  • 235.  Frame by frame [x,y] = meshgrid([-10:0.5:10]); for j = 1:15 z = bessel(0, (j-1)*0.2 + sqrt(x.^2 +y.^2)); surf(x,y,z) axis([-10 10 -10 10 -.5 1]) M(j) = getframe; end frame_order = [1:15 14:-1:1]; number_repeats = 5; movie(M, [number_repeats frame_order]);
  • 236. GUI
  • 237. GUI (Graphical User Interface) es util para presentar el desarrollo final de un programa.  Adhiere usabilidad al ajuste de parámetros y visualización de un programa  La elaboración de GUI se puede realizar de dos formas:  Código a través de un script  GUIDE que es la herramienta de diseño de MatLAB.
  • 238. Ejecutar el comando guide en Matlab pàra iniciar.
  • 239. Se tiene un formulario en blanco al cual se puede agregar CONTROLES.  Se debe antes preparar un diseño de la GUI
  • 240.
  • 241.
  • 242. Se desea crear una GUI que realice un PLOT de una función determinada.  Primero se ubican los controles básicos para el programa del menu: axes, static text, edit box, button.
  • 243. Se desea crear una GUI que realice un PLOT de una función determinada.  Primero se ubican los controles básicos para el programa del menu: axes, static text, edit box, button.
  • 244.
  • 245. Axes: un espacio para dibujar.  Static text: texto que se adhiere a la pantalla y el usuario no puede editarlo  Edit box: una caja blanca que el usuario puede modificar el contenido  Button: realiza una acción cuando el usuario da click en el.
  • 246. Cuando le dan doble click a un control, muestra una ventana listando todas las propiedades de ese control (fuente, posición, tamaño, etc.).  Tag: el nombre del control en el código, es mejor renombrarlo por algo identificable.  String: el texto que va a tener en el gui si guera el caso.  ForegroundColor: color del texto.  Background color: color del control.
  • 247.
  • 248. Si presionan la flecha verde en la parte superior del editor GUI se grabara el trabajo actual y correrá el programa. La primera vez que lo corra preguntara el nombre del programa.  Probar corriendo el programa.
  • 249. Para agregar funcionalidad a la GUI se debe definir un callback para el boton para que así grafique la función cuando se presione
  • 250. Cuando se corra el programa, se crean 2 archivos:  .fig: contiene el esquema grafico de los controles.  .m: contiene el código que define la función callback para cada uno de los controles.
  • 251. Generalmente no se edita el codigo de inicializacion del .m.  Probablemente muchos callbacks de controles se quedaran en blanco.  Se puede seleccionar el control y dar click derecho para editar el Callback con la opciòn “View Callback”.
  • 252. % --- Executes on button press in PlotButton.  function PlotButton_Callback(hObject, eventdata, handles)  % hObject handle to PlotButton (see GCBO)  % eventdata reserved - to be defined in a future version of MATLAB  % handles structure with handles and user data (see GUIDATA)
  • 253. Se pueden borrar los comentarios.  Cada funcion tiene el parametro handles. Dicho parametro contiene todos los controles: handles.PlotButton, handles.edit1, etc…  Se pueden agregar variables a handles para hacerlas disponibles en todos los controles/funciones: handles.x=42;
  • 254. Se puede obtener cualquier propiedad de un control con la función GET.  Se puede cambiar el valor de cualquier propiedad con la función SET.  En este caso queremos OBTENER el String escrito en el edit box y graficarlo.
  • 255. function PlotButton_Callback(hObject, eventdata, handles)  x = -10 : 0.1 : 10;  s = get(handles.functionEdit, 'String');  y = eval(s); %eval just evaluates the given string  handles.axes1; %Subsequent commands draw on axes1.  plot(x, y);
  • 256. Cuando se modifica el código del m-file no se tiene que volver a correr la GUI (solo se ha modificado la funcionalidad).  Para correr el GUI se puede usar también desde el command window el nombre de la GUI como si fuera un script.