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
Introducción a MATLAB• Ventana de comandos: es la ventana principal en la cual el
usuario se comunica con el interpretador 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
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
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 ← ↑ → ↓
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[ ]
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
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 * A1 ; A1 es la matriz inversa de A, y debe ser n x n/
Operadores aritméticos
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
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
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
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
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
Operadores relacionales
• Símbolos relacionales para desigualdades– < menor que– > mayor que– <= menor o igual que– >= mayor o igual que– == igual a– ~= diferente a
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
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
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
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
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 55
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
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
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
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)
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
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
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
Programas
Estas instrucciones permiten hacer ciclos que se repiten indefinidamente hasta que alguna condición impuesta deja de cumplirsewhile condición instruccionesend
while, end
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, ztransform, 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
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