Laboratorio IA Tema 1 - PowerPoint PPT Presentation

About This Presentation
Title:

Laboratorio IA Tema 1

Description:

Laboratorio IA Tema 1 Introducci n a MATLAB Como funciona cada variable se supone que es una matriz y no existe ning n requisito para el dimensionamiento y ... – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 44
Provided by: MiguelAng74
Category:
Tags: laboratorio | sine | tema

less

Transcript and Presenter's Notes

Title: Laboratorio IA Tema 1


1
Laboratorio IA Tema 1
  • Introducción a MATLAB

2
Como funciona
  • cada variable se supone que es una matriz y no
    existe ningún requisito para el dimensionamiento
    y declaración de variables. Las dimensiones de la
    matriz se definen mediante una lista explícita de
    elementos o por reglas que se aplican a las
    operacionesmatemáticas.
  • Las sentencias de MATLAB están típicamente en el
    formato general de
  • variableexpresión
  • (o simplemente expresión), entonces el
    resultado lo tiene la variable ans
  • Ejemplo
  • y 10sin(pi/6) ó 10sin(pi/6)
  • El resultado devuelto es un escalar (matriz de 1
    por 1) con un valor de 5,0.
  • Apartir de ese momento y estará diponible en el
    sistema para cualquier cálculo

3
Entorno
  • El entorno principal es la ventana de comandos,
    en ella cualquier expresión que tecleemos
    porducirá una respuesta que quedará almacenada en
    ans o en una variable.
  • Todas las variables creadas estan
  • representadas en el Workspace
  • Haciendo click se accede a un editor
  • El histórico de comandos
  • permite acceder a los comandos ,
  • bien con un click o con las flechas

4
Entorno II
  • Tecleando HELP nombre_de_comando obtendremos
    ayuda en linea, si no especificamos tema o
    comando mostrara todos los items disponibles
  • gtgt help
  • HELP topics
  • matlab\general - General purpose commands.
  • matlab\ops - Operators and special
    characters.
  • matlab\lang - Programming language
    constructs.
  • matlab\elmat - Elementary matrices and
    matrix manipulation.
  • matlab\elfun - Elementary math
    functions.
  • matlab\specfun - Specialized math
    functions.
  • matlab\matfun - Matrix functions -
    numerical linear algebra.
  • matlab\datafun - Data analysis and Fourier
    transforms.
  • matlab\polyfun - Interpolation and
    polynomials.....
  • Si no queremos que muestre la salida (util si
    hacemos varias operaciones encadenadas ?
  • A 5 B 3 AB
  • ans

5
Entorno III
  • Para continuar una línea hay que usar . . . al
    final de cada línea que se quiera continuar.
  • Los comentarios en MATLAB deben ir precedidos por
    .
  • La orden clear all borra el contenido de todas
    las variables, funciones,resulta interesante
    cuando se depuran programas.

6
Entrada/salida
7
Entorno IV
  • Guardar variables y matrices
  • diary graba tanto los comandos introducidos como
    la salida de MATLAB, pero no graba los valores de
    las variables y matrices.
  • whos elabora un lista de dichas variables, así
    como de las dimensiones de la matrices.
  • save xxx guarda las matrices y variables de
    esta lista en un archivo denominado xxx. MATLAB
    etiqueta estos archivos con una extensión .mat.

8
Funciones Matlab
  • Complex.
  • abs - Absolute value.
  • angle - Phase angle.
  • complex - Construct complex data from real and
    imaginary parts.
  • conj - Complex conjugate.
  • imag - Complex imaginary part.
  • Rounding and remainder.
  • fix - Round towards zero.
  • floor - Round towards minus infinity.
  • ceil - Round towards plus infinity.
  • round - Round towards nearest integer.
  • mod - Modulus (signed remainder after division).
  • rem - Remainder after

9
Funciones Matlab
  • Trigonometric.
  • sin - Sine.
  • cos - Cosine.
  • acos - Inverse cosine.
  • tan - Tangent.
  • atan - Inverse tangent.
  • Exponential.
  • exp - Exponential.
  • log - Natural logarithm.
  • log10 - Common (base 10) logarithm.
  • log2 - Base 2 logarithm and dissect floating

10
Matrices
  • Crear una matriz
  • A 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
  • ones(dimensiones) eye(dimensiones)
  • A 12 3
  • 4 5 6
  • Dimensiones de una matriz
  • Size (A)
  • Limpiar una matriz
  • Clear A
  • Ver variables existentes
  • Whos

11
Matrices especiales
  • diag(v) matriz diagonal con el vector v como
    diagonal.
  • toeplitz(v) matriz simétrica de diagonal
    constante con v como primera fila y primera
    columna
  • toeplitz(w, v) matriz simétrica de diagonal
    constante con w como primera columna y v como
    primera fila. (probar para ver!)
  • ones(n) genera una matriz de n n con todos los
    valores iguales a uno.
  • zeros(n) genera una matriz de n n con todos los
    valores iguales a cero.
  • eye(n) genera una matriz identidad de n n.
  • rand(n) genera una matriz de n n con elementos
    de valor aleatorio entre 0 y 1 (distribución
    uniforme).
  • randn(n) genera una matriz de n n cuyos
    elementos siguen una distribución normal (media 0
    y varianza 1).
  • ones(m, n), zeros(m, n), rand(m, n) generan
    matrices de m n.
  • ones(size(A)), zeros(size(A)), eye(size(A))
    generan matrices de la misma forma que A

12
Operadores de Matriz I
  • Sumar
  • sum(A)
  • A 5 (suma 5 a cada elemento)
  • Multiplicar
  • AA ?Estandard
  • A.A ?Elemento a elemento
  • A3 ? Cada elemento3
  • det(A) es el determinante
  • Transponer e Inversa
  • A X inv(A)
  • Diagonal
  • diag(A)
  • Acceso a los elementos
  • A(1,4) A(2,4) A(3,4) A(4,4)
  • Cambiar un valor de la matriz

13
Operadores de Matriz II
  • Intervalos
  • 110
  • Intervalos con paso
  • 100-750
  • Trigonometricos
  • 0pi/4pi
  • Submatriz
  • g a(1,), g a( , 13)

14
Utilidad del intervalo
  • Es útil considerar una expresión que se puede
    utilizar para generar un vector que describa el
    tiempo . Se considera un vector fila con valores
    numéricos del tiempo que aumentan desde 0 a 4 con
    un tamaño de paso fijo de 0,02.
  • El procedimientomás simple que generará este
    vector es una sentencia que expresa
  • t 0 0.02 4
  • El resultado es una variable matricial t con una
    fila y 201 columnas.
  • Columns 1 through 7
  • 0 0.0200 0.0400 0.0600
    0.0800 0.1000 0.1200
  • Columns 8 through 14
  • 0.1400 0.1600 0.1800

15
Ejercicio 1 Matrices
  • Considere la siguiente matriz
  • Se pide
  • a) Introducir la matriz A.
  • b) Obtener los valores de la primera columna
  • c) Obtener los valores de la segunda fila.
  • d) Obtener los valores de la segunda y la tercera
    columna.
  • e) Obtener la diagonal de A.
  • f) Obtener una matriz de 2x2 donde todos los
    elementos sean 1.
  • g) Obtener una matriz unidad de orden 2x2.
  • h) Multiplica A por su inversa. qué se obtiene?

