Sunteți pe pagina 1din 52

Induccion a MATLAB

Algebra Lineal Escuela de Matem ticas a


Facultad de Ciencias Universidad Nacional de Colombia Sede Medelln

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

1/1

Qu es MATLAB? e
MATLAB (acronimo de MATrix LABoratory, laboratorio de matrices) es un ambiente computacional numrico y es un lenguaje de programaci n. e o

Proporciona varias formas convenientes para crear y manipular vectores, matrices y arreglos multidimensionales. Permite resolver problemas que se modelan mediante matrices:
Sistemas de ecuaciones lineales (Ax = b), Factorizacion de matrices, C lculo de valores y vectores propios, a Sistemas de ecuaciones diferenciales lineales, etc.

1984 MathWorks lanzo al mercado MATLAB 1.0. 2004 MathWorks armo que MATLAB fue usado por m s de un millon de personas en a la industria y el mundo acad mico. e

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

2/1

Abriendo MATLAB
Al iniciar el programa, aparece en pantalla la siguiente ventana:

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

3/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window).

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window). Hay tres posibilidades para esta instruccion:

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window). Hay tres posibilidades para esta instruccion:

format short (muestra 5 dgitos decimales).

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window). Hay tres posibilidades para esta instruccion:

format short (muestra 5 dgitos decimales). format long (muestra 15 dgitos decimales).

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window). Hay tres posibilidades para esta instruccion:

format short (muestra 5 dgitos decimales). format long (muestra 15 dgitos decimales). format rat (muestra un cociente de enteros).

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window). Hay tres posibilidades para esta instruccion:

format short (muestra 5 dgitos decimales). format long (muestra 15 dgitos decimales). format rat (muestra un cociente de enteros).
Ejemplo. Calculemos

2 en formato corto y largo.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window). Hay tres posibilidades para esta instruccion:

format short (muestra 5 dgitos decimales). format long (muestra 15 dgitos decimales). format rat (muestra un cociente de enteros).
Ejemplo. Calculemos
>> format short >> sqrt(2)

2 en formato corto y largo.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window). Hay tres posibilidades para esta instruccion:

format short (muestra 5 dgitos decimales). format long (muestra 15 dgitos decimales). format rat (muestra un cociente de enteros).
Ejemplo. Calculemos
>> format short >> sqrt(2) ans = 1.4142

2 en formato corto y largo.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window). Hay tres posibilidades para esta instruccion:

format short (muestra 5 dgitos decimales). format long (muestra 15 dgitos decimales). format rat (muestra un cociente de enteros).
Ejemplo. Calculemos
>> format short >> sqrt(2) ans = 1.4142 >> format long >> sqrt(2)

2 en formato corto y largo.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Formatos de salida
La instruccion

format
controla el formato de salida de los valores num ricos presentados en la Ventana e de Comandos (Command Window). Hay tres posibilidades para esta instruccion:

format short (muestra 5 dgitos decimales). format long (muestra 15 dgitos decimales). format rat (muestra un cociente de enteros).
Ejemplo. Calculemos
>> format short >> sqrt(2) ans = 1.4142 >> format long >> sqrt(2) ans = 1.41421356237310

2 en formato corto y largo.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

4/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Para entrar u Rn como vector la, se digita cada componente entre corchetes, separadas por un espacio en blanco:

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Para entrar u Rn como vector la, se digita cada componente entre corchetes, separadas por un espacio en blanco:

>> u = [1 3 -8]

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Para entrar u Rn como vector la, se digita cada componente entre corchetes, separadas por un espacio en blanco:

>> u = [1 3 -8]
o bien separadas por comas:

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Para entrar u Rn como vector la, se digita cada componente entre corchetes, separadas por un espacio en blanco:

>> u = [1 3 -8]
o bien separadas por comas:

>> v = [5, 4, 7]

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Para entrar u Rn como vector la, se digita cada componente entre corchetes, separadas por un espacio en blanco:

