Вы находитесь на странице: 1из 10

FUNCIONES USADAS EN EL COMPARADOR DE IMAGENES

COR:
Correlacin lineal o de rango
SINTAXIS
RHO = corr (X)
RHO = corr (X, Y)
[RHO, OVAL] = corr (X, Y)
[RHO, OVAL] = corr (X, Y, 'nombre', valor)
DESCRIPCIN:
RHO = corr (X) devuelve una matriz p-by-p que contiene el coeficiente de
correlacin lineal por parejas entre cada par de columnas en la matriz n-byp X.
RHO = corr (X, Y) devuelve una matriz p1 por p2 que contiene el coeficiente
de correlacin pairwise entre cada par de columnas en las matrices n-by-p1
y n-by-p2 X e Y.
La diferencia entre corr (X, Y) y la funcin MATLAB corrcoef (X, Y) es que
corrcoef (X, Y) devuelve una matriz de coeficientes de correlacin para los
dos vectores de columna X e Y. Si X e Y no son columnas Vectores, corrcoef
(X, Y) los convierte en vectores columna.
[RHO, PVAL] = corr (X, Y) tambin devuelve PVAL, una matriz de p-valores
para probar la hiptesis de no correlacin con la alternativa de que existe
una correlacin no nula. Cada elemento de PVAL es el valor de p para el
elemento correspondiente de RHO. Si PVAL (i, j) es pequeo, digamos menos
de 0.05, entonces la correlacin RHO (i, j) es significativamente diferente de
cero.
[RHO, PVAL] = corr (X, Y, 'nombre', valor) especifica uno o ms pares de
nombres / valores opcionales. Especifique el nombre entre comillas simples.
La tabla siguiente enumera parmetros vlidos y sus valores.

Parmetro
tipo

Valores
'Pearson'
(el
predeterminado)
ordenador
Coeficiente de correlacin lineal de Pearson
'Kendall' calcula el tau de Kendall
'Spearman' calcula el rho de Spearman

filas

cola
- La hiptesis alternativa
contra la cual calcular
valores p para probar la
hiptesis
de
no
correlacin

'All' (el valor predeterminado) utiliza todas las filas


independientemente de los valores faltantes (NaNs)
'Complete' usa slo filas sin valores faltantes
'Pairwise' computer RHO (i, j) utilizando filas sin
valores faltantes en la columna i o j

'Ambos' - La correlacin no es cero (el valor


predeterminado)
'Derecha' - La correlacin es mayor que cero
'Left' - La correlacin es menor que cero

El uso de la opcin 'pairwise' para el parmetro rows puede devolver una


matriz que no es definida positiva. La opcin 'complete' devuelve siempre
una matriz definida positiva, pero en general las estimaciones se basan en
menos observaciones.
Corr calcula valores de p para la correlacin de Pearson utilizando una
distribucin t de Student para una transformacin de la correlacin. Esta
correlacin es exacta cuando X e Y son normales. Corr calcula los valores de
p para el tau de Kendall y el rho de Spearman usando las distribuciones
exactas de la permutacin (para tamaos de muestra pequeos) o
aproximaciones de grandes muestras.
Corr calcula los valores de p para la prueba de dos colas duplicando el valor
ms significativo de los dos valores p de una cola.

Ejemplos:
Hallar la correlacin entre dos matrices y comparar con la correlacin entre
dos vectores columna.

Generar datos de muestra.


rng('default')
x = randn(30,4);
y = randn(30,4);
y(:,4) = sum(x,2); % introduce correlation
Calcular la correlacin entre columnas de X e Y.

[r,p] = corr(x,y)
r=
-0.1686 -0.0363 0.2278
0.3022 0.0332 -0.0866
-0.3632 -0.0987 -0.0200
-0.1365 -0.1804 0.0853

0.6901
0.2617
0.3504
0.4908

p=
0.3731
0.1045
0.0485
0.4721

0.8489
0.8619
0.6039
0.3400

0.2260
0.6491
0.9166
0.6539

0.0000
0.1624
0.0577
0.0059

Calcular la correlacin entre X e Y usando corrcoef.

[r,p] = corrcoef(x,y)
r=
1.0000
0.1252

0.1252
1.0000

p=
1.0000
0.1729

0.1729
1.0000

La funcin de MATLAB corrcoef convierte X e Y en vectores de columna antes de


calcular la correlacin entre ellos.

