Methods to get ride of Root in solution of solve function

5 views (last 30 days)
Related Question <- This link shows a related question. I do not understand the accepted solution. I tried to copy and paste using R2016b and exprc was unknown. I tried to replace exprc with orig_expression but the output was still just the root functions.
The solve equation below is taking forever. Solve(...,v_3) (without out 'real' flag) returns 6 root functions. I'm looking for an answer that is only a function of a_1,v_1,A,D.
solve(S == (D*(((A + D)*(a_1^2 - 2*A*v_1 + 2*A*v_3))/D)^(3/2))/(3*(A + D)^3) - (a_1 - (D*(((A + D)*(a_1^2 - 2*A*v_1 + 2*A*v_3))/D)^(1/2))/(A + D))^3/(6*A^2) - (D*(((8*v_3*A^2 + D)/D)^(1/2) - 1)^2)/(8*A^3) - (v_1*(a_1 - (D*(((A + D)*(a_1^2 - 2*A*v_1 + 2*A*v_3))/D)^(1/2))/(A + D)))/A + ((((A + D)*(a_1^2 - 2*A*v_1 + 2*A*v_3))/D)^(1/2)*(- a_1^2 + 2*A*v_1 + 2*D*v_3))/(2*(A + D)^2) + (a_1*(a_1 - (D*(((A + D)*(a_1^2 - 2*A*v_1 + 2*A*v_3))/D)^(1/2))/(A + D))^2)/(2*A^2) + (v_3*(((8*v_3*A^2 + D)/D)^(1/2) - 1)*(A + D))/(2*A^2) - (D*(2*A^2 + D^2)*(((8*v_3*A^2 + D)/D)^(1/2) - 1)^3)/(16*A^5), v_3, 'Real', true)

Answers (1)

Victor Prohorov
Victor Prohorov on 1 Mar 2021
Read Matlab help:
Try to get an explicit solution for such equations by calling the solver with 'MaxDegree'. The option specifies the maximum degree of polynomials for which the solver tries to return explicit solutions. The default value is 2. Increasing this value, you can get explicit solutions for higher order polynomials.Solve the same equations for explicit solutions by increasing the value of 'MaxDegree' to 3.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!