16
Graficos y Matrices
  • En matlab un gran numero de funciones intentan
    traducir la entrada de datos a traves de una
    matriz.
  • Las funciones gráficas son un ejemplo de ello
  • plot (A)
  • Otras
  • bar

17
Graficos y Matrices
  • La ventana Gráfica contiene muchas opciones que
    permiten mejorar el aspecto del gráfico
  • Plot (A)
  • Grid on
  • Otras
  • xlabel('Sample ')
  • ylabel('Pounds')

18
Ejercicio 2
  • Crea una matriz b con una fila y valores de 2 a
    10 .
  • Suma a cada elemento el numero 2
  • Dibuja utilizando la funcion bar y pon de título
    a los ejes x e y respectivamente Eje x Eje
    y
  • Prueba las funciones
  • plot(b,'')
  • axis(0 10 0 10)
  • qué efecto tienen?

19
Ejercicio 3
  • Crea una matriz b con una fila y valores de 2 a
    10 .
  • Suma a cada elemento el numero 2
  • Dibuja utilizando la funcion bar y pon de título
    a los ejes x e y respectivamente Eje x Eje
    y
  • Prueba las funciones
  • plot(b,'')
  • axis(0 10 0 10)
  • qué efecto tienen?

20
Gráficos II
  • plot(x, y) utiliza dos vectores, x e y, de la
    misma longitud. Éste dibujará los puntos (xi, yi)
    y los unirá mediante rectas continuas.
  • Si no se le da vector x ?plot (i, y(i)).
  • Tipo y color de la línea ? tercer argumento. por
    defecto línea continua de color negro
  • Ejemplo plot(x, y,'r ')
  • dibuja r en rojo, los puntos en forma de y
    unidos por línea de puntos.
  • plot(x, y,' --')
  • hold conserva el gráfico anterior mientras se
    dibuja uno nuevo.
  • Importante si se quieren comparar gráficos

21
Ejercicio 4
  • Sabiendo que ecuación cinematica del espacio es
    s so vot 1/2at2.
  • (ojo multiplicación escalar y escalar . .)
  • 1) Crea las matrices de tiempo para calcular el
    espacio recorrido con una velocidad inicial de
    12, espacio inicial de 5 y aceleracion de 5.5
  • Representa la curva resultante con t en el eje x
    y
  • s en el eje y
  • 2) Hazlo ahora para un movimiento sin aceleración
    y representalo en la misma gráfica

