0% encontró este documento útil (0 votos)
26 vistas

Vecmat Programacion

Cargado por

obed
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas

Vecmat Programacion

Cargado por

obed
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 27

Definición de Matrices desde el

Teclado
• No hace falta establecer de antemano su tamaño.
• Las matrices se definen por filas.
– Los elementos de una misma fila están separados por
blancos o comas.
– Las filas están separadas por punto y coma (;).
• Ej. >>A=[1 2 3;4 5 6;7 8 9]
Definición de Matrices desde el
Teclado (II)
• Para acceder a los elementos de las matrices se
pone los índices entre paréntesis.
Ej. A(1,2)
• Las matrices se almacenan por columnas
(aunque se introduzcan por filas).
Ej. A(4)
Operaciones con Matrices
• + adición
• - sustracción
• * multiplicación Estos operadores se
• ‘ traspuesta y conjugada aplican también a
• ^ potenciación valores escalares
• \ división-izquierda
• / división-derecha
 Si se antepone un punto (.) se obtiene la operación elemento por
elemento.
Operaciones con Matrices (II).
Operador \
• El operador \ encuentra la solución al problema lineal
Ax=b.
• Si la matriz A no es cuadrada o incluso si no es cuadrada,
la solución (por lo general) es la que proporciona el
método de los mínimos cuadrados.
• En algunos casos se obtiene la solución para la cual la
suma de los valores absolutos de sus componentes sea
mínimo.
Se cumple que:
c/B=(B’\c’)’
>MATLAB sólo tiene
implementado el operador \
Tipos de Datos
• MATLAB trabaja siempre en doble precisión, es
decir guardando cada dato en 8 bytes, con unas
15 cifras decimales exactas.
eps: devuelve la diferencia entre 1.0 y el
número de coma flotante inmediatamente
superior
realmin: devuelve el número más
pequeño con que se puede trabajar
realmax: devuelve el número más grande
con que se puede trabajar
Tipos de Datos (II)
• En la entrada de datos se pueden utilizar indistintamente la i
y la j para representar la unidad imaginaria.
• Si la i o la j no están definidas como variables puede
intercalarse el signo (*)
Tipos de Matrices Predefinidos
• eye(n) matriz identidad de 4x4
• zeros(n) matriz de ceros
• ones(n) matriz de unos
• rand(n) matriz de nº aleatorios entre 0 y 1, con
distribución uniforme
• randn(n) matriz de nº aleatorios entre 0 y 1, con
distribución normal, de valor medio 0 y varianza 1
• magic(n) matriz con los nº 1,2,...,n*n, tal que sus filas y
columnas suman lo mismo
• compan(pol) matriz cuyo polinomio característico tiene
como coeficientes los elementos del vector pol
Formación de una Matriz a
partir de otra
• [m,n]=size(A) nº de filas y columnas de A
• length(A) nº de elementos de A
• A=diag(x) forma matriz diagonal A a partir de los
elementos del vector x
• x=diag(A) forma vector x a partir de los elementos de
la diagonal de A
• blkdiag(A,B) crea una matriz diagonal de submatrices a
partir de A y B
• triu(A) matriz triangular superior a partir de A
• rot90(A,k) gira en k*90º la matriz A en sentido
antihorario.
• C=[A eye(3); zeros(3) B]
Características generales de las
funciones de MATLAB
• Una función tiene nombre,valor de retorno y
argumentos.
• Una función se llama utilizando su nombre como
un comando más.
Características generales de las
funciones de MATLAB (II)
• Las funciones que no tienen argumentos no llevan
paréntesis, ej: eps.
• Los nombres de las funciones no son palabras
reservadas del lenguaje, es posible crear una
variable llamada sin o cos, que ocultan las
funciones correspondientes, para acceder a las
funciones hay que eliminar (clear) las variables
del mismo nombre.
Características generales de las
funciones de MATLAB (III)
• MATLAB tiene diversos tipos funciones, a continuación
se enumeran los tipos mas importantes, clasificadas
según su finalidad:
1. Funciones matemáticas elementales.
2. Funciones especiales.
3. Funciones matriciales elementales.
4. Funciones matriciales específicas.
5. Funciones para la descomposición y/o factorización de
matrices.
6. Funciones para análisis estadístico de datos.
7. Funciones para análisis de polinomios.
Características generales de las
funciones de MATLAB (continuación)
8. Funciones para integración de edo.
9. Resolución de ecs. No lineales y optimización.
10. Integración numérica.
11. Funciones de procesamiento de señal.
Características generales de las
funciones de MATLAB
• A continuación se enumeran algunas
características de funciones en MATLAB:
1. Los argumentos actuales de estas funciones
pueden ser expresiones y también llamadas a
otra función.
2. MATLAB nunca modifica las variables que
pasan como argumentos. Si el usuario las
modifica dentro de la función, previamente se
sacan copias de esas variables.
Equivalencia entre comandos y
funciones
Un comando de la forma,
>> comando arg1 arg2
Es equivalente a una función con el mismo nombre
que el comando a la que los argumentos se le pasan
como cadena de caracteres

>> comando(‘arg1’, ‘arg2’)


