Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在求解高阶方程组时,如何让MATLAB返回数值?_Matlab_Numeric - Fatal编程技术网

在求解高阶方程组时,如何让MATLAB返回数值?

在求解高阶方程组时,如何让MATLAB返回数值?,matlab,numeric,Matlab,Numeric,当我试图解方程时(因为我没有足够的声誉,所以我只能在这里发布方程的latex代码) (方程式看起来或多或少像:5*p*(1-p)^4+p^5=0.9) 通过MATLAB, 我使用了代码: clc;close all; clear all; syms x eqn=5*x*((1-x)^4)+x^5==0.9; % solx=solve(eqn,x) solve(eqn,x) 然后MATLAB返回了这个: ans = RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*

当我试图解方程时(因为我没有足够的声誉,所以我只能在这里发布方程的latex代码)

(方程式看起来或多或少像:5*p*(1-p)^4+p^5=0.9)

通过MATLAB,
我使用了代码:

clc;close all; clear all;
syms x
eqn=5*x*((1-x)^4)+x^5==0.9;
% solx=solve(eqn,x)
solve(eqn,x)
然后MATLAB返回了这个:

ans =

 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[1]
 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[2]
 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[3]
 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[4]
 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[5]
ans =

 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[1]
 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[2]
 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[3]
 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[4]
 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[5]
然后我继续尝试通过以下代码获取数值:

clc;close all; clear all;
syms z
eqn=z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20==0;
solve(eqn,z)
但是MATLAB仍然返回了这个:

ans =

 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[1]
 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[2]
 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[3]
 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[4]
 RootOf(z^5 - (10*z^4)/3 + 5*z^3 - (10*z^2)/3 + (5*z)/6 - 3/20, z)[5]
ans =

 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[1]
 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[2]
 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[3]
 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[4]
 RootOf(z1^5 - (10*z1^4)/3 + 5*z1^3 - (10*z1^2)/3 + (5*z1)/6 - 3/20, z1)[5]
有人能给我一些想法如何解决这个问题或一些链接,我应该参考?我参考了Mathwork上的link(),但没有帮助获得数值


请提前表示感谢。

对于那些
RootOf
要获得数值近似值,您必须使用
vpa

clc;close all; clear all;
syms x
eqn=5*x*((1-x)^4)+x^5==0.9;
% solx=solve(eqn,x)
sol = solve(eqn,x);
my_sol = vpa(sol)
结果:

>> mysol = vpa(sol)

mysol =

                                        0.9791481609736960010570740114736
 0.13006272993340436563484822895086 + 0.23845812045897270134074538059624i
   1.047029856246414300503281431979 + 0.99001796114505954590535961748791i
   1.047029856246414300503281431979 - 0.99001796114505954590535961748791i
 0.13006272993340436563484822895086 - 0.23845812045897270134074538059624i

对于那些
RootOf
的值,必须使用
vpa
,以获得数值近似值:

clc;close all; clear all;
syms x
eqn=5*x*((1-x)^4)+x^5==0.9;
% solx=solve(eqn,x)
sol = solve(eqn,x);
my_sol = vpa(sol)
结果:

>> mysol = vpa(sol)

mysol =

                                        0.9791481609736960010570740114736
 0.13006272993340436563484822895086 + 0.23845812045897270134074538059624i
   1.047029856246414300503281431979 + 0.99001796114505954590535961748791i
   1.047029856246414300503281431979 - 0.99001796114505954590535961748791i
 0.13006272993340436563484822895086 - 0.23845812045897270134074538059624i

你用的是什么版本的matlab?我用第一个代码得到一个数值解。我用的是matlab R2014b,它太旧了吗?你用的是什么版本的matlab?我用的是第一个代码得到的数值解。我用的是matlab R2014b,它太旧了吗?非常感谢!!@scmg,它现在工作了,我得到的值与你上面列出的值相同!@CatherineChen如果它对我有效的话你,别忘了接受答案!非常感谢!!@scmg,它现在起作用了,我得到的值与上面列出的值相同!@CatherineChen如果它对你有效,别忘了接受答案!