Está en la página 1de 26

La Universidad del Zulia

Facultad de Ingeniera
Divisin de Estudios para Graduados
Programa: Computacin Aplicada

Asignatura:
Optimizacin para Ingenieros

2. Repaso de algebra matricial usando Matlab

Prof. Luis Zerpa, M.Sc.


Email: lzerpa@ica.luz.ve

Introduccin a MATLAB

MATLAB (LABoratorio de MATrices) es un sistema interactivo que


utiliza matrices como elemento bsico de datos

Permite resolver muchos problemas numricos sin necesidad de


construir programas complejos

Proporciona una serie de comandos que permiten escribir


instrucciones en el lenguaje matemtico corriente

Permite visualizar los resultados mediante sencillas y poderosas


herramientas de graficacin

Introduccin a MATLAB

Ventana de comandos: es la ventana principal en la cual el usuario


se comunica con el interpretador MATLAB

Introduccin a MATLAB

Espacio de trabajo (Workspace): Es el conjunto de variables que


se mantienen en la memoria del computador durante una sesin de
MATLAB

Se pueden utilizar los comandos who y whos para ver contenido y


descripcin 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

Introduccin a MATLAB

Smbolos: Todos los caracteres alfabticos y numricos y el


smbolo de subrayado _ son vlidos para formar nombres (de
constantes, variables, archivos, etc), los cuales pueden tener
cualquier nmero de caracteres

El sistema es sensible a minsculas y maysculas, siendo


obligatorio escribir los comandos en minsculas. Los nombres
pueden ser escritos en cualquier tipo de letra a discrecin del
usuario

Introduccin a MATLAB
Lnea de comandos: Es un conjunto de cdigos MATLAB, separados
por coma (,) o punto y coma (;) que se ejecutan secuencialmente
segn aparecen en la lnea una vez que se pulsa la tecla ENTER
Ejemplo
>> X = 1 + 1, Y = 2 * 2; Z = sin(pi/2)
X =
2
Z =
1

Una lnea de comandos puede ser editada y modificada usando las


teclas de desplazamiento

Introduccin a MATLAB

Caracteres especiales: A algunos smbolos se ha asignado una


funcin particular para facilitar la escritura de instrucciones, los de
uso ms comn son los siguientes:
[]

- definir input de vectores y matrices

()

- asignar precedencia en operaciones aritmticas


- referir elementos de matrices
- pasar argumentos a funciones o subprogramas

- asignar valores

- indica transposicin de matrices

- dentro de [ ] para separar lneas


- separar comandos
- suprimir impresin

%
:

- indica comentario, el texto que le sigue es ignorado


- para indicar iteraciones o generar vectores en secuencias

Introduccin a MATLAB

Operadores: Ya que MATLAB est diseado 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 segn sea el caso
Operadores aritmticos

- Suma, A + B suma los elementos de A a los correspondientes de


B. A y B deben tener el mismo tamao. Un escalar se le puede
sumar a una matriz de cualquier tamao

- Resta, A B resta los elementos de A a los correspondientes de


B. A y B deben tener el mismo tamao. Un escalar se le puede
restar a una matriz de cualquier tamao

-Multiplicacin de matrices, C = A * B es el producto algebraico


lineal de las matrices A y B. Para matrices, el nmero de
columnas de A debe ser igual al nmero de filas de B. Un escalar
se puede multiplicar a una matriz de cualquier tamao

Introduccin a MATLAB
Operadores aritmticos

- 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 divisin 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 solucin al sistema AX = B por el
mtodo de eliminacin 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

Introduccin a MATLAB
Operadores aritmticos de Arreglos de datos

.*

- A .* B, es la multiplicacin elemento por elemento de los


arreglos A y B, los cuales deben tener el mismo tamao

./

- A ./ B, es la matriz con elementos A(i,j) / B(i,j). A y B deben


tener el mismo tamao, 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 tamao, 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 tamao, al
menos que uno sea un escalar

Notacin matricial
La mayor potencialidad de MATLAB es su capacidad para manejar
matrices y vectores mediante un sistema de indexacin 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 nmero del 1 al 8
>> v = [1:8]
v =
1
2

Notacin matricial
1. Generar un vector cuyos elementos son los nmero del 1 al 8
>> v = [1:8]
v =
1
2

2. Crear un vector con una parte de v


>> u = v(3:6)
u =
3
4

