29
 Una breve introduccion a MATLAB

Una breve introduccion a MATLAB

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Una breve introduccion a MATLAB

   

Una breve introduccion a MATLAB

Page 2: Una breve introduccion a MATLAB

   

Introducción a MATLAB• MATLAB (LABoratorio de MATrices) es un sistema interactivo que 

utiliza matrices como elemento básico de datos

• Permite resolver muchos problemas numéricos sin necesidad de construir programas complejos

• Proporciona una serie de comandos que permiten escribir instrucciones en el lenguaje matemático corriente

• Permite visualizar los resultados mediante sencillas y poderosas herramientas de graficación

Page 3: Una breve introduccion a MATLAB

   

Introducción a MATLAB• Ventana de comandos: es la ventana principal en la cual el 

usuario se comunica con el interpretador MATLAB

Page 4: Una breve introduccion a MATLAB

   

Introducción a MATLAB• Espacio de trabajo (Workspace): Es el conjunto de variables que 

se mantienen en la memoria del computador durante una sesión de MATLAB

• Se pueden utilizar los comandos who y whos para ver contenido y descripción de las variables almacenadas en el espacio de trabajo

• Para eliminar las variables almacenadas en el espacio de trabajo se utiliza el comando clear all

Page 5: Una breve introduccion a MATLAB

   

Introducción a MATLAB• Símbolos: Todos los caracteres alfabéticos y numéricos y el 

símbolo de subrayado “_” son válidos para formar nombres (de constantes, variables, archivos, etc), los cuales pueden tener cualquier número de caracteres

• El sistema es sensible a minúsculas y mayúsculas, siendo obligatorio escribir los comandos en minúsculas. Los nombres pueden ser escritos en cualquier tipo de letra a discreción del usuario

Page 6: Una breve introduccion a MATLAB

   

Introducción a MATLAB• Línea de comandos: Es un conjunto de códigos MATLAB, 

separados por coma (,) o punto y coma (;) que se ejecutan secuencialmente según aparecen en la línea una vez que se pulsa la tecla ENTER

• Ejemplo

>> X = 1 + 1, Y = 2 * 2; Z = sin(pi/2)X = 2Z = 1

• Una línea de comandos puede ser editada y modificada usando las teclas de desplazamiento       ← ↑ → ↓

Page 7: Una breve introduccion a MATLAB

   

Introducción a MATLAB• Caracteres especiales: A algunos símbolos se ha asignado una 

función particular para facilitar la escritura de instrucciones, los de uso más común son los siguientes:

­ dentro de [ ] para separar líneas­ separar comandos­ suprimir impresión

;

­ indica comentario, el texto que le sigue es ignorado%

­ indica transposición de matrices‘

­ para indicar iteraciones o generar vectores en secuencias:

­ asignar valores=

­ asignar precedencia en operaciones aritméticas ­ referir elementos de matrices ­ pasar argumentos a funciones o subprogramas

( )

­ definir input de vectores y matrices[ ]

Page 8: Una breve introduccion a MATLAB

   

Introducción a MATLAB• Operadores: Ya que MATLAB está diseñado para trabajar con 

matrices, todos los operadores realizan operaciones con matrices, de modo que un escalar puede verse como una matriz 1 x 1 y un vector como una matriz de  1 x n ó de n x 1 según sea el caso

­Multiplicación de matrices, C = A * B es el producto algebraico lineal de las matrices A y B. Para matrices, el número de columnas de A debe ser igual al número de filas de B. Un escalar se puede multiplicar a una matriz de cualquier tamaño

*

­ Resta, A – B resta los elementos de A a los correspondientes de B. A y B deben tener el mismo tamaño. Un escalar se le puede restar a una matriz de cualquier tamaño

­

­ Suma, A + B suma los elementos de A a los correspondientes de B. A y B deben tener el mismo tamaño. Un escalar se le puede sumar a una matriz de cualquier tamaño

+  

Operadores aritméticos

Page 9: Una breve introduccion a MATLAB

   

Introducción a MATLAB

­ A' es la transpuesta de A'

­ A\B, se conoce como división por la izquierda, si A es cuadrada, A\B es casi igual inv(A)*B, excepto por la forma de ser calculado. ­ Si B es un vector columna de n elementos y A es n x n, entonces X = A\B es la solución al sistema AX = B por el método de eliminación de Gauss

\

­ Potencia de matrices. X^p es X elevado a la potencia de p, si p es un escalar. ­ Si p es un entero, la potencia se calcular elevando al cuadrado repetidas veces. Si el entero es negativo, se calcula primero la inversa de X­ Si X y p son matrices, MATLAB arroja un error

^

­ B/A es lo mismo que B * A­1 ; A­1 es la matriz inversa de A, y debe ser n x n/

Operadores aritméticos

Page 10: Una breve introduccion a MATLAB

   

Introducción a MATLAB

