MATLAB: Got Root( ) function as an answer to solve function

fsolvefunctionsolve

alpha = [ 0.0011 , 0.0003 , 0.0014 ; 0.0005 , 0.0012 , 0.0003 ; 0.0015 , 0.0006 , 0.0018]
func = det (alpha – (1/x^2)*eye(3)); i have to solve for the x. so I ave used solve function
solution = solve(func,x); I am getting answer as Root(function in z) z is not a defined variable. like this
-root(z^3 – (4678547572322683*z^2)/23058430092136939520 + (32298961955171129226741589070309*z)/4253529586511730793292182592897102643200 + 636247053454892806674580934243698396657569963/392318858461667547739736838950479151006397215279002157056000, z, 1)^(1/2)
In next step i have to extract positive solutions out off all the solutions so I used solution(real(solution)>0) but I am getting an error because the solution is not numerical.

Best Answer

Use:
solution = vpasolve(func,x);
although it may be necessary to use:
solution = solve(func,x);
solution = vpa(solution);
.