>> u = [1 3 -8]
o bien separadas por comas:

>> v = [5, 4, 7]
Si se separan mediante punto y coma, se crea un vector columna:

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Para entrar u Rn como vector la, se digita cada componente entre corchetes, separadas por un espacio en blanco:

>> u = [1 3 -8]
o bien separadas por comas:

>> v = [5, 4, 7]
Si se separan mediante punto y coma, se crea un vector columna:

>> x = [1; 3; -8; 0; 5]

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Para entrar u Rn como vector la, se digita cada componente entre corchetes, separadas por un espacio en blanco:

>> u = [1 3 -8]
o bien separadas por comas:

>> v = [5, 4, 7]
Si se separan mediante punto y coma, se crea un vector columna:

>> x = [1; 3; -8; 0; 5]


Otra forma: ingres lo primero como la y luego transponga e

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Para entrar u Rn como vector la, se digita cada componente entre corchetes, separadas por un espacio en blanco:

>> u = [1 3 -8]
o bien separadas por comas:

>> v = [5, 4, 7]
Si se separan mediante punto y coma, se crea un vector columna:

>> x = [1; 3; -8; 0; 5]


Otra forma: ingres lo primero como la y luego transponga e

>> w = [2 7 -8 1/3 12]

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [ Alt + 93 = ] Alt + 39 =

Para entrar u Rn como vector la, se digita cada componente entre corchetes, separadas por un espacio en blanco:

>> u = [1 3 -8]
o bien separadas por comas:

>> v = [5, 4, 7]
Si se separan mediante punto y coma, se crea un vector columna:

>> x = [1; 3; -8; 0; 5]


Otra forma: ingres lo primero como la y luego transponga e

>> w = [2 7 -8 1/3 12]

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

5/1

Ingresando matrices
Entrar una matriz es tan f cil como crear un vector. a
Separamos cada la usando punto y coma (;). Todas las las deben tener el mismo numero de componentes.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

6/1

Ingresando matrices
Entrar una matriz es tan f cil como crear un vector. a
Separamos cada la usando punto y coma (;). Todas las las deben tener el mismo numero de componentes.

Ejemplo. Para entrar la matriz A de tamano 3 5 1 1 5 8 5 7 3 A = 8 7 6 3 1

0 9 0

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

6/1

Ingresando matrices
Entrar una matriz es tan f cil como crear un vector. a
Separamos cada la usando punto y coma (;). Todas las las deben tener el mismo numero de componentes.

Ejemplo. Para entrar la matriz A de tamano 3 5 1 1 5 8 5 7 3 A = 8 7 6 3 1 usamos la instruccion

0 9 0

>> A = [ 1 -1 5 8 0; 8 5 7 -3 9; 7 6 -3 1 0 ]

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

6/1

Ingresando matrices
Entrar una matriz es tan f cil como crear un vector. a
Separamos cada la usando punto y coma (;). Todas las las deben tener el mismo numero de componentes.

Ejemplo. Para entrar la matriz A de tamano 3 5 1 1 5 8 5 7 3 A = 8 7 6 3 1 usamos la instruccion

0 9 0

>> A = [ 1 -1 5 8 0; 8 5 7 -3 9; 7 6 -3 1 0 ]
que tiene como resultado: A = 1 8 7 -1 5 6 5 7 -3 8 -3 1 0 9 0

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

6/1

Operando con vectores

Instruccion

Accion

>> u + v >> c*v >> norm(v) >> v/norm(v) >> dot(u,v) >> v >> acos(c)

calcula la suma vectorial u + v. calcula el producto escalar cv. calcula la norma v de v. normaliza v. calcula el producto punto u v. genera vT . calcula cos1 (c) .

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

7/1

Operando con matrices

Instruccion

Accion

>> A + B >> c*A >> A*B >> A*x >> u*A

