问问题
102 次
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 回答