Está en la página 1de 52

a MATLAB

Induccion

Algebra
Lineal

Escuela de Matematicas
Facultad de Ciencias
Universidad Nacional de Colombia
Sede Medelln

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

1/1

Que es MATLAB?

MATLAB (acronimo
de MATrix LABoratory, laboratorio de matrices)
es un ambiente computacional numerico y es un lenguaje de programacion.

Proporciona varias formas convenientes para crear y manipular vectores, matrices


y arreglos multidimensionales.
Permite resolver problemas que se modelan mediante matrices:
I
I
I
I

Sistemas de ecuaciones lineales (Ax = b),


de matrices,
Factorizacion
Calculo de valores y vectores propios,
Sistemas de ecuaciones diferenciales lineales, etc.

1984 MathWorks lanzo al mercado MATLAB 1.0.


de personas en
2004 MathWorks afirmo que MATLAB fue usado por mas de un millon
la industria y el mundo academico.

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

2/1

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

3/1

Formatos de salida

La instruccion

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

4/1

Formatos de salida

La instruccion

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

Hay tres posibilidades para esta instruccion:

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

4/1

Formatos de salida

La instruccion

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

Hay tres posibilidades para esta instruccion:


I

format short (muestra 5 dgitos decimales).

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

4/1

Formatos de salida

La instruccion

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

Hay tres posibilidades para esta instruccion:


I
I

format short (muestra 5 dgitos decimales).


format long (muestra 15 dgitos decimales).

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

4/1

Formatos de salida

La instruccion

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

Hay tres posibilidades para esta instruccion:


I
I
I

format short (muestra 5 dgitos decimales).


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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

4/1

Formatos de salida

La instruccion

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

Hay tres posibilidades para esta instruccion:


I
I
I

format short (muestra 5 dgitos decimales).


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

Ejemplo. Calculemos

a MATLAB (Algebra
Induccion
Lineal)

2 en formato corto y largo.

Escuela de Matematicas

Universidad Nacional

4/1

Formatos de salida

La instruccion

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

Hay tres posibilidades para esta instruccion:


I
I
I

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.

>> format short


>> sqrt(2)

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

4/1

Formatos de salida

La instruccion

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

Hay tres posibilidades para esta instruccion:


I
I
I

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.

>> format short


>> sqrt(2)
ans =
1.4142

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

4/1

Formatos de salida

La instruccion

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

Hay tres posibilidades para esta instruccion:


I
I
I

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.

>> format short


>> sqrt(2)
ans =
1.4142
>> format long
>> sqrt(2)

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

4/1

Formatos de salida

La instruccion

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

Hay tres posibilidades para esta instruccion:


I
I
I

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.

>> format short


>> sqrt(2)
ans =
1.4142
>> format long
>> sqrt(2)
ans =
1.41421356237310

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

4/1

Ingresando vectores
Alt + 91 = [

a MATLAB (Algebra
Induccion
Lineal)

Alt + 93 = ]

Escuela de Matematicas

Alt + 39 =

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [

Alt + 93 = ]

Alt + 39 =

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [

Alt + 93 = ]

Alt + 39 =

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

>> u = [1 3 -8]

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [

Alt + 93 = ]

Alt + 39 =

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

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [

Alt + 93 = ]

Alt + 39 =

Para entrar u Rn como vector fila, 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]

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [

Alt + 93 = ]

Alt + 39 =

Para entrar u Rn como vector fila, 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:

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [

Alt + 93 = ]

Alt + 39 =

Para entrar u Rn como vector fila, 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]

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [

Alt + 93 = ]

Alt + 39 =

Para entrar u Rn como vector fila, 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: ingreselo primero como fila y luego transponga

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [

Alt + 93 = ]

Alt + 39 =

Para entrar u Rn como vector fila, 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: ingreselo primero como fila y luego transponga

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

5/1

Ingresando vectores
Alt + 91 = [

Alt + 93 = ]

Alt + 39 =

Para entrar u Rn como vector fila, 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: ingreselo primero como fila y luego transponga

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