calcula la suma matricial A + B. calcula el producto escalar cA. calcula el producto matricial AB, donde A es m n y B es n p. calcula el producto Ax, donde x es un vector columna n 1. calcula el producto uA, donde u es un vector la 1 m.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

8/1

Matrices especiales
>> eye(n)
genera la matriz identidad In de tamano n n.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

9/1

Matrices especiales
>> eye(n) >> zeros(m,n)
genera la matriz identidad In de tamano n n. genera la matriz cero O de tamano m n.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

9/1

Matrices especiales
>> eye(n) >> zeros(m,n)
Ejemplo. >> eye(4) genera la matriz identidad In de tamano n n. genera la matriz cero O de tamano m n.

ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

>> zeros(2,5)

ans = 0 0 0 0 0 0 0 0 0 0

>> zeros(2)

ans = 0 0 0 0

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

9/1

Matrices asociadas a A
>> A
genera la transpuesta AT de A

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

10 / 1

Matrices asociadas a A
>> A >> Ak
genera la transpuesta AT de A calcula Ak , si A es una matriz cuadrada n n. Alt + 94 =

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

10 / 1

Matrices asociadas a A
>> A >> Ak >> inv(A)
genera la transpuesta AT de A calcula Ak , si A es una matriz cuadrada n n. calcula la inversa A1 de A si A es invertible Alt + 94 =

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

10 / 1

Matrices asociadas a A
>> A >> Ak >> inv(A)
genera la transpuesta AT de A calcula Ak , si A es una matriz cuadrada n n. calcula la inversa A1 de A si A es invertible Alt + 94 =

Ejemplo. >> B = [2 1 0 1; 1 1 -1 0; 2 3 -2 -1; 3 0 -1 0]

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

10 / 1

Matrices asociadas a A
>> A >> Ak >> inv(A)
genera la transpuesta AT de A calcula Ak , si A es una matriz cuadrada n n. calcula la inversa A1 de A si A es invertible Alt + 94 =

Ejemplo. >> B = [2 1 0 1; 1 1 -1 0; 2 3 -2 -1; 3 0 -1 0] >> inv(B) ans = 1/6 1/3 1/2 1/3 >> B6 ans = 711 171 207 522
Induccion a MATLAB (Algebra Lineal)

-2/3 -1/3 -2 5/3

1/6 1/3 1/2 -2/3

1/3 -1/3 0 -1/3

215 39 35 130

-109 3 35 -14

232 96 160 260


Universidad Nacional 10 / 1

Escuela de Matem ticas a

Eliminacion Gauss-Jordan
Generadas dos matrices A y B de tamano m n y m r, la instruccion

>> M = [A B]
crea la matriz aumentada [A | B] de tamano m (n + r).

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

11 / 1

Eliminacion Gauss-Jordan
Generadas dos matrices A y B de tamano m n y m r, la instruccion

>> M = [A B]
crea la matriz aumentada [A | B] de tamano m (n + r).

>> R = rref(A)

calcula la forma escalonada reducida de A.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

11 / 1

Eliminacion Gauss-Jordan
Generadas dos matrices A y B de tamano m n y m r, la instruccion

>> M = [A B]
crea la matriz aumentada [A | B] de tamano m (n + r).

>> R = rref(A)

calcula la forma escalonada reducida de A.

As, para solucionar el sistema lineal Ax = b mediante eliminaci n de Gauss-Jordan, o

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

11 / 1

Eliminacion Gauss-Jordan
Generadas dos matrices A y B de tamano m n y m r, la instruccion

>> M = [A B]
crea la matriz aumentada [A | B] de tamano m (n + r).

>> R = rref(A)

calcula la forma escalonada reducida de A.

As, para solucionar el sistema lineal Ax = b mediante eliminaci n de Gauss-Jordan, o


1. se crea la matriz aumentada M = [A | b] :

>> M = [A b]

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

11 / 1

Eliminacion Gauss-Jordan
Generadas dos matrices A y B de tamano m n y m r, la instruccion

