整合隐式方程的解

时间:2012-12-15 13:59:42

标签: wolfram-mathematica

我在Mathematica中有一个隐含的等式,我用NSolve解决了这个等式。现在,我需要根据高斯来衡量各种解决方案,但我无法使其发挥作用。以下是我的建议:

a = (4.2*10^(-5));
b = 4067;
c = 112;
sol[d_] := Select[NSolve[s == (1 + a^2*(2*Pi*1000*d)^2)/((1 + c/(1 + (s*b)/(1 + a^2*(2*Pi*1000*d)^2)))^2 + a^2*(2*Pi*1000*d)^2), {s}], Chop[(Im[s] /. #)] == 0 &][[1]][[1]][[2]];

NIntegrate[Exp[-v^2]*sol[v], {v, -2, 2}]

然而,这不起作用。有谁知道我做错了什么?我想要的是非常简单,但我在实施它时遇到了一些问题。

最佳, 奈尔斯。

1 个答案:

答案 0 :(得分:3)

试试这个;要点是使用NSolve的第三个参数来指定域并确保仅在数字参数上调用函数sol2

sol2[d_?NumericQ] := NSolve[s == (1 + 
     a^2*(2*Pi*1000*d)^2)/((1 + 
        c/(1 + (s*b)/(1 + a^2*(2*Pi*1000*d)^2)))^2 + 
     a^2*(2*Pi*1000*d)^2), {s}, Reals][[1]][[1]][[2]]

NIntegrate[Exp[-v^2]*sol2[v], {v, -2, 2}]
(* 1.66556 *)


Plot[Exp[-v^2]*sol2[v], {v, -2, 2}]

plot