3. Construir otro vector con elementos de u y v


>> w = [v(3:5) u(2:4)]
w =
3
4
5
4

Notacin matricial
7. Multiplicacin 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

Operaciones con matrices

Transpuesta de una matriz

>> X
X =
15
2
3
>> X'
ans =
15
5
1

5
6
2

2
6
2

1
2
7

3
2
7

Matriz inversa

>> inv(X)
ans =
0.0736
-0.0155
-0.0271

-0.0640
0.1977
-0.0291

Determinante

>> det(X)
ans =
516

0.0078
-0.0543
0.1550

Grficos

Una de las facilidades ms importantes que ofrece MATLAB es la


capacidad de realizar grficas fcilmente

MATLAB grfica directamente la salida en una ventana separada de


la ventana de comando llamada ventana de figura

Las funciones grficas automticamente crean una nueva ventana


de figura si no existe ninguna. Si existe una ventana de figura,
MATLAB usa esta ventana

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

Comando plot
>> x = [1:10]
x =
6

Grafica de y en funcin de x

250

10

5
200

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

150

5.5000
40.0000

Columns 1 through 6
12.0000
61.5000

23.5000
88.0000

Columns 7 through 10
119.5000 156.0000
244.0000
>> plot(x, y, '-ob')

100

50

197.5000
0

10

Grficos

Comando contour, para


funciones de dos variables
5

>> [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);

>> title('Curvas de nivel de la


funcin f')
>> xlabel('x')
>> ylabel('y'))
>> hold on
>> plot([-3 -1],[3 1],'o-')

-0.1

-0.2

-0.3

-0.4

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

Curvas de nivel de la funcin f

-0.5

-0.6

-1

-0.7

-2

-0.8

-3

-0.9

-4
-5
-5

-1
0
x

Grficos

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 funcin
f')

Grafico 3D de la funcin f
-0.1
0

-0.2

-0.2

-0.3
-0.4

-0.4

-0.5

-0.6

-0.6

-0.8

-0.7

-1

-0.8

-1.2

-1.4
5

0
0

-5

-0.9
-1

Programas

Es posible combinar un lote de instrucciones que ejecuten una serie


de clculos y comparaciones para llegar a un resultado; un
programa

MATLAB permite guardar estos programas en archivos con


extensin .m

Estos archivos se ejecutan simplemente invocando su nombre sin


la extensin, 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
espacio de trabajo

Operan con variables internas


(locales)

Usados principalmente para


automatizar una serie de pasos
que desean desarrollar en
cualquier momento

Usados principalmente para crear


aplicaciones

Programas

Para declarar un archivo .m como una funcin es necesario escribir


en la primera lnea ejecutable el nombre de la funcin (debe ser
igual al nombre del archivo), los argumentos de entrada y los
argumentos de salida, segn la siguiente estructura:

function

[]

Argumentos de
salida

NombreDeLaFuncion()
Argumentos de
entrada

Programas

Comandos tiles para iniciarse en la programa en MATLAB:


pause

Detiene la ejecucin del programa hasta que una


tecla activa sea presionada

input

Recibe datos por el teclado en tiempo de ejecucin

fprintf

Permite que el programa escriba informacin en la


pantalla (datos, resultados, mensajes)

Programas
if,else, end

Estor tres comandos permiten tomar decisiones y tomar


caminos alternativos durante la ejecucin del programa
dependiendo del cumplimiento de una condicin
if condicin
instrucciones
else
instrucciones
end

for, end

Estas instrucciones permiten construir ciclos o lazos


con un nmero 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 condicin
impuesta deja de cumplirse
while condicin
instrucciones
end

Matemtica simblica en MATLAB

MATLAB cuenta con un toolbox de matemtica simblica, que


permite realizar operaciones de clculo sin el uso de valores
numricos
Clculo

Diferenciacin, integracin, limites, sumatorias,


series de Taylor

Algebra lineal

Inversas, determinantes, autovalores, formas


cannicas de matrices simblicas

Simplificacin

Mtodos de simplificacin de expresiones


matemticas

Solucin de
ecuaciones

Soluciones simblicas y numricas a ecuaciones


algebraicas y diferenciales

Transformadas

Fourier, Laplace, z-transform, y las


correspondientes transformadas inversas

Matemtica simblica en MATLAB

Primero es necesario declarar las variables simblicas


>> 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