【发布时间】:2017-03-27 16:42:12
【问题描述】:
假设我有以下四个方程:
- cos(x)/x = a
- cos(y)/y = b
- a + b = 1
- c sinc(x) = d sinc(y)
对于未知变量x, y, a 和b。请注意,cos(x)/x=a 有多种解决方案。变量y 也是如此。我只对 x 和 y 值感兴趣,它们是第一个正根(如果重要的话)。
您可以放心地假设a, b, c 和d 是已知的实常数,都是正数。
在 Mathematica 中,解决此问题的代码如下所示:
FindRoot[{Cos[x]/x == 0.2 a + 0.1,
Cos[y]/y == 0.2 b + 0.1,
a + b == 1.0,
1.03*Sinc[x] == Sinc[y]*1.02},
{{x, .1}, {y, .1}, {a, .3}, {b, .1}}]
结果返回
{x -> 1.31636, y -> 1.29664, a -> 0.456034, b -> 0.543966}
虽然这很容易,但我不知道如何在 python 中做类似的事情。因此,如果有人能指导我(或简单地告诉我如何)解决这个问题,我将不胜感激。
【问题讨论】:
标签: python scipy numeric equation-solving transcendental-equation