2014-12-13 790 views
0

我想使用NSolve函数来求解方程组。所以我写了这样一行:Mathematica中的NSolve函数

NSolve [{0.1 == Exp [ - ((0.01-y)^ 2 /(2 x^2))] /(Sqrt [2π] x), 0.3 = [((0.04-y)^ 2 /(2 x^2))] /(Sqrt [2π] x)},{x,y}]

评估之后,Mathematica给了我相同的形式,没有任何结果的x和y。你有什么想法什么是错的。我认为我的语法有些东西。

+0

尝试FindRoot而不是NSolve。 FindRoot非常具有侵略性,当Solve和NSolve不能时,通常可以得到答案。检查文档以了解如何使用它。 – Bill 2014-12-13 17:47:17

回答

0

@Bill是正确的FindRoot往往是成功NSolve不是,这是这些情况之一。但是,首先您必须用Pi替换[Pi]。通过此更改,解决方案是{x->0.0717056,y->0.213291}。为确保没有更多根,请考虑对两个方程绘制y作为x的函数,并查看曲线相交的位置。

在这一切,我认为你只是在寻找真正的根。如果您也对复杂的根有兴趣,请使用带有复杂初始猜测的FindRoot。

+1

我不相信他已经进入了Pi,但是进入和编辑过程已经在希腊pi的开头括号前面吃了反斜杠。输入时反斜杠的丢失,更常见于编辑,在论坛软件中似乎太常见了。 – Bill 2014-12-14 02:22:09

+0

阻止unix shell,regexp和类似的转义构造可能是消毒。 – ogerard 2014-12-15 06:36:45