如何解决Mathematica中的双积分?

时间:2013-04-18 18:03:56

标签: wolfram-mathematica

我是Mathematica的新手,我正在尝试解决以下问题。

  1. 我有Z = aZ^3 + bZ^2 + a + b形式的三次方程式。我想要做的第一件事是获得一个函数,通过分析方法解决Z并选择最小的正根,作为a和b的函数。
  2. 我认为为了获得我可以使用的根目录:

    Z = Solve[z == az^3 + bz^2 + a + b, z];
    

    我似乎并没有像我所期望的那样使用一般的三次方程解公式。

    1. 我希望将Z的最小正根与ab(再次,最好是分析)整合为0 {1 a和{{1} } {1}代表a
    2. 我试过

      b

      并且似乎没有给出任何公式或数值,但只返回一个积分。 (请注意,我甚至不确定如何选择最小的正根,但我正在玩Mathematica以试图解决它。)

      关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:1)

abz之间的空格非常重要。你可以通过以下方式获得根源:

sol = z /. Solve[z == a z^3 + b z^2 + a + b, z]

但是,你确定这个表达式有你想象的解决方案吗?对于a=0.5b=0.5,唯一真正的根是负面的。

sol /. {a->0.5, b->0.5}
{-2.26953,0.634765-0.691601 I,0.634765+0.691601 I}

答案 1 :(得分:0)

sol = z /. Solve[z == a z^3 + b z^2 + a + b, z];
zz[a0_ /; NumericQ[a0], b0_ /; NumericQ[b0]] := 
        Min[Select[ sol /. {a -> a0, b -> b0} , 
                 Element[#, Reals] && # > 0 & ]]

当没有解决方案时,返回-infinty。正如sirintinga所说,您的示例集成限制无效..

RegionPlot[NumericQ[zz[a, b] ] , {a, -1, .5}, {b, -.5, 1}]

enter image description here

但如果你有一个有效的地区,你可以数字整合..

NIntegrate[zz[a, b], {a, -.5, -.2}, {b, .8, .9}]  ->> 0.0370076

编辑---

上面有一个错误在Reals中选择是扔掉带有无穷小复杂部分的真实解决方案..修复为:..

zz[a0_ /; NumericQ[a0], b0_ /; NumericQ[b0]] := 
        Min[Select[ Chop[ sol /. {a -> a0, b -> b0} ], 
                 Element[#, Reals] && # > 0 & ]]

Edit2,如果你没有找到Chop满足的话,那就更干净了。

zz[a0_ /; NumericQ[a0], b0_ /; NumericQ[b0]] := 
     Module[{z, a, b}, 
          Min[z /. Solve[ 
             Reduce[(z > 0 && z == a z^3 + b z^2 + a + b /.
                  { a -> a0, b -> b0}), {z}, Reals]]]]
RegionPlot[NumericQ[zz[a, b] ] , {a, -2, 2}, {b, -2, 2}]

enter image description here

NIntegrate[zz[a, b], {a, 0, .5}, {b, 0, .5 - a}]  -> 0.0491321