­ A .\ B, es la matriz con elementos B(i,j) / A(i,j). A y B deben tener el mismo tamaño, al menos que uno sea un escalar.\

­ A ./ B, es la matriz con elementos A(i,j) / B(i,j). A y B deben tener el mismo tamaño, al menos que uno sea un escalar./

­ A .^B, es la matriz con elementos A(i,j) elevados a la potencia de B(i,j). A y B deben tener el mismo tamaño, al menos que uno sea un escalar

.^

­ A .* B, es la multiplicación elemento por elemento de los arreglos A y B, los cuales deben tener el mismo tamaño.*

Operadores aritméticos de Arreglos de datos

Page 11: Una breve introduccion a MATLAB

   

Notación matricial

• La mayor potencialidad de MATLAB es su capacidad para manejar matrices y vectores mediante un sistema de indexación flexible, que permite realizar numerosas operaciones con comandos sencillos que no requieren procedimientos iterativos

• MATLAB trabaja fundamentalmente con un solo tipo de elemento base: matrices

• Los escalares son matrices de un elemento por un elemento y los vectores son matrices de una fila o de una columna

• Ejemplos:1. Generar un vector cuyos elementos son los número del 1 al 8

>> v = [1:8]v = 1 2 3 4 5 6 7 8

Page 12: Una breve introduccion a MATLAB

   

Notación matricial

1. Generar un vector cuyos elementos son los número del 1 al 8>> v = [1:8]v = 1 2 3 4 5 6 7 8

2. Crear un vector con una parte de v>> u = v(3:6)u = 3 4 5 6

3. Construir otro vector con elementos de u y v>> w = [v(3:5) u(2:4)]w = 3 4 5 4 5 6

Page 13: Una breve introduccion a MATLAB

   

Notación matricial

4. Producto escalar de vectores de tres elementos>> u(1:3)*v(1:3)'ans = 26

5. Producto vectorial de vectores de tres elementos>> m = u(1:3)'*v(1:3)ans = 3 6 9 4 8 12 5 10 15

6. Extraer la 2da columna de la matriz anterior>> c2 = m(:,2)c2 = 6 8 10

Page 14: Una breve introduccion a MATLAB

   

Notación matricial

7. Multiplicación elemento por elemento de dos matrices>> X = [1 0 1; 2 1 2; 3 2 3], Y = [3 2 1; 4 1 1;5 2 1]X = 1 0 1 2 1 2 3 2 3Y = 3 2 1 4 1 1 5 2 1>> X.*Yans = 3 0 1 8 1 2 15 4 3

Page 15: Una breve introduccion a MATLAB

   

Operadores relacionales

• Símbolos relacionales para desigualdades– < menor que– > mayor que– <= menor o igual que– >= mayor o igual que– == igual a– ~= diferente a

Page 16: Una breve introduccion a MATLAB

   

Operaciones con matrices

• Transpuesta de una matriz>> XX = 15 5 1 2 6 2 3 2 7>> X'ans = 15 2 3 5 6 2 1 2 7

• Matriz inversa>> inv(X)ans = 0.0736 -0.0640 0.0078 -0.0155 0.1977 -0.0543 -0.0271 -0.0291 0.1550

• Determinante>> det(X)ans = 516

Page 17: Una breve introduccion a MATLAB

   

Operaciones con matrices

• Rango>> rank(X)ans = 3

• Norma>> norm(X)ans = 16.9936

• Matriz identidad>> eye(3)ans = 1 0 0 0 1 0 0 0 1

• Valores propios>> eig(X)ans = 16.6456 6.7869 4.5675

>> [V,D] = eig(X)V = -0.9135 -0.4420 0.4022 -0.2341 0.5912 -0.8856 -0.3327 0.6746 0.2321D = 16.6456 0 0 0 6.7869 0 0 0 4.5675

Page 18: Una breve introduccion a MATLAB

   

Gráficos

• Una de las facilidades más importantes que ofrece MATLAB es la capacidad de realizar gráficas fácilmente

• MATLAB gráfica directamente la salida en una ventana separada de la ventana de comando llamada ventana de figura

• Las funciones gráficas automáticamente crean una nueva ventana de figura si no existe ninguna. Si existe una ventana de figura, MATLAB usa esta ventana

Page 19: Una breve introduccion a MATLAB

   

Gráficos

• Comando plot

>> x = [1:10]

x =

1 2 3 4 5 6 7 8 9 10

>> y = 4 - x + 2.5*x.^2

y =

Columns 1 through 6

5.5000 12.0000 23.5000 40.0000 61.5000 88.0000

Columns 7 through 10

119.5000 156.0000 197.5000 244.0000

>> plot(x, y, '-ob')

>> hold on>> plot(5,100,'*r')

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250Grafica de y en función de x

x

y

Page 20: Una breve introduccion a MATLAB

   

Gráficos

• Comando contour, para funciones de dos variables

>> [x, y] = meshgrid(-5:0.1:5);>> f = -1./(1 + 2*(x - 1.5).^2 + (y…

+ 1).^2) - 0.6./(1 + (x + 1).^2… + (y - 1.5).^2);

