Matlab没有输出方程的数值解(而是输出“一些多项式的根”'')

时间:2015-01-30 05:05:19

标签: matlab equation-solving numerical-computing

我试图在Matlab2014b环境下以数字方式解决以下等式。但是matlab不输出数值解,而是输出以下

>>solve(1/beta(13,11)*x^(12)*(1-x)^(10)==1.8839,x)
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[1]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[1]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[2]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[2]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[3]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[3]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[4]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[4]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[5]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[5]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[6]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[6]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[7]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[7]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[8]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[8]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[9]
      RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[9]
     RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[10]
     RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[10]
     RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 - (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[11]
     RootOf(z^11 - 5*z^10 + 10*z^9 - 10*z^8 + 5*z^7 - z^6 + (4096*10^(1/2)*3342794185613871913^(1/2))/66540040320887625, z)[11]

另一方面,我没有用Wolframmath解决方程式的问题。 我想知道导致问题的原因,可能值得注意的是,方程确实有复杂的解决方案,但我只对0和1之间的解决方案感兴趣。

1 个答案:

答案 0 :(得分:1)

我刚刚遇到同样的问题,我想我已经找到了解决方案。

根据我得到的信息,MATLAB可以在某个时候执行此操作,只是简单地表示分析解决方案。要评估解决方案,只需调用HttpContext.Current.Session.GetInt32("Template"); 函数即可。这是一个最小的复制和解决方案。

vpa

结果就像

    syms x
    solve(x^5 + x + 7)

只需尝试

    ans =

     RootOf(z^5 + z + 7, z)[1]
     RootOf(z^5 + z + 7, z)[2]
     RootOf(z^5 + z + 7, z)[3]
     RootOf(z^5 + z + 7, z)[4]
     RootOf(z^5 + z + 7, z)[5]

然后数字结果将显示:

    vpa(ans)

有关详细信息,请参阅MATLAB文档:

http://au.mathworks.com/help/symbolic/solve.html#zmw57dd0e111869