Matlab - comparacion de vectores

   
Vista:

comparacion de vectores

Publicado por Dario (3 intervenciones) el 11/10/2011 04:42:34
Hola a Todos..!
estimados, necesito comparar una gran cantidad de vectores. He logrado realizar el programa que responde si A y B son iguales o no. Pero lo ideal seria comparar A y B con una diferencia porcentual. Es decir A es similar a B con 10% o 5% de diferencia. Alguien me podria ayudar indicando el programa para que responda esta pregunta?. Gracias a todos. Dario.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

comparacion de vectores

Publicado por Virgi (14 intervenciones) el 12/10/2011 19:12:22
Hola! no sé si tengo claro lo que preguntas, pero se me ocurre que puedes hacer un bucle en el que vas comparando elemento a elemento los dos vectores y a la vez llevas un par de contadores, uno para que aumente cuando ambos elementos sean iguales (por ejemplo, "iguales"), y otro que aumente cada vez que realiza una comparación (por ejemplo, "n") y después calcular el tanto por cierto.
Si comparasemos dos vectores de 8 elementos:

n ---- 100
iguales ----- x

es decir: x=(iguales*100)/n

espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

comparacion de vectores

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3431 intervenciones) el 12/10/2011 23:33:50
Hola Dario.

%=======================================
clear all
A=round(20*rand(1,10));
B=round(20*rand(1,10));
display(A);
display(B);
n=length(A);
[cantidad,posicion]=find(A==B);
ig=length(cantidad);
x=ig*100/n;
porcentaje=[[num2str(x)],'%'];
display(porcentaje);
%=================================

EJECUCION
>> comparar_vectores
A =
4 4 7 18 9 8 4 19 8 17
B =
12 8 18 16 9 16 18 9 7 12
porcentaje =
10%

>> comparar_vectores
A =
18 12 12 17 1 18 8 1 15 3
B =
3 12 5 6 8 8 8 12 3 4
porcentaje =
20%

>> comparar_vectores
A =
1 16 11 14 4 11 14 19 9 2
B =
1 13 16 14 7 19 10 19 1 4
porcentaje =
30%

>> comparar_vectores
A =
11 4 16 16 3 20 19 14 4 7
B =
2 4 4 3 3 20 7 14 10 13
porcentaje =
40%

>> comparar_vectores
A =
12 2 8 7 14 6 0 4 2 9
B =
12 6 8 7 14 12 11 4 6 7
porcentaje =
50%


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
jjcc94@hotmail.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparacion de vectores

Publicado por dario (3 intervenciones) el 13/10/2011 00:21:10
Estimado Jeremias gracias por tu respuesto y creo entender que puedo aplicar sin problema. Podras ver en mi anterio comentario que seria comparar vectores binarios (algo que no comente) y de igual longitud de elementos. Asi que hasta seria mas sencillo, creo.
Voy a correr mis vectores con el programa que me enviaste.
Muchas Gracias
Dario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparacion de vectores

Publicado por Dario ndsoria@mendoza-conicert.gob.ar (1 intervención) el 13/10/2011 00:01:37
Hola Virgi. Gracias por tu respuesta. varios minutos analice tu respuesta hasta comprender lo que me indicas. Si, muchas gracias es un metodo de comparar los vectores que tengo. T cuento un poco mas. Los vectores se componen de una determinada cantidad de elementos 1517. y los valores son binario 0 / 1 aunsencia / presencia. Esto simplifica el trabajo para calcular. lo que me indicas.
El trabajo (investigacion aplicada) es realizar un metodo de comparacion de fotografias de escudos cefalicos de unas animalitos llamados armadillos. A fin de lograr un procedimiento de identificacion, (como huellas dactilares) de estos animalitos.
Desde ya agradezco tu gentil aporte y que ha sido muy valioso.
Mi formacion es geografo. No soy programador pero intentare armar el procedimiento que me indicas. Nuevamente GRacias. Dario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparacion de vectores