5/1

Ingresando matrices
Entrar una matriz es tan facil como crear un vector.
I
I

Separamos cada fila usando punto y coma (;).

Todas las filas deben tener el mismo numero


de componentes.

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

6/1

Ingresando matrices
Entrar una matriz es tan facil como crear un vector.
I
I

Separamos cada fila usando punto y coma (;).

Todas las filas deben tener el mismo numero


de componentes.

35
Ejemplo. Para entrar la matriz A de tamano

1 1
5
8
5
7
3
A = 8
7
6
3 1

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

0
9
0

Universidad Nacional

6/1

Ingresando matrices
Entrar una matriz es tan facil como crear un vector.
I
I

Separamos cada fila usando punto y coma (;).

Todas las filas deben tener el mismo numero


de componentes.

35
Ejemplo. Para entrar la matriz A de tamano

1 1
5
8
5
7
3
A = 8
7
6
3 1

0
9
0

usamos la instruccion

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

6/1

Ingresando matrices
Entrar una matriz es tan facil como crear un vector.
I
I

Separamos cada fila usando punto y coma (;).

Todas las filas deben tener el mismo numero


de componentes.

35
Ejemplo. Para entrar la matriz A de tamano

1 1
5
8
5
7
3
A = 8
7
6
3 1

0
9
0

usamos la instruccion

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

a MATLAB (Algebra
Induccion
Lineal)

5
7
-3

8
-3
1

0
9
0

Escuela de Matematicas

Universidad Nacional

6/1

Operando con vectores

Instruccion

Accion

>> u + v
>> c*v

calcula la suma vectorial u + v.


calcula el producto escalar cv.

>> norm(v)
>> v/norm(v)

calcula la norma kvk de v.


normaliza v.

>> dot(u,v)

calcula el producto punto u v.

>> v

genera vT .

>> acos(c)

calcula cos1 (c) .

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

7/1

Operando con matrices

Instruccion

Accion

>> A + B
>> c*A

calcula la suma matricial A + B.


calcula el producto escalar cA.

>> A*B

calcula el producto matricial AB,


donde A es m n y B es n p.

>> A*x

calcula el producto Ax, donde


x es un vector columna n 1.

>> u*A

calcula el producto uA, donde


u es un vector fila 1 m.

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

8/1

Matrices especiales
>> eye(n)

a MATLAB (Algebra
Induccion
Lineal)

n n.
genera la matriz identidad In de tamano

Escuela de Matematicas

Universidad Nacional

9/1

Matrices especiales
>> eye(n)

n n.
genera la matriz identidad In de tamano

>> zeros(m,n)

m n.
genera la matriz cero O de tamano

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

9/1

Matrices especiales
>> eye(n)

n n.
genera la matriz identidad In de tamano

>> zeros(m,n)

m n.
genera la matriz cero O de tamano

Ejemplo.
>> eye(4)

>> zeros(2,5)

>> zeros(2)

a MATLAB (Algebra
Induccion
Lineal)

ans =
1
0
0
0

0
1
0
0

0
0
1
0

0
0
0
1

0
0

0
0

0
0

0
0

0
0

0
0

ans =
0
0

ans =

Escuela de Matematicas

Universidad Nacional

9/1

Matrices asociadas a A
>> A

genera la transpuesta AT de A

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

10 / 1

Matrices asociadas a A
>> A

genera la transpuesta AT de A

>> Ak

calcula Ak , si A es una matriz cuadrada n n.

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Alt + 94 =

Universidad Nacional

10 / 1

Matrices asociadas a A
>> A

genera la transpuesta AT de A

>> Ak

calcula Ak , si A es una matriz cuadrada n n.

>> inv(A)

calcula la inversa A1 de A si A es invertible

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Alt + 94 =

Universidad Nacional

10 / 1

Matrices asociadas a A
>> A

genera la transpuesta AT de A

>> Ak

calcula Ak , si A es una matriz cuadrada n n.

>> inv(A)

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]

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

10 / 1

