[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 76

 
Mathemat:

你总是可以在一条直线上画出一个单一的垂直线。这将表明从该点到该线的距离。

从一个给定的点到一个圆,几乎总是有两个 "距离"。


从A点到本例中的圆,它们是AB和AC。而选择哪一个作为 "正确 "的,并不明显。

如果你要解决一个最小化问题,你可以选择两者的最小值。我似乎有点太快下结论了。现在我将重新表述问题,并写出一个解决算法,大约5-10分钟。
 
alsu:
解决办法可能来自不止一个,甚至是无限的数量。需要对条件进行澄清。
找到圆心 的坐标,其中三点到圆的距离最小。SAMOYE这个词意味着没有其他选择,其中这个距离是 "更小的"。这是唯一的解决办法。
 
alsu: 如果你要解决一个最小化问题,你可以选择两者的最小值。
哪种和的最小化--距离之和或平方 之和?我仍然没有收到作者的回复。
 
atztek:
MT4可以很容易地给你Ask=1.4561212,而不是1.4561,但它(只在处理订单时起作用)不能 "理解 "它所做的事情。为了解决这个问题,我们使用函数(以Ask为例): NormalizeDouble(Ask, Digits) 所以,所有在订单函数中被替换的值在发送到服务器之前都应该被规范化。






不是所有的值,而是价格值--挂单设置 价格、市场头寸开仓价格、止损和止盈。

否则,我们可能会过于直白地理解它,并将其正常化......。举例来说,评论 :)

 
Mathemat:
哪种和的最小化--距离之和或平方 之和?我仍然没有收到作者的回复。

 
Mathemat:

你总是可以在一条直线上画出一个单一的垂直线。这将表明从该点到该线的距离。

从一个给定的点到一个圆,几乎总是有两个 "距离"。


从A点到本例中的圆,它们是AB和AC。而选择哪一个作为 "正确 "的,并不明显。


当然是AB。
 

Elena,如果是距离 的总和,没有数字方法是不行的。在大多数情况下没有分析解决方案(不包括几乎不可能的情况,即一个给定半径的圆可以准确地画过三个点)。

Elenn: 当然是AB。


想象一下,当试图通过在这三个点之间的小循环运动来解决问题时会发生什么。这个非常 "当然的AB "会不断地从一个 "分支 "跳到另一个。好吧,让我们看看阿列克谢 如何处理。

 

因此,条件以可消化的形式。

给出平面内N个成对发散的点。问题是为集合中的任何三点找到一个圆,其与给定三点的距离的平方之和将是最小的。然后在所有的C(N,3)圆中选择与 "友好 "点的距离的平方之和小于其他圆的一个或几个。

解决方案。

从一个给定的点到一个圆的距离的最小值可以很简单地计算出来。如果在Alexis的画中,A点的坐标是(xA,yA),圆心 的坐标是(x0,y0),那么

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

其中r是圆的半径,这个表达式对于位于圆外和圆内的点A都是正确的。对于三个点,我们有三个这样的方程,每个方程有三个未知参数(xA,yA,r)。将三个d的总和分别微分,我们得到三个方程,解决这些方程就可以找到所需的参数。

最后一步是计算每个三联体的相应总和,并选择最小的一个。

顺便说一下,由于方程的非线性,我建议用数值来解决这个问题,这与分析学无关。

 

问题的复杂性随着N的增加而迅速增加,因为它需要计算和列举N*(N-1)*(N-2)/6个圆(在N=8的情况下为56个)。

 
alsu: 问题的复杂性随着N的增加而迅速增加,因为需要计算和列举N*(N-1)*(N-2)/6个圆(在N=8的情况下为56个)。
哦,你从哪里得到的N!/((N-3)*3!)?)来的?