【发布时间】:2019-11-27 17:36:18
【问题描述】:
是否有任何算法可以找到这个方程的所有可能解:
x1² + x2² + ... + xn² = 1
其中 xi > 0 且 n >= 2
为了限制解,我们可以将 x 的小数点固定为 1。 例如:
如果 n = 2,找出所有满足 x1² + x2² = 1 的元组 (x1, x2) 该函数的返回类似于(将小数点固定为 1):
[
[0.1, 1],
[0.2, 1],
[0.3, 0.9],
[0.4, 0.9],
[0.5, 0.9],
[0.6, 0.8],
[0.7, 0.7],
[0.8, 0.6],
[0.9, 0.4],
[1, 0.1],
[1, 0.2],
...
[0.4, 0.9]
]
对于 n=2 这很容易,但我需要对 n >= 2 进行概括。
【问题讨论】:
-
你能说明 [0.4, 0.9] 如何给出 1 吗?
-
这是一个非常困难的问题。仅在某个领域找到解决方案就足够了吗?可以在域上定义一个网格并从每个网格点迭代牛顿方法,然后在最后全局退化解决方案
-
蛮力怎么样,结合其他
xj测试范围 [0.0, 0.1, 0.2,.... 0.9, 1.0] 中的每个xi值元组? -
如果您的问题是关于所涉及的数学和近似算法,math.stackexchange.com 是一个更好的提问地方。然后将其放入程序代码中是另一个步骤。
-
@MBo,正确的结果是 [0.4, 0.916515138991168],但是我们将小数点固定为 1,所以四舍五入得到 [0.4, 0.9]。
标签: algorithm math equation non-linear