[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 76

 
Mathemat:

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.

Se você estiver resolvendo um problema de minimização, você pode escolher o mínimo dos dois. Pareço ter tirado conclusões precipitadas demais. Agora vou reformular o problema e escrever um algoritmo para resolvê-lo, cerca de 5-10 minutos.
 
alsu:
As soluções podem surgir de mais de uma, se não de um número infinito. É necessário o esclarecimento das condições.
Encontre as coordenadas do centro do círculo, onde a distância de três pontos até o círculo é a mais pequena. A palavra SAMOYE significa que não há outra opção, onde esta distância é "ainda mais mínima". Esta é a única solução.
 
alsu: Se você estiver resolvendo um problema de minimização, você pode escolher o mínimo dos dois.
Minimização de qual soma - a soma das distâncias ou a soma dos quadrados? Ainda não recebi resposta do autor.
 
atztek:
MT4 pode facilmente lhe dar Ask=1,456121212 em vez de 1,4561, mas ele (ele só desempenha um papel quando se trabalha com pedidos) não pode "entender" o que ele fez.
Para corrigi-lo, usamos a função (exemplo para Ask):

NormalizeDouble(Ask, Digits)

Portanto, todos os valores que são substituídos nas funções de ordem devem ser normalizados antes de enviá-los para o servidor.

Não todos os valores, mas os valores de preço - preço de ajuste de ordem pendente, preço de abertura de posição no mercado, StopLoss e TakeProfit.

Caso contrário, podemos entendê-lo de forma muito simples e normalizá-lo ... Comentário por exemplo :)

 
Mathemat:
Minimizar qual soma - a soma das distâncias ou a soma dos quadrados? Ainda não recebi resposta do autor.

 
Mathemat:

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.


É claro que AB.
 

Elena, se a soma das distâncias, não funcionará sem métodos numéricos. Não há solução analítica na maioria dos casos (sem contar o caso quase impossível quando um círculo de um determinado raio pode ser traçado exatamente através de três pontos).

Elenn: É claro que AB.

É claro, AB, que pode argumentar - com o desenho desenhado.

Imagine o que acontecerá ao tentar resolver o problema através de pequenos movimentos circulares entre estes três pontos. Este mesmo "claro AB" vai continuar pulando de um "ramo" para outro. OK, vamos ver como Alexey lida com isso.

 

Portanto, a condição na forma digerível:

Dado N pontos divergentes no plano em pares. O problema é encontrar para quaisquer três pontos do conjunto um círculo cuja soma de quadrados de distâncias a partir dos três pontos dados seria mínima. Em seguida, escolha entre todos os círculos C(N,3) o(s) círculo(s) para o(s) qual(is) a soma dos quadrados de distâncias a pontos "amigáveis" é menor que os outros.

Solução.

As distâncias mínimas de um determinado ponto até um círculo podem ser calculadas de forma bastante simples. Se no desenho de Alexis as coordenadas do ponto A são (xA,yA) e as coordenadas do centro do círculo são (x0,y0) então

d = |r - sqrt((xA-x0)^2 + (yA-y0)^2)| |,

onde r é o raio do círculo, e esta expressão é correta tanto para os pontos A deitados fora como para dentro do círculo. Para três pontos temos três dessas equações, cada uma com três parâmetros desconhecidos (xA, yA, r). Diferenciando a soma de três d por cada uma delas, obtemos três equações, resolvendo as quais encontramos os parâmetros necessários.

O último passo é calcular a soma correspondente para cada trigêmeo e escolher o mínimo.

A propósito, devido à não linearidade das equações, aconselho a resolver o problema numericamente, não há nada a ver com análise.

 

A complexidade do problema aumenta rapidamente à medida que N aumenta, pois requer o cálculo e enumeração de N*(N-1)*(N-2)/6 círculos (56 no caso de N=8)

 
alsu: A complexidade do problema aumenta rapidamente à medida que N aumenta, porque é necessário calcular e enumerar N*(N-1)*(N-2)/6 círculos (56 no caso de N=8)
Oh, onde você conseguiu esse N! / ((N-3)*3! ) veio de?