MEAN:
Promedio o valor medio del array
Sintaxis
M
M
M
M

=
=
=
=

mean(A)
mean(A,dim)
mean( ___ ,outtype)
mean( ___ ,nanflag)

Descripcin
M = mean( A ) devuelve la media de los elementos de A a lo largo de la primera dimensin
de matriz cuyo tamao no es igual a 1.

Si A es un vector, entonces mean(A) devuelve la media de los elementos.

Si A es una matriz, entonces mean(A) devuelve un vector fila que contiene la media
de cada columna.

Si A es una matriz multidimensional, entonces mean(A) opera a lo largo de la primera


dimensin de matriz cuyo tamao no es igual a 1, el tratamiento de los elementos como
vectores. Esta dimensin se convierte en 1 , mientras que los tamaos de todas las otras
dimensiones siguen siendo los mismos.

M = mean( A , dim ) devuelve la media a lo largo de la dimensin dim . Por


ejemplo, si A es una matriz, entonces mean(A,2) es un vector columna que
contiene la media de cada fila.

M = mean( ___ , outtype ) devuelve la media, con un tipo de datos


especificado, utilizando cualquiera de los argumentos de entrada en las
sintaxis anteriores. outtype puede ser 'default' , 'double' o 'native' .
M = mean( ___ , nanflag ) especifica si se debe incluir u omitir NaN los
valores del clculo de cualquiera de las sintaxis anteriores.
mean(A,'includenan') incluye todos los NaN valores en el clculo, mientras
que mean(A,'omitnan') Los ignora.
Ejemplos

Media de columnas de matrices


Cree una matriz y calcule la media de cada columna.

A = [011; 2 3 2; 1 ^ {3} 2; 4 2 2]
A=

011
232
132
422

M = media (A)
M=

1,7500 2,2500 1,7500

Media de filas de matriz


Cree una matriz y calcule la media de cada fila.

A = [011; 2 3 2]
A=

011
232
M = media (A, 2)
M=

0,6667
2.3333

Media de la matriz 3-D


Cree una matriz de 4 por 2 por 3 de nmeros enteros entre 1 y 10 y calcule
los valores medios a lo largo de la segunda dimensin.

A = galera ( 'IntegerData', 10, [4,2,3], 1);


M = media (A, 2)
M (:,:, 1) =

9.5000
6.5000
9.5000
6,0000

M (:,:, 2) =

1.5000
4,0000
7.5000
7.5000

M (:,:, 3) =

7.0000
2,5000
4,0000
5.5000

Argumentos de entrada
A - matriz de entrada
vector | matriz | matriz multidimensional
Matriz de entrada,
multidimensional.

especificada

como

vector,

matriz

matriz

Si A es un escalar, entonces mean(A) devuelve A .


Si A es una matriz vaca 0 por 0, entonces mean(A) devuelve NaN .
Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 |
uint32 | uint64 | logical | char | datetime | duration
dim - Dimensin de operar a lo largo de
Entero positivo escalar
Dimensin para operar a lo largo, especificado como un escalar entero
positivo. Si no se especifica ningn valor, el valor predeterminado es la
primera dimensin del array cuyo tamao no es igual a 1.
Dimensin dim indica la dimensin cuya longitud se reduce a 1. El
size(M,dim) es 1 , mientras que los tamaos de todas las otras dimensiones
siguen siendo los mismos.
Considere una matriz de entrada de dos dimensiones, A .
Si dim = 1 , entonces mean(A,1) devuelve un vector fila que contiene la
media de los elementos en cada columna.

Si dim = 2 , entonces mean(A,2) devuelve un vector columna que contiene la media


de los elementos en cada fila.

mean los rendimientos A cuando dim es mayor que ndims(A) o cuando size(A,dim) es 1 .
Tipos de
datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
outtype - tipo de datos de salida
'default' (por defecto) | 'double' | 'native'
Tipo de datos de salida, se especifica como 'default' , 'double' o 'native' . Estas opciones
tambin especifican el tipo de datos en el que se realiza la operacin.
outtype

Tipo de datos de salida

'default'

double , a menos que el tipo de datos de entrada es single , duration , o datetime ,


en cuyo caso, la salida es 'native'

'double'

double , a menos que el tipo de datos es duration o la datetime , en cuyo caso,


'double' no se admite

'native'

Mismo tipo de datos que la entrada, a


