1
4

2 回答 2

3

如果以下 2 个表达式不相同,
则 acos ((x2 - l2 * Math.cos theta2) / l1) 看起来是正确的,而不是 acos (x2 - l2 * Math.cos theta2) / l1 。

也适用于其他 3 个表达式。

于 2012-09-20T05:26:25.960 回答
0

您可以将您的方法分析为一种定点方法。定点方法是这样一种方法

v_{n+1} = f(v_{n})

在你的情况下

v = (θ₁,θ₂)

你重新排列了你的方程,这样

f(v) = (acos(x₂ - l₂*cos(θ₂))/l₁, acos(y₂ - l₁*cos(θ₁))/l₂)

...或多或少。当您在第二次计算中使用已更新的变量时,就像您从另一个开始一样v0,其中第二个计算变量“领先一步”另一个。在第一种情况下,您的起始位置是(0,acos(y₂ - l₁)/l₂),而在第二种情况下,您的起始位置是(acos(x₂ - l₂)/l₁, 0)。尽管您在 post-post-scriptum 中说了些什么,但这是一个收敛到具有不同初始值的不同根的情况。

很难说明为什么会发生这种情况。根的吸引力盆地可能有一个奇怪的边界,如Wikipedia中的Newton-Raphson页面所示。您可以尝试绘制盆地,在 (θ₁,θ₂) 域中选择许多初始起点,并根据它们会聚的位置绘制不同颜色的像素。

于 2012-09-25T20:51:44.557 回答