[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 76 1...697071727374757677787980818283...631 新评论 Alexey Subbotin 2012.04.15 12:53 #751 Mathemat:你总是可以在一条直线上画出一个单一的垂直线。这将表明从该点到该线的距离。从一个给定的点到一个圆,几乎总是有两个 "距离"。从A点到本例中的圆,它们是AB和AC。而选择哪一个作为 "正确 "的,并不明显。 如果你要解决一个最小化问题,你可以选择两者的最小值。我似乎有点太快下结论了。现在我将重新表述问题,并写出一个解决算法,大约5-10分钟。 [Deleted] 2012.04.15 12:54 #752 alsu: 解决办法可能来自不止一个,甚至是无限的数量。需要对条件进行澄清。 找到圆心 的坐标,其中三点到圆的距离最小。SAMOYE这个词意味着没有其他选择,其中这个距离是 "更小的"。这是唯一的解决办法。 Sceptic Philozoff 2012.04.15 12:54 #753 alsu: 如果你要解决一个最小化问题,你可以选择两者的最小值。 哪种和的最小化--距离之和或平方 之和?我仍然没有收到作者的回复。 Artyom Trishkin 2012.04.15 12:58 #754 atztek: MT4可以很容易地给你Ask=1.4561212,而不是1.4561,但它(只在处理订单时起作用)不能 "理解 "它所做的事情。为了解决这个问题,我们使用函数(以Ask为例): NormalizeDouble(Ask, Digits) 所以,所有在订单函数中被替换的值在发送到服务器之前都应该被规范化。 不是所有的值,而是价格值--挂单设置 价格、市场头寸开仓价格、止损和止盈。 否则,我们可能会过于直白地理解它,并将其正常化......。举例来说,评论 :) [Deleted] 2012.04.15 13:00 #755 Mathemat: 哪种和的最小化--距离之和或平方 之和?我仍然没有收到作者的回复。 [Deleted] 2012.04.15 13:02 #756 Mathemat: 你总是可以在一条直线上画出一个单一的垂直线。这将表明从该点到该线的距离。 从一个给定的点到一个圆,几乎总是有两个 "距离"。 从A点到本例中的圆,它们是AB和AC。而选择哪一个作为 "正确 "的,并不明显。 当然是AB。 Sceptic Philozoff 2012.04.15 13:08 #757 Elena,如果是距离 的总和,没有数字方法是不行的。在大多数情况下没有分析解决方案(不包括几乎不可能的情况,即一个给定半径的圆可以准确地画过三个点)。 Elenn: 当然是AB。 想象一下,当试图通过在这三个点之间的小循环运动来解决问题时会发生什么。这个非常 "当然的AB "会不断地从一个 "分支 "跳到另一个。好吧,让我们看看阿列克谢 如何处理。 Alexey Subbotin 2012.04.15 13:11 #758 因此,条件以可消化的形式。 给出平面内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的总和分别微分,我们得到三个方程,解决这些方程就可以找到所需的参数。 最后一步是计算每个三联体的相应总和,并选择最小的一个。 顺便说一下,由于方程的非线性,我建议用数值来解决这个问题,这与分析学无关。 Alexey Subbotin 2012.04.15 13:20 #759 问题的复杂性随着N的增加而迅速增加,因为它需要计算和列举N*(N-1)*(N-2)/6个圆(在N=8的情况下为56个)。 Sceptic Philozoff 2012.04.15 13:23 #760 alsu: 问题的复杂性随着N的增加而迅速增加,因为需要计算和列举N*(N-1)*(N-2)/6个圆(在N=8的情况下为56个)。 哦,你从哪里得到的N!/((N-3)*3!)?)来的? 1...697071727374757677787980818283...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你总是可以在一条直线上画出一个单一的垂直线。这将表明从该点到该线的距离。
从一个给定的点到一个圆,几乎总是有两个 "距离"。
从A点到本例中的圆,它们是AB和AC。而选择哪一个作为 "正确 "的,并不明显。
解决办法可能来自不止一个,甚至是无限的数量。需要对条件进行澄清。
MT4可以很容易地给你Ask=1.4561212,而不是1.4561,但它(只在处理订单时起作用)不能 "理解 "它所做的事情。为了解决这个问题,我们使用函数(以Ask为例): NormalizeDouble(Ask, Digits) 所以,所有在订单函数中被替换的值在发送到服务器之前都应该被规范化。
不是所有的值,而是价格值--挂单设置 价格、市场头寸开仓价格、止损和止盈。
否则,我们可能会过于直白地理解它,并将其正常化......。举例来说,评论 :)
哪种和的最小化--距离之和或平方 之和?我仍然没有收到作者的回复。
你总是可以在一条直线上画出一个单一的垂直线。这将表明从该点到该线的距离。
从一个给定的点到一个圆,几乎总是有两个 "距离"。
从A点到本例中的圆,它们是AB和AC。而选择哪一个作为 "正确 "的,并不明显。
当然是AB。
Elena,如果是距离 的总和,没有数字方法是不行的。在大多数情况下没有分析解决方案(不包括几乎不可能的情况,即一个给定半径的圆可以准确地画过三个点)。
想象一下,当试图通过在这三个点之间的小循环运动来解决问题时会发生什么。这个非常 "当然的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个)。