Tipo de datos de entrada es logical , en cuyo caso, la salida es double
Tipo de datos de entrada es de char , en cuyo caso, 'native' no se admite

Tipos de datos: char

nanflag - NaN condicin


'includenan' (por defecto) | 'omitnan'
NaN condicin, especificado como uno de estos valores:

'includenan' - calcular NaN valores al calcular la media, lo que resulta


en NaN .
'omitnan' - Ignorar todos NaN valores en la entrada.

Por determinar matrices, tambin se puede utilizar 'omitnat' o 'includenat'


para omitir e incluyen NaT valores, respectivamente.

MAX :
Los elementos ms grandes del aray
Sintaxis

M = max(A)

M = max(A,[],dim)

[M,I] = max( ___ )

C = max(A,B)

___ = max( ___ ,nanflag)

Descripcin
M = max( A ) devuelve los ms grandes elementos de A.

Si A es un vector, entonces max(A) devuelve el elemento ms grande


de A.

Si A es una matriz, entonces max(A) es un vector fila que contiene el


valor mximo de cada columna.

Si A es una matriz multidimensional, entonces max(A) opera a lo


largo de la primera dimensin de matriz cuyo tamao no es igual a 1,
el tratamiento de los elementos como vectores. El tamao de esta
dimensin se convierte en 1, mientras que los tamaos de todas las
otras dimensiones siguen siendo los mismos. Si A es una matriz vaca
con la primera dimensin 0, entonces max(A) devuelve una matriz
vaca con el mismo tamao que A .

M = max( A ,[], dim ) devuelve los elementos ms importantes a lo largo de


la dimensin dim . Por ejemplo, si A es una matriz, entonces max(A,[],2) es
un vector de columna que contiene el valor mximo de cada fila.
[ M , I ] = max( ___ ) encuentra los ndices de los valores mximos de A y
los devuelve en vector de salida I , utilizando cualquiera de los argumentos
de entrada en las sintaxis anteriores. Si el valor mximo se produce ms de
una vez, a continuacin, max devuelve el ndice correspondiente a la
primera aparicin.
C = max( A , B ) devuelve una matriz con los elementos ms importantes
tomadas de A o B .
___ = max( ___ , nanflag ) especifica si se debe incluir u omitir NaN valores
en el clculo de cualquiera de las sintaxis anteriores. Para el caso de
entrada nica, para especificar nanflag sin especificar dim , utilice max(A,
[],nanflag) . Por
ejemplo, max(A,[],'includenan') incluye
todos
los NaN valores en A tiempo max(A,[],'omitnan') los ignora.

Ejemplos
El elemento vectorial ms grande
Cree un vector y calcule su elemento ms grande.
A = [23 42 37 18 52];
M = mximo (A)

M=

52

FFT2:
Transformada de Fourier rpida 2-D

Sintaxis
Y=fft2(X)
Y = fft2(X,m,n)
Descripcin
Y = fft2(X) Y = fft2(X) devuelve la transformada de Fourier discreta de dos
dimensiones (DFT) de X. La DFT se calcula con un algoritmo de
transformada rpida de Fourier (FFT). El resultado, Y, es del mismo tamao
que X.
Si la dimensionalidad de X es mayor que 2, la fft2 funcin devuelve el 2-D
DFT para cada rebanada dimensional ms alto de X. Por ejemplo, si size(X)
=
[100
100
3] ,
a
continuacin, fft2 calcula
la
DFT
de X(:,:,1) , X(:,:,2) y X(:,:,3) .
Y = fft2(X,m,n) Y = fft2(X,m,n) trunca X , o pastillas de X con ceros para
crear un m -by- n matriz antes de hacer la transformacin. El resultado
es m -by- n.
Soporte de tipo de datos
fft2 soporta entradas de tipos de datos doubl y single. Si llama fft2 con la
sintaxis y = fft2(X,...), la salida y tiene el mismo tipo de datos como
entrada X.

Ms sobre

Algoritmos
fft2(X) puede ser simplemente calcula como
Fft (fft (X). ').
Este calcula el unidimensional DFT de cada columna X, a continuacin de
cada fila del resultado. El tiempo de ejecucin para fft depende de la
longitud de la transformada. Es ms rpido para potencias de dos. Es casi
tan rpido para longitudes que slo tienen factores primos
pequeos. Normalmente es varias veces ms lenta para longitudes que son
primos o que tienen grandes factores primos.