Funciones elementales que
operan de modo escalar
Algunas de las funciones más importantes son:
• sin(x) seno
• cos(x) coseno
• tan(x) tangente
• log(x) logaritmo natural
• exp(x) función exponencial
• sqrt(x) raíz cuadrada
• floor(x) valor entero más próximo hacia -
Funciones que actúan sobre
vectores
Las siguientes funciones actúan sobre vectores (no
sobre matrices ni escalares):
• [xm,im]=max máximo elemento de un vector.
devuelve el valor máximo xm y la
posición im.
• min(x) idem, pero con el mínimo.
• sum(x) suma de los elementos de un vector.
• mean(x) valor medio de los elemento de un vector
• prod(x) producto de los elementos de un vector
Funciones que actúan sobre
matrices
Se clasificarán en varios subgrupos:
1. Funciones matriciales elementales:
– B=A’ calcula la traspuesta (conjugada) de A.
– B=A.’ calcula la traspuesta (sin conjugar) de A.
– t=trace(A) devuelve la traza de una matriz cuadrada
A.
– [m,n]=size(A) devuelve el número de filas m y de
columnas n de una matriz rectangular A.
– n=size(A) tamaño de una matriz cuadrada A.
Funciones que actúan sobre
matrices (continuación)
2. Funciones matriciales especiales:
– expm(A) si A=XDX’, expm(A)=X*diag(exp(diag(
D)))*X’
– sqrtm(A) devuelve una matriz que multiplica por si
misma da la matriz A
– logm() es la función recíproca de expm(A)
– A^n está definida si A es cuadrada y n un número
real.
Funciones que actúan sobre
matrices (continuación)
3. Funciones de factorización y/o descomposición
matricial:
- Funciones basadas en la factorización triangular
(eliminación de Gauss):
• [L,U]=lu(A) descomposición de Crout (A=LU)
• B=inv(A) calcula la inversa de A
• d=det(A) devuelve el determinante d de una matriz cuadrada
A
• U=chol(A) descomposición de una matriz simétrica y
positivo-definida
Funciones que actúan sobre
matrices (continuación)
- Funciones basadas en el cálculo de valores y vectores
propios:
• [X,D]=eig(A) valores propios (diagonal de D) y vectores propios
(columnas de X) de una matriz cuadrada A
• [X,D]=eig(A,B) valores propios (diagonal de D) y vectores propios
(columnas de X) de dos matrices cuadradas A y B
- Funciones basadas en la descomposición QR:
• [Q,R]=qr() descomposición QR de una matriz rectangular. Se utiliza
para sistemas con mas ecuaciones que incógnitas
• B=null(A) devuelve una base ortonormal del subespacio nulo
( kernel, los x tales que Ax=0) de la matriz rectangular A
• Q=orth(A) las columnas que son una base ortonormal del espacio de
columnas de A. El número de columnas de Q es el rango de A
Funciones que actúan sobre
matrices (continuación)
- Funciones basadas en la descomposición de valor
singular:
• [U,D,V]=svd(A) descomposición de valor singular de una
matriz rectangular (A=U*D*V)
• r=rank(A) calcula el rango de una matriz rectangular A
• nor=norm(A) calcula la norma sub-2 de una matriz ( el mayor
valor singular)
Funciones que actúan sobre
matrices (continuación)
4. Cálculo del rango, normas y condición numérica
 Normas de matrices:
• norm(A) norma sub-2, máximo valor singular de A
• norm(A,2) lo mismo que el anterior
• norm(A,1) norma sub-1 de A, máxima suma de valores absolutos
por columnas
• norm(A,inf) norma sub- de A, máxima suma de valores absolutos
por filas
 Normas de vectores
• norm(x,p) norma sub-p
• norm(x) norma euclídea, equivale al módulo
• norm(x,inf) norma sub-
• norm(x,1) norma sub-1
Otras funciones que actúan sobre
vectores y matrices
Las siguientes funciones pueden actuar sobre vectores y
matrices y sirven para chequear ciertas condiciones:
• exist(var) comprueba su la variable var existe
• isfinite() chequea si los valores son infinitos
• isempty() chequea si un vector o matriz esta vacío
• ischar() chequea si una variable es una cadena de
caracteres (string)
• isglobal() cheque si una variable es global
Hipermatrices (arrays de más
dos dimensiones)
• MATLAB permite trabajar con hipermatrices, es
decir con matrices de más de dos dimensiones.
Una posible aplicación es almacenar con un único
nombre distintas matrices del mismo tamaño
(resulta una hipermatriz de 3 dimensiones). Los
elementos de una hipermatriz pueden ser
números, caracteres, estructuras y vectores o
matrices de celdas.
Hipermatrices (arrays de más
dos dimensiones)
Definición de hipermatrices
Las funciones para trabajar con
hipermatrices están en el sub-
directorio toolbox\matlab\datatypes.
Las funciones que operan con matrices
de más de dos dimensiones son
análogas a las funciones vistas
previamente, aunque con alguna
diferencias. Por ejemplo, las siguientes
sentencias generan, en dos pasos, una
matriz de 2x3x2
Hipermatrices (arrays de más
dos dimensiones)
Funciones que trabajan con
hipermatrices
Algunas funciones de MATLAB
para generar matrices admiten
más de dos subíndices y pueden
ser utilizadas para generar
hipermatrices. Entre ellas están
rand(), randn(), zeros() y ones().
Por ejemplo, véase la siguiente
sentencia y su resultado:
Hipermatrices (arrays de más
dos dimensiones)
La función cat() permite
concatenar matrices según
las distintas “dimensiones”,
como puede verse en el
siguiente ejemplo

También podría gustarte