想用matlab求解一个一元三次方程,具体如下,如何求解?

function r=AA(L)
pi=3.1415926;
r=solve('4*pi*(r^3)/3+pi*r^2*L-0.3095')
end

但是输出的结果是:
r =

root(1.0*z^3 + 0.75*L*z^2 - 0.07388768233041240963070428714569, z, 1)
root(1.0*z^3 + 0.75*L*z^2 - 0.07388768233041240963070428714569, z, 2)
root(1.0*z^3 + 0.75*L*z^2 - 0.07388768233041240963070428714569, z, 3)

这个我该怎么处理??

如果你想要得到数值解的话
你可以直接用roots函数获得一元三次方程的数值解
roots([4*pi/3,pi*L,0,-0.3095 ]);
但三次方程会有三个解,roots会返回三个值,其中还可能有虚数
如果你只是需要符合一定条件,一定范围内的解
那么还需要加一些判断去舍去不需要的解
温馨提示:答案为网友推荐,仅供参考
相似回答