Maxima中包含误差函数的方程的解析解

时间:2019-04-12 14:45:51

标签: maxima

Maxima似乎没有为包含误差函数的该方程式提供解析解。这里的自变量是“ p”,要求解的因变量是“ x”。

see an illustration of equation follow link

(%i3)   solveexplicit:true$ ratprint:false$ fpprintprec:6$
(%i4)   eqn: (sqrt(%pi)*(25*2^(3/2)*p-25*sqrt(2))*erf(1/(25*2^(3/2)*x))*x+1)/(25*p) = 0.04;
(%i5)   solve (eqn, x);
(%o5)   []
(%i6)   eqn, [p=2,x=0.00532014],numer;
(%o6)   0.04=0.04

感谢任何帮助或指出正确的方向。

2 个答案:

答案 0 :(得分:1)

据我所知,Maxima无法求解包含erf的方程式。您可以通过find_root获得数值结果:

(%i5) find_root (eqn, x, 0.001, 0.999), p=2;
(%o5)               0.005320136894034347

对于符号解,我使用了一些公式。可以将其设置为erf(something/x)*x = otherstuff的形式,或者以等效的erf(y) = somethingelse*y的形式包含y = something/xsomethingelse = otherstuff/something,如果我没记错的话。我对这种形式的方程式一无所知,但也许您可以找到一些东西。

答案 1 :(得分:1)

是的,resolve只能做多项式。我将级数展开用于x的较小值,并且精度足够好。

(%i11)  seriesE: 1$  
        termE: erf(x)$  
        for p: 1 unless p > 3 do  
                  (termE: diff (termE, x)/p,   
                   seriesE: seriesE + subst (x=0, termE)*x^p)$  
        seriesE;  

(%o11)  -(2*x^3)/(3*sqrt(%pi))+(2*x)/sqrt(%pi)+1  

但是,“表达时间超过了配置设置允许的时间!”