>> M = [A B]
crea la matriz aumentada [A | B] de tamano m (n + r).

>> R = rref(A)

calcula la forma escalonada reducida de A.

As, para solucionar el sistema lineal Ax = b mediante eliminaci n de Gauss-Jordan, o


1. se crea la matriz aumentada M = [A | b] :

>> M = [A b]
2. y se lleva a su forma escalonada reducida:

U = rref(M)

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

11 / 1

Eliminacion Gauss-Jordan
Generadas dos matrices A y B de tamano m n y m r, la instruccion

>> M = [A B]
crea la matriz aumentada [A | B] de tamano m (n + r).

>> R = rref(A)

calcula la forma escalonada reducida de A.

As, para solucionar el sistema lineal Ax = b mediante eliminaci n de Gauss-Jordan, o


1. se crea la matriz aumentada M = [A | b] :

>> M = [A b]
2. y se lleva a su forma escalonada reducida:

U = rref(M)
O se aplica una unica instruccion

U = rref([A b])

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

11 / 1

Como hallar bases para los subespacios asociados a A?

Para obtener bases para el espacio la y el espacio columna de A,

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

12 / 1

Como hallar bases para los subespacios asociados a A?

Para obtener bases para el espacio la y el espacio columna de A, generamos la forma escalonada reducida de A :

>> R = rref(A)

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

12 / 1

Como hallar bases para los subespacios asociados a A?

Para obtener bases para el espacio la y el espacio columna de A, generamos la forma escalonada reducida de A :

>> R = rref(A)
Una base para ren (A) son las las no nulas de R y

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

12 / 1

Como hallar bases para los subespacios asociados a A?

Para obtener bases para el espacio la y el espacio columna de A, generamos la forma escalonada reducida de A :

>> R = rref(A)
Una base para ren (A) son las las no nulas de R y una base para col (A) las columnas de A correspondientes a los unos principales de R.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

12 / 1

Como hallar bases para los subespacios asociados a A?

Para obtener bases para el espacio la y el espacio columna de A, generamos la forma escalonada reducida de A :

>> R = rref(A)
Una base para ren (A) son las las no nulas de R y una base para col (A) las columnas de A correspondientes a los unos principales de R.

La instruccion

>> N = null(A,r )

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

12 / 1

Como hallar bases para los subespacios asociados a A?

Para obtener bases para el espacio la y el espacio columna de A, generamos la forma escalonada reducida de A :

>> R = rref(A)
Una base para ren (A) son las las no nulas de R y una base para col (A) las columnas de A correspondientes a los unos principales de R.

La instruccion

>> N = null(A,r )
genera una matriz cuyas columnas son una base para el espacio nulo nul (A) de A.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

12 / 1

Generando matrices aleatorias


En algunas ocasiones, es util generar al azar matrices cuyos valores se distribuyen uniformente en ciertos intervalos.

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

13 / 1

Generando matrices aleatorias


En algunas ocasiones, es util generar al azar matrices cuyos valores se distribuyen uniformente en ciertos intervalos. Instruccion mn : Intervalo Entradas Reales

>> rand(m,n) >> 2*rand(m,n)-1 >> k*rand(m,n) >> k*(2*rand(m,n)-1)

(0, 1) (1, 1) (0, k) (k, k)

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

13 / 1

Generando matrices aleatorias


En algunas ocasiones, es util generar al azar matrices cuyos valores se distribuyen uniformente en ciertos intervalos. Instruccion mn : Intervalo Entradas Reales

>> rand(m,n) >> 2*rand(m,n)-1 >> k*rand(m,n) >> k*(2*rand(m,n)-1)

(0, 1) (1, 1) (0, k) (k, k)

nn :

>> round(k*rand(n)) >> round(k*(2*rand(n)-1))

(0, k) (k, k)

Enteras

Induccion a MATLAB (Algebra Lineal)

Escuela de Matem ticas a

Universidad Nacional

13 / 1