Matrices asociadas a A
>> A

genera la transpuesta AT de A

>> Ak

calcula Ak , si A es una matriz cuadrada n n.

>> inv(A)

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)

>> B6

a MATLAB (Algebra
Induccion
Lineal)

ans =
1/6
1/3
1/2
1/3

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

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

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

711
171
207
522

215
39
35
130

-109
3
35
-14

232
96
160
260

ans =

Escuela de Matematicas

Universidad Nacional

10 / 1

Gauss-Jordan
Eliminacion
m n y m r, la instruccion

Generadas dos matrices A y B de tamano

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

11 / 1

Gauss-Jordan
Eliminacion
m n y m r, la instruccion

Generadas dos matrices A y B de tamano

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

>> R = rref(A)

a MATLAB (Algebra
Induccion
Lineal)

calcula la forma escalonada reducida de A.

Escuela de Matematicas

Universidad Nacional

11 / 1

Gauss-Jordan
Eliminacion
m n y m r, la instruccion

Generadas dos matrices A y B de tamano

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

>> R = rref(A)

calcula la forma escalonada reducida de A.

As, para solucionar el sistema lineal Ax = b mediante eliminacion de Gauss-Jordan,

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

11 / 1

Gauss-Jordan
Eliminacion
m n y m r, la instruccion

Generadas dos matrices A y B de tamano

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

>> R = rref(A)

calcula la forma escalonada reducida de A.

As, para solucionar el sistema lineal Ax = b mediante eliminacion de Gauss-Jordan,


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

>> M = [A b]

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

11 / 1

Gauss-Jordan
Eliminacion
m n y m r, la instruccion

Generadas dos matrices A y B de tamano

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

>> R = rref(A)

calcula la forma escalonada reducida de A.

As, para solucionar el sistema lineal Ax = b mediante eliminacion de Gauss-Jordan,


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

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

U = rref(M)

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

11 / 1

Gauss-Jordan
Eliminacion
m n y m r, la instruccion

Generadas dos matrices A y B de tamano

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

>> R = rref(A)

calcula la forma escalonada reducida de A.

As, para solucionar el sistema lineal Ax = b mediante eliminacion de Gauss-Jordan,


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

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

U = rref(M)
I

O se aplica una unica


instruccion

U = rref([A b])

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

11 / 1


Como
hallar bases para los subespacios asociados a A?

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

12 / 1


Como
hallar bases para los subespacios asociados a A?

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


generamos la forma escalonada reducida de A :

>> R = rref(A)

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

12 / 1


Como
hallar bases para los subespacios asociados a A?

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


generamos la forma escalonada reducida de A :

>> R = rref(A)
I

Una base para ren (A) son las filas no nulas de R y

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

12 / 1


Como
hallar bases para los subespacios asociados a A?

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


generamos la forma escalonada reducida de A :

>> R = rref(A)
I

Una base para ren (A) son las filas no nulas de R y

una base para col (A) las columnas de A correspondientes a los unos principales de R.

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

12 / 1


Como
hallar bases para los subespacios asociados a A?

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


generamos la forma escalonada reducida de A :

>> R = rref(A)
I

Una base para ren (A) son las filas 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 )

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

12 / 1


Como
hallar bases para los subespacios asociados a A?

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


generamos la forma escalonada reducida de A :

>> R = rref(A)
I

Una base para ren (A) son las filas 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.

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

12 / 1

Generando matrices aleatorias


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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

13 / 1

Generando matrices aleatorias


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

mn :

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Intervalo

Entradas

(0, 1)

Reales

(1, 1)

(0, k)

(k, k)

Universidad Nacional

13 / 1

Generando matrices aleatorias


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

mn :

Intervalo

Entradas

(0, 1)

Reales

(1, 1)

(0, k)

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

(k, k)

>> round(k*rand(n))

(0, k)

Enteras

(k, k)

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

nn :

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

a MATLAB (Algebra
Induccion
Lineal)

Escuela de Matematicas

Universidad Nacional

13 / 1

También podría gustarte