Jump to content

os 3 números mais proximos em um array


JeT

Recommended Posts

Boa tarde a todos, estou com um problema, estou a utilizar o classificador knn para um trabalho, foi necessario calcular a distancia euclidiana, até ai tudo bem, agora o problema é, como é que vou verificar as distancias euclidianas mais proximas da distancia que estou a verificar?

nesta parte tenho isto, esta comentado o local onde tenho de por, os 3 vai ser para ver qual e que é maior, se existem dois de um tipo ou dois de outro, preciso tambem de saber a linha de esses valores mais proximos.

for(i=0;i<125;i++)// calcular distancia euclidiana
 {
  for(k=0;k<346;k++)
  {
   sknn=0.0, sknn1=0.0;
   for(l=1;l<coluna;l++)
   {
    sknn=sknn+pow(catn5[k][l]-knnn[i][l],2);
    printf("%f \n", sknn);
   }
   sknn1=sqrt(sknn);
   knndc[k]=sknn1;
   printf("%f distancia euclidiana\n", knndc[k]);
  }
  // aqui devo fazer os nº mais proximos neste caso a ideia e utilizar 3
 }

Desde já Obrigado 🙂

Edited by pmg
Falta LP
Link to comment
Share on other sites

Sim, os pares cuja distancia e mais pequena estao mais perto do que os outros. Se sao vizinhos ou nao, depende do problema ... Coimbra e Madrid sao vizinhos? Considerando pontos no Sistema Solar? Considerando pontos na minha sala e um ponto em Madrid? :-)

Dum conjunto de N pontos, pelo metodo ingenuo, tens de calcular N * (N - 1) distancias: as distancias entre todos os pares que se podem formar (e depois escolher a mais pequena (e, possivelmente, identificar os pontos)).

Mas, como indicado em varios resultados do Google, tens algoritmos mais eficientes ...

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.