[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 75

 
Elenn: Tanto quanto eu entendo, a opção de linha reta também "envolverá" todos os pontos, não três deles.
Então eu não entendo absolutamente nada. Quais três, por que você tem que escolhê-las durante a solução? Você mesmo entendeu bem o problema?
 
artmedia70:

Na verdade, não. E se nenhum pedido for selecionado? Onde está a normalização de preços ao enviar uma ordem comercial?

As ordens são fechadas em loop, e isso significa que a busca não deve ser feita de zero, mas de OrderTotal()-1 a >=0


Você descreveria a normalização com mais detalhes?

 
Mathemat:
Então eu não entendo absolutamente nada. Quais três, por que eles deveriam ser escolhidos? Você mesmo entendeu bem a tarefa?


Há duas variantes na foto, cada uma delas tem 5 pontos. Na variante "A" a soma das distâncias de três pontos é mínima, na variante "B" a soma das distâncias de 5 pontos é mínima. Você deve encontrar os "três" pontos onde a soma das distâncias entre eles e a linha é mínima entre todas as outras variantes.

 

A solução da esquerda está errada. O correto é um pouco assim (linha verde):

E mais uma vez: você quer resolver o problema para os círculos, não para as linhas retas. Este é um problema diferente, muito mais complicado.

 
Mathemat:

A solução da esquerda está errada. O correto é um pouco assim (linha verde):


Bem, sim, a solução correta é a linha verde. Quanto ao círculo, tanto ali como no caso da linha, o problema de escolher esses três "melhores" pontos é o mesmo. A questão é como fazer isso de forma mais elegante.
 
Elenn: Quanto ao círculo, tanto ali como no caso de uma linha reta, o problema de escolher estes três "melhores" pontos é o mesmo. A questão é como fazer isso de forma mais elegante.

Não apenas isso, como você não pode entender. Você tem que escolher as distâncias a serem percorridas. Isto mata qualquer possível fineza na raiz.

Para cada 3 pontos escolhidos, você terá que contar 8 somas das três distâncias (ou distâncias ao quadrado).

 
Mathemat:

Não apenas isso, como você não pode entender. Você tem que escolher as distâncias a serem percorridas. Isto mata toda a delicadeza possível.

Para cada 3 pontos escolhidos, é preciso contar 8 somas das três distâncias (ou distâncias ao quadrado).


Talvez eu não entenda alguma coisa, você pode me dizer a diferença entre o caminho mais curto de um ponto para uma linha e o caminho mais curto de um ponto para um círculo?
 
Elenn:

Talvez eu não entenda algo, me explique, qual é a diferença entre o caminho mais curto de um ponto para uma linha e o caminho mais curto de um ponto para um círculo?
Lena, sua formulação do problema tem um excesso de graus de liberdade (escolhendo 3 pontos em 8 mais o raio do círculo mais as coordenadas de seu centro), então temo que possa haver mais de uma solução, se não um número infinito. É necessário o esclarecimento das condições.
 

Você pode sempre desenhar uma única perpendicular a uma linha. Isto indicará a distância do ponto até a linha.

Há quase sempre duas "distâncias" para um círculo a partir de um determinado ponto:


Do ponto A ao círculo, neste caso, eles são AB e AC. E qual escolher como o "correto" não é óbvio.

 
Myth63:


E a normalização?

MT4 pode facilmente lhe dar Ask=1,456121212 em vez de 1,4561 (ou alguns de seus valores, obtidos como resultado de cálculos),
mas ele (só desempenha um papel quando se trabalha com pedidos) não é capaz de "entender" o que ele fez.
Para corrigi-lo, use a função (exemplo para Ask):

NormalizeDouble(Ask, Digits)

Assim, todos os valores que são colocados nas funções de pedido devem ser normalizados antes de enviá-los para o servidor.