>> contour(x,y,f,50)

>> colorbar

>> title('Curvas de nivel de la función f')

>> xlabel('x')>> ylabel('y'))

>> hold on>> plot([-3 -1],[3 1],'o-')

x

y

Curvas de nivel de la función f

­5 0 5­5

­4

­3

­2

­1

0

1

2

3

4

5

­1

­0.9

­0.8

­0.7

­0.6

­0.5

­0.4

­0.3

­0.2

­0.1

Page 21: Una breve introduccion a MATLAB

   

Gráficos

• Comando surf, para funciones de dos variables

>> [x, y] = meshgrid(-5:0.1:5);>> f = -1./(1 + 2*(x - 1.5).^2 + (y…

+ 1).^2) - 0.6./(1 + (x + 1).^2… + (y - 1.5).^2);

>> surf(x,y,f)

>> colorbar

>> title('Grafica 3D de la función f')

­5

0

5

­50

5

­ .1 4

­ .1 2

­1

­ .0 8

­ .0 6

­ .0 4

­ .0 2

0

Grafico  D de la función f3

­1

­ .0 9

­ .0 8

­ .0 7

­ .0 6

­ .0 5

­ .0 4

­ .0 3

­ .0 2

­ .0 1

Page 22: Una breve introduccion a MATLAB

   

Programas

• Es posible combinar un lote de instrucciones que ejecuten una serie de cálculos y comparaciones para llegar a un resultado; un programa

• MATLAB permite guardar estos programas en archivos con extensión “.m”

• Estos archivos se ejecutan simplemente invocando su nombre sin la extensión, y pueden ser llamados desde otros programas a manera de rutinas o subprogramas

• Los archivos .m se puede crear usando un editor de texto cualquiera. MATLAB trae su propio editor de texto

Page 23: Una breve introduccion a MATLAB

   

Programas

• Tipos de archivos .m

Usados principalmente para crear aplicaciones

Usados principalmente para automatizar una serie de pasos que desean desarrollar en cualquier momento

Operan con variables internas (locales)

Operan con datos existentes en el espacio de trabajo

Pueden aceptar argumentos de entrada y retornan argumentos de salida

No aceptan argumentos de entrada ni retornan argumentos de salida

Funciones (Functions)Escritos (Scripts)

Page 24: Una breve introduccion a MATLAB

   

Programas

• Para declarar un archivo .m como una función es necesario escribir en la primera línea ejecutable el nombre de la función (debe ser igual al nombre del archivo), los argumentos de entrada y los argumentos de salida, según la siguiente estructura:

function […] = NombreDeLaFuncion(…)

Argumentos de salida

Argumentos de entrada

Page 25: Una breve introduccion a MATLAB

   

Programas

• Comandos útiles para iniciarse en la programa en MATLAB:

Permite que el programa escriba información en la pantalla (datos, resultados, mensajes)

fprintf

Recibe datos por el teclado en tiempo de ejecucióninput

Detiene la ejecución del programa hasta que una tecla activa sea presionada

pause

Page 26: Una breve introduccion a MATLAB

   

Programas

Estas instrucciones permiten construir ciclos o lazos con un número de iteraciones previamente establecidofor i = 1:10      instruccionesend

for, end

Estor tres comandos permiten tomar decisiones y tomar caminos alternativos durante la ejecución del programa dependiendo del cumplimiento de una condiciónif condición     instruccioneselse     instruccionesend

if,else, end

Page 27: Una breve introduccion a MATLAB

   

Programas

Estas instrucciones permiten hacer ciclos que se repiten indefinidamente hasta que alguna condición impuesta deja de cumplirsewhile condición       instruccionesend

while, end

Page 28: Una breve introduccion a MATLAB

   

Matemática simbólica en MATLAB

• MATLAB cuenta con un toolbox de matemática simbólica, que permite realizar operaciones de cálculo sin el uso de valores numéricos

Soluciones simbólicas y numéricas a ecuaciones algebraicas y diferenciales

Solución de ecuaciones

Fourier, Laplace, z­transform, y las correspondientes transformadas inversas

Transformadas

Métodos de simplificación de expresiones matemáticas

Simplificación

Inversas, determinantes, autovalores, formas canónicas de matrices simbólicas

Algebra lineal

Diferenciación, integración, limites, sumatorias, series de Taylor

Cálculo

Page 29: Una breve introduccion a MATLAB

   

Matemática simbólica en MATLAB

• Primero es necesario declarar las variables simbólicas– >> syms x y

• Luego se puede realizar operaciones y construir las funciones, por ejemplo– >> f = x^2 + 3.4*y -20

• Derivada de f con respecto a x– >> diff(f,x)– ans =– 2*x

• Integral de f entre 0 y pi– >> int(f,0,pi)– ans =– 1/3*pi^3+17/5*y*pi-20*pi