Publicado por JOSE JEREMIAS CABALLERO jjc94@hotmail.com (3 intervenciones) el 13/10/2011 00:16:29
hOLA DARIO.
Tu quieres algo asi:

%=======================================
clear all
A=round(rand(1,10));
B=round(rand(1,10));
display(A);
display(B);
n=length(A);
[cantidad,posicion]=find(A==B);
ig=length(cantidad);
x=ig*100/n;
porcentaje=[[num2str(x)],'%'];
display(porcentaje);
%=================================

EJECUCION
>> comparar_vectores
A =
0 1 0 0 1 1 1 1 0 1
B =
1 0 1 1 0 0 0 0 1 1
porcentaje =
10%

>> comparar_vectores
A =
0 0 0 1 1 0 0 0 1 1
B =
0 1 0 0 0 1 1 1 0 0
porcentaje =
20%

>> comparar_vectores
A =
0 0 0 1 1 0 0 0 0 1
B =
1 0 1 0 0 0 1 1 0 0
porcentaje =
30%

>> comparar_vectores
A =
0 1 1 1 0 1 0 1 0 0
B =
1 1 0 0 1 1 0 0 0 1
porcentaje =
40%

%=================================



Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
jjcc94@hotmail.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

comparacion de vectores

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3431 intervenciones) el 13/10/2011 00:17:39
hOLA DARIO.
Tu quieres algo asi:

%=======================================
clear all
A=round(rand(1,10));
B=round(rand(1,10));
display(A);
display(B);
n=length(A);
[cantidad,posicion]=find(A==B);
ig=length(cantidad);
x=ig*100/n;
porcentaje=[[num2str(x)],'%'];
display(porcentaje);
%=================================

EJECUCION
>> comparar_vectores
A =
0 1 0 0 1 1 1 1 0 1
B =
1 0 1 1 0 0 0 0 1 1
porcentaje =
10%

>> comparar_vectores
A =
0 0 0 1 1 0 0 0 1 1
B =
0 1 0 0 0 1 1 1 0 0
porcentaje =
20%

>> comparar_vectores
A =
0 0 0 1 1 0 0 0 0 1
B =
1 0 1 0 0 0 1 1 0 0
porcentaje =
30%

>> comparar_vectores
A =
0 1 1 1 0 1 0 1 0 0
B =
1 1 0 0 1 1 0 0 0 1
porcentaje =
40%

%=================================



Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
jjcc94@hotmail.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparacion de vectores

Publicado por dario ndsoria@mendoza-conicet.gob.ar (3 intervenciones) el 13/10/2011 00:35:26
JOSE JEREMIAS CABALLERO y VIRGI
Jose si eso es lo que necesitamos..! gracias.. es muy importante para nosotros, una Biologa y un Geografo y que no manejamos el matlab ni programacion.
Como ya comente el trabajo es para realizar un programa que permita comparar fotografias de escudos cefálicos de animalitos armadillos (tal vez este escudo sea algo similar a nuestro pulgar) y se pueda realizar la identificacion de individuos.
Esto es un trabajo de investigacion y pretendemos publicarlo y el programa seria totalmente libre y distribucion, solo pedimos participar en la base de datos de vectores o fotos de los individuos a fin de contar con un numero importante de individuos.
Ahora, vuestra colaboracion a mi consulta significa que si desean participar en los agradecimientos del trabajo?. Para esto me envian sus tados y quedan en parte del equipo.
Nuevamente Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparacion de vectores

Publicado por Augusto (1 intervención) el 18/02/2016 23:47:49
Hola,
he visto su programa y funciona, pero le escribo porque yo necesito algo semejante, salvo que saque el porcentaje de valores que son iguales entre vectores, independiente de su posición. Yo hago correr el suyo, pero los porcentajes no me coinciden, porque compara los valores exactos y que estén en la misma posición.
Espero su respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No sale el resultado

Publicado por Casar (1 intervención) el 05/03/2016 15:24:05
Hola,

Como puedo hacer para que este resultado de una resta aparezca ej:

r = 100 - 0.000000000045

r =

100.0000

Gracias,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar