Está en la página 1de 29

INTRODUCCIÓN A LA

PROGRAMACIÓN

MATLAB

M.Sc. Junior González R.


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 =
2
Z =
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:

[] - definir input de vectores y matrices


- asignar precedencia en operaciones aritméticas
() - referir elementos de matrices
- pasar argumentos a funciones o subprogramas
= - asignar valores
‘ - indica transposición de matrices
- dentro de [ ] para separar líneas
; - separar comandos
- suprimir impresión
% - indica comentario, el texto que le sigue es ignorado
: - para indicar iteraciones o generar vectores en secuencias
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

Operadores aritméticos
- 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
- 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
-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
Introducción a MATLAB
Operadores aritméticos
- B/A es lo mismo que B * A-1 ; A-1 es la matriz inversa de A,
/ y debe ser n x n
- 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

' - A' es la transpuesta de A


Introducción a MATLAB

Operadores aritméticos de Arreglos de datos


- A .* B, es la multiplicación elemento por elemento de los
.* arreglos A y B, los cuales deben tener el mismo tamaño
- 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 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) elevados a la
.^ potencia de B(i,j). A y B deben tener el mismo tamaño, al
menos que uno sea un escalar
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 3
Y =
3 2 1
4 1 1
5 2 1
>> X.*Y
ans =
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 • Matriz inversa


>> X >> inv(X)
X = ans =
15 5 1 0.0736 -0.0640 0.0078
2 6 2 -0.0155 0.1977 -0.0543
3 2 7 -0.0271 -0.0291 0.1550
>> X'
ans =
• Determinante
15 2 3
>> det(X)
5 6 2
ans =
1 2 7
516
Operaciones con matrices
• Rango • Valores propios
>> rank(X) >> eig(X)
ans = ans =
3 16.6456
6.7869
• Norma 4.5675
>> norm(X)
ans = >> [V,D] = eig(X)
16.9936 V =
-0.9135 -0.4420 0.4022
• Matriz identidad -0.2341 0.5912 -0.8856
>> eye(3) -0.3327 0.6746 0.2321
ans = D =
1 0 0 16.6456 0 0
0 1 0 0 6.7869 0
0 0 1 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 >> hold on
>> plot(5,100,'*r')
>> x = [1:10]
x = Grafica de y en función de x
250
1 2 3 4 5
6 7 8 9 10
200
>> y = 4 - x + 2.5*x.^2
y =
150

Columns 1 through 6
y
5.5000 12.0000 23.5000 100
40.0000 61.5000 88.0000
Columns 7 through 10
50

119.5000 156.0000 197.5000


244.0000
0
1 2 3 4 5 6 7 8 9 10
>> plot(x, y, '-ob') x
Gráficos
• Comando contour, para
funciones de dos variables Curvas de nivel de la función f
5
>> [x, y] = meshgrid(-5:0.1:5); -0.1
4
>> f = -1./(1 + 2*(x - 1.5).^2 + (y…
-0.2
+ 1).^2) - 0.6./(1 + (x + 1).^2… 3
+ (y - 1.5).^2); -0.3
2
-0.4
>> contour(x,y,f,50) 1
-0.5
0

y
>> colorbar -0.6
-1
-0.7
>> title('Curvas de nivel de la -2

función f') -0.8


-3
>> xlabel('x') -0.9
-4
>> ylabel('y'))
-1
-5
-5 0 5
>> hold on x

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


Gráficos
• Comando surf, para funciones
de dos variables
>> [x, y] = meshgrid(-5:0.1:5);
Grafico 3D de la función f
>> f = -1./(1 + 2*(x - 1.5).^2 + (y…
+ 1).^2) - 0.6./(1 + (x + 1).^2… -0.1
+ (y - 1.5).^2);
0 -0.2

>> surf(x,y,f) -0.2 -0.3

-0.4
-0.4
>> colorbar -0.5
-0.6
-0.6
>> title('Grafica 3D de la función -0.8
f') -0.7
-1
-0.8
-1.2
-0.9
5
-1.4 -1
0
5
0
-5
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

Escritos (Scripts) Funciones (Functions)

No aceptan argumentos de Pueden aceptar argumentos de


entrada ni retornan argumentos de entrada y retornan argumentos de
salida salida
Operan con datos existentes en el Operan con variables internas
espacio de trabajo (locales)
Usados principalmente para Usados principalmente para crear
automatizar una serie de pasos aplicaciones
que desean desarrollar en
cualquier momento
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 Argumentos de
salida entrada
Programas
• Comandos útiles para iniciarse en la programa en MATLAB:

pause Detiene la ejecución del programa hasta que una


tecla activa sea presionada

input Recibe datos por el teclado en tiempo de ejecución

fprintf Permite que el programa escriba información en la


pantalla (datos, resultados, mensajes)
Programas

if,else, end Estor tres comandos permiten tomar decisiones y tomar


caminos alternativos durante la ejecución del programa
dependiendo del cumplimiento de una condición
if condición
instrucciones
else
instrucciones
end
for, end Estas instrucciones permiten construir ciclos o lazos
con un número de iteraciones previamente establecido
for i = 1:10
instrucciones
end
Programas

while, end Estas instrucciones permiten hacer ciclos que se


repiten indefinidamente hasta que alguna condición
impuesta deja de cumplirse
while condición
instrucciones
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

Cálculo Diferenciación, integración, limites, sumatorias,


series de Taylor
Algebra lineal Inversas, determinantes, autovalores, formas
canónicas de matrices simbólicas
Simplificación Métodos de simplificación de expresiones
matemáticas
Solución de Soluciones simbólicas y numéricas a ecuaciones
ecuaciones algebraicas y diferenciales
Transformadas Fourier, Laplace, z-transform, y las
correspondientes transformadas inversas
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

También podría gustarte