22
Órdenes básicas de programación
  • for La función sin(x) calcula el seno de cada una
    de las componentes
  • del vector x. Esto se podía haber hecho también
    con un bucle del
  • tipo for ... end
  • for i1n
  • y(i) sin(x(i))
  • end
  • el uso de este tipo de bucles consume mucho
    tiempo en MATLAB.
  • se recomienda utilizarlos lo menos posible
  • El índice del bucle puede tener la forma
    ii0ipasoifinal e incluso i1,3,4,6,7,8.
  • gtgt for i1,3,5,812 i, end
  • gtgt for i110 i, end

23
Ejercicio 4_1
  • Sabiendo que la ecuación del número aureo es
  • Calcular su valor de forma iterativa

24
Órdenes básicas de programación
25
Órdenes básicas de programación
26
Órdenes básicas de programación
27
Órdenes básicas de programación
28
Órdenes básicas de programaciónEjemplo Switch
switch (metodo) case 1,2,3 disp(1,3) ca
se 4,5,6,7 disp(4-7) case 8
disp(8) otherwise disp(lt 1 o gt 8) end
29
Scripts M-Files
30
Scripts M-Files
31
Scripts M-Files
32
Globales y . escalares
33
Otros comandos importantes
  • FEVAL Evalua un funcion pasada por parametro
  • nargin, nargout número de parametros de entrada
    y salida
  • nargcheck, nargoutchk chequea número de
    parámetros
  • persistent vs global

34
Ejercicio 4
  • Sabiendo que ecuación cinematica del espacio es
    s so vot 1/2at2.
  • (ojo multiplicación escalar y escalar . .)
  • 1) Crea las matrices de tiempo para calcular el
    espacio recorrido con una velocidad inicial de
    12, espacio inicial de 5 y aceleracion de 5.5
  • Representa la curva resultante con t en el eje x
    y
  • s en el eje y
  • 2) Hazlo ahora para un movimiento sin aceleración
    y representalo en la misma gráfica

35
Ejercicio 5
  • Sabiendo que ecuación cinematica del espacio es
    s so vot 1/2att
  • (ojo multiplicación escalar .)
  • Realiza la versión programada con bucles
  • Crea ahora un fichero espacio.m que recibiendo
    velocidad inicial , espacio inicial y aceleración
    devuelva un vector espacio de 50 valores.

36
Ejercicio 5_1
37
Ejercicio 5_1salida
38
Ejercicio 6
  • Crea un vector x de 1 a 5 en intervalos de 0.5
  • y 1./(1 10(x-3).2).sin(x)
  • z 1./(1 10(x-3).2).cos(x)
  • Utiliza plot(x,y,x,z) para representar la salida.
  • Usando title Nota letras especiales \beta
    \alpha \gamma 1ˆ\omega'), xlabel ylabel legend
    grid on haz un gráfico similar a este

39
Ejercicio 7
  • Con la orden fill(x,y,color) puede rellenarse con
    color el polígono definido por los vectores x e
    y.
  • Crea una funcion de seno basado en un vector
    x uniformemente espaciado y representalo para que
    aparezca como el de la figura (color b).

40
Ejercicio 8
  • Sabiendo que una espiral se define como
  • x tcos(t) ytsin(t) (ojo multiplicación
    escalar)
  • Crea t como tlinspace(0,6pi,90)(vector con 90
    valores equidistantes)

41
Ejercicio 9
  • La ventana gráfica de MATLAB puede albergar
    varios gráficos ?subplot(m,n,k). matriz mn de
    subventanas, y realizando el dibujo en la ventana
    k, contando por filas.
  • Cree una matriz de 22 subventanas y dibuje los 4
    últimos dibujos en ellas

42
Ejercicio 10
  • Crea una espiral en tres dimensiones con el
    comando
  • plot3(x,y,z)
  • xtcos(t) ytsin(t) zt (ojo multiplicación
    escalar)

43
Superficies
  • Las órdenes de dibujo 3D más usuales son
  • contour(X,Y,Z,num) Dibuja num curvas de nivel
  • contourf(X,Y,Z,num) Dibuja y rellena num curvas
    de nivel
  • ezcontour(f,dominio) version fácil de contour
  • mesh(Z) Dibuja la función Z (ejes matriciales)
  • mesh(X,Y,Z) Dibuja la función Z (ejes
    cartesianos)
  • meshc(Z) mesh contour (ejes matriciales)
  • meshc(X,Y,Z) mesh contour (ejes cartesianos)
  • surf(Z) Dibujo sólido (ejes matriciales)
  • surf(X,Y,Z) Dibujo sólido (ejes cartesianos)
  • surfc contour surf
  • Ver Demo superficies
Write a Comment
User Comments (0)
About PowerShow.com