unidad i fundamentos de algebra matricial

20
Propedeutico 2008 Facultad de Ciencias 1 Unidad I Fundamentos de Algebra Matricial Parte II Dra. Ruth M. Aguilar Ponce Facultad de Ciencias Departamento de Electrónica

Upload: others

Post on 11-May-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 1

Unidad IFundamentos de Algebra Matricial

Parte II

Dra. Ruth M. Aguilar PonceFacultad de Ciencias

Departamento de Electrónica

Page 2: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 2

Nociones de Calculo Matricial

• Vector Tangente a una curva

• Gradiente de una función escalar

( ) ( ) ( )( ) ( )

⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜

∂∂

∂∂∂∂

=∂∂

=

tx

txtx

ttxtxtxtx

n

n

M

vL

r 2

1

1 ;

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

∂∂

∂∂

=∂∂

=∇nxf

xf

xf

xfxf Lv

21

Page 3: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 3

Nociones de Calculo Matricial

• Jacobiano de una función vectorial donde es de dimensión m y es de dimensión n

⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

=∂∂

m

nnn

m

m

xf

xf

xf

xf

xf

xf

xf

xf

xf

xf

K

MOMM

L

L

r

r

21

2

2

2

1

2

1

2

1

1

1

( )xf rv

fvxr

Page 4: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 4

Hessiano

• El Hessiano es el gradiente de segundo orden de una función escalar

( ) ( )( )

⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜

∂∂

∂∂∂

∂∂∂

∂∂∂

∂∂

∂∂∂

∂∂∂

∂∂∂

∂∂

=

⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

∂∂

∂∂

∂∂

=

∇∇=∇

221

22212

12121

21

2

nnn

n

n

n

xf

xxf

xxf

xxf

xf

xxf

xxf

xxf

xf

xf

xf

xf

x

xfxf

L

MOMM

L

L

Kr

rr

Page 5: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 5

Nociones de Calculo Matricial

• Derivada de una matriz

• Gradiente de una función escalar donde X es una matriz de m × n.

( )

⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

=∂

tf

tf

tf

tf

tf

tf

tf

tf

tf

ttF

mnmm

n

n

L

MOMM

L

L

21

22221

11211

( )

⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

=∂

nmnn

m

m

Xf

Xf

Xf

Xf

Xf

Xf

Xf

Xf

Xf

XXf

L

MOMM

L

L

21

22212

12111

Page 6: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 6

MATLAB

• Matlab (Matrix laboratory) es un sistema interactivo de software para computo numérico y graficación.

• Como su nombre lo sugiere, Matlab es especialmente diseñado para computo matricial.

• Además, Matlab cuenta con una gran variedad de capacidades graficas y puede ser extendido a través de programas escritos en su propio lenguaje de programación.

• Matlab cuenta con una librería de funciones para resolver problemas tales como factorización de matrices, computo de eigenvalores y eigenvectores, etc.

• Matlab esta diseñado para resolver problemas numéricos, es decir aritmética de precisión finita.

Page 7: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 7

Matlab

• En Matlab se pueden definir matrices escribiendo sus elementos entre corchetes.

• La coma separa los elementos en columnas, y el punto y coma los separa en renglones.

• Ejemplo: >> A = [1,2,3;4,5,6]; asigna estos valores a la matriz A.

⎟⎟⎠

⎞⎜⎜⎝

⎛=

654321

A

Page 8: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 8

Referencia a los elementos de una matriz

• A(i,j) hace referencia al elemento ij de la matriz A>> A(2,2)

ans = 5

• A(i,:) hace referencia a la renglón i de A>> A(1,:)

ans = 1 2 3• A(:,j) hace referencia a la columna j de A

>> A(:,2)ans = 2

5• A(r:s,k:l) hace referencia a la submatriz

>> A(1:2,1:2)ans = 1 2

4 5

⎟⎟⎠

⎞⎜⎜⎝

⎛=

654321

A

Page 9: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 9

Definición de Matrices

• Una matriz identidad de n × n se genera con>> I = eye(n);

• Una matriz nula de m × n se genera con>> A = zeros(m,n); >>A = zeros(m)

• Una matriz de m × n cuyos elementos son igual a uno se genera con>> A = ones(m,n);

