Autor
|
Tema: coordenada con diferencia máxima (Leído 2,653 veces)
|
indict
Desconectado
Mensajes: 78
|
Hola, Como harías el siguiente programa, supongamos que tenemos dos vectores x, e y. Y queremos encontrar la observación con diferencia mayor. Es decir, encontrar el valor (x ,y) que hace máxima la diferencia.
, este valor es una coordenada que tiene la misma posición para x e y. int valor(vector<int>&x, vector<int>&y, int N)
for(int i=0;i<N;i++){ for(int j=i-1;j>=0;j++){
if(x-x[i])>(x-x[j]){return i;}}}
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Hola, Como harías el siguiente programa, supongamos que tenemos dos vectores x, e y. Y queremos encontrar. la observación con diferencia mayor==>Ehhhhhhhhhhhhh ? ? ? ? Es decir, encontrar el valor (x ,y) que hace máxima la diferencia.
, este valor es una coordenada que tiene la misma posición para x e y. Un vector se puede multiplicar o dividir por un escalar (no cero en la división), pero a un vector no se le puede sumar o restar un escalar, que es lo que es una coordenada. Vamos, que la operación no es posible. Así que aclara mejor el enunciado campeón. Saluditos!.
|
|
|
En línea
|
|
|
|
indict
Desconectado
Mensajes: 78
|
El enunciado es: Hacer la función cor_menos_uno(vector<double>x,vector<double>y); Sabemos que la correlación entre x e y no es demasiado fuerte, y sabemos que en nuestras observaciones contenidas en los vectores x,y hay una observación atípica. La función que debemos crear detectará cúal es la observación. correlacion(x-x[i], y-y[i])∀ x∈{0,N-1} ,donde e son los vectores x e y sin la observación De todas estas, queremos la más grande, es decir queremos saber cúal es la observación i tal que correlacion(x-x[i], y-y[i]) sea la máxima. La función devuelve el subíndice i. double correlacion (vector <double>& x, vector <double>& y); ¡Gracias por el aporte!
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
El enunciado es: Hacer la función cor_menos_uno(vector<double>x,vector<double>y); Sabemos que la correlación entre x e y no es demasiado fuerte, y sabemos que en nuestras observaciones contenidas en los vectores x,y hay una observación atípica. La función que debemos crear detectará cúal es la observación. correlacion(x-x[i], y-y[i])∀ x∈{0,N-1} ,donde e son los vectores x e y sin la observación De todas estas, queremos la más grande, es decir queremos saber cúal es la observación i tal que correlacion(x-x[i], y-y[i]) sea la máxima. La función devuelve el subíndice i. double correlacion (vector <double>& x, vector <double>& y); ¡Gracias por el aporte! Por si tú no lo has entendido, se trata de construir un nuevo vector donde no esté la componente i, y eso para cada una de las componentes y cada uno de los vectores x e y. Osea, primero construyes un vexto "xsin" igual al x sin la componente 0, y lo mismo para y. Y luego el "xsin" será el x sin la componete 1, y lo mismo para el y. Esto que te comento ya está resuelto en otro post. Y lo de la correlación, ¿ aqué te refieres?. Porque para ser precisos es: http://es.wikipedia.org/wiki/Correlaci%C3%B3n Seguro que te refieres a otra cosa. Saluditos!.
|
|
|
En línea
|
|
|
|
indict
Desconectado
Mensajes: 78
|
si, me refería a ese concepto de correlación, pero eso es para ejemplificar mejor a que se aplica la función.
¡un saludo!
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
si, me refería a ese concepto de correlación, pero eso es para ejemplificar mejor a que se aplica la función.
Ahora que hemos aclarado que x-x[i]
no es una resta, sino el vector x sin la componente "i", el proceso sería construir en un bucle los vectores x e y sin la componente j, que irá siendo 0, 1,2 ....<size, de forma que cuando quites la coordenada j les apliques las fórmulas de correlación cada vez como te indico en el código (te puedes ahorrar el std:: si estas usando using namespace std;): std::vector<int>x0;//para no perder los vectores originales ... std::vector<int>y0;//... al quitar una coordenada x=x0; y=y0; int i,j; //ahora sin la componente j for ( j=0;j<x.size();j++){ x.erase (x.begin()+j); y.erase (y.begin()+j); std::cout << '\n'; //para que lo veas sin la componente j for ( i=0;i<x.size();i++) std::cout << ' ' << x[i]; std::cout << '\n'; for ( i=0;i<y.size();i++)//para que lo veas sin la componente j std::cout << ' ' << y[i]; std::cout << '\n';system ("pause"); //aqui viene el estudio de la correlacion de x e y sin la componente j //y vas guardando en una variable ej. "menor" la menor diferencia de x e y //que sobreentiendo que es el coeficiente de correlación muestral de Pearson //y en otra variable ej. "menor_j" el índice correspondiente x=x0;//Aquí reinicio x e y con los valores originales y le quito la siguiente componente y=y0; }
Si hay alguna duda, no dudes en exponerla. Saluditos!.
|
|
« Última modificación: 29 Enero 2013, 15:33 pm por leosansan »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Coordenada de imagen
Programación Visual Basic
|
hannah
|
0
|
1,319
|
15 Noviembre 2008, 19:11 pm
por hannah
|
|
|
¿como obtener el angulo de una coordenada? VB 6.0
Programación Visual Basic
|
AlxSpy
|
4
|
9,497
|
16 Mayo 2011, 20:15 pm
por BlackZeroX
|
|
|
Como ubicar está coordenada con GoogleMaps...
Foro Libre
|
Shell Root
|
4
|
4,410
|
17 Junio 2011, 00:55 am
por dantemc
|
|
|
Problema al capturar la coordenada dinamica en Google Maps API v3 ?
Desarrollo Web
|
Sumerio
|
0
|
3,401
|
22 Julio 2012, 07:32 am
por Sumerio
|
|
|
Como econtrar coordenada de un pixel editor Hexadecimal
Ingeniería Inversa
|
Jnl
|
3
|
4,632
|
23 Julio 2012, 16:07 pm
por karmany
|
|