• Una matriz diagonal de n × n >> A = diag([x1,x2,..,xn]);

Page 10: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 10

Definición de Matrices

• Una matriz triangular superior en base a una matriz A>> B = triu(A);

• Una matriz triangular inferior en base a una matriz A>> B = tril(A);

• Una matriz de m × n cuyos elementos son números aleatorios entre cero y uno se genera con>> A = rand(m,n);

• Una matriz de m × n cuyos elementos son números aleatorios normalmente distribuidos se genera con>> A = randn(m,n);

Page 11: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 11

Operaciones Matriciales

• Suma y resta de Matrices>> C = A+B; >> C = A-B;

• Multiplicación por un escalar>> B = c*A;

• Multiplicación de matrices>> C = A*B;

• Multiplicación elemento por elemento>> C = A.*B;

• Transpuesta de una matriz>> A = A’;

Page 12: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 12

Funciones

• Inversa >> inv(A)

• Determinante >> det(A)

• Traza >> trace(A)

• Rango >> rank(A)

• Tamaño >> size(A)

• Suma>> sum(A,dim)

Page 13: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 13

Creando archivos .m

• Archivos file.m son archivos de texto que Matlabusa para definir funciones o scripts.

• Un script es una secuencia de comandos que se usan frecuentemente y pueden ser guardados en un archivo para no ser reescritos.

• Las funciones realizan operaciones sobre los valores de entrada y regresan estos valores ya procesados

Page 14: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 14

Funciones

• En Matlab una función se define en un archivo .m que lleva el nombre de la función.

• Al inicio del archivo se debe incluir la definición de la función:– function [out1, out2] = myfunction(in1,in2)

• La función debe ser guardada en un archivo con el mismo nombre de la función myfunction.m

Page 15: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 15

Funciones

function [out1, out2] = Name(in1,in2)% Descripción de la función% parámetros de entrada% parámetros de salida% Nombre del autor% Fecha de elaboración

if nargin < 2display(‘Error: faltan parametros’)

elseout1 = in1 * in2;out2 = my_subfunction(in2+in1);

% ------------------------function out = my_subfunction(in)

Documentación Standard

Cuerpo de la función

Subfunción

Palabra reservadaParámetros de salida

Nombre de la función

Parámetros de entrada

Page 16: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 16

Ejemplos de funciones

function C = mult(A)r = rank(A);C = A * A’;

• La función mult regresa la multiplicación de A por su transpuesta

• La variable r no es visible fuera de la función

function [V,D,r]=properties(A)% Esta función encuentra los% eigenvalores, eigenvectores% y rango de A, dode A es una% matriz cuadrada[m,n]=size(A);if m!=n display(‘Error: La matriz debe ser cuadrada’);

elser = rank(A);[V,D] = eig(A);end

• % es usado para introducir comentarios.

• Para obtener todos los parámetros de salida se debe escribir [V,D,r]=properties(A)

Page 17: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 17

Diario

• El comando >>diary(‘file.txt’) registra todo lo echo en la ventana de comando de Matlab, y guardo los comandos y resultados en un archivo de texto con el nombre file.txt

• Para terminar debes escribir >> diary off

• >> diary on comienza a registrar los comandos nuevamente. Sin embargo no se guardaran al archivo hasta escribir el comando >>diary(‘file.txt’)

Page 18: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 18

Guardando tus variables

• El comando >>whos despliega todas las variables activas en en la ventana de comando de Matlab

• Para guardar todas las variable reportadas por whos, usa el comando >>save ‘file’

• Si requieres recobrar los valores de esas variables posteriormente usa el comando >>load ‘file’

Page 19: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 19

Estructuras de Control

if condition

statement1

else

statement2

end

SWITCH switch_expr

CASE case_expr,

statement,...,statement

CASE {exp1, expr2, ...}

statement,...,statement

...

OTHERWISE,

statement,...,statement

END

Page 20: Unidad I Fundamentos de Algebra Matricial

Propedeutico 2008 Facultad de Ciencias 20

Ciclos

while condition

statement_1;

...

statement_n;

end

for i=lim1:step:lim2

statement_1;

...

statement_n;

end