MATLAB: How to solve a very long non-linear equation with constants

constantssolve equation

I have the following extremely long equation and I need to set it to zero and find the solution in "r"; with "m", "M", and "a" as constants (i.e. the answer would be an equation of r depending on the constants, and not a value):
D2 = 4*m*(2*M – 2*r) – 4*m*r + (2*m^2*(3*r + 2*M*a^2 + a^2*r)*(2*r – 2*M + (M*a)/(2*(M*r)^(1/2)))^2)/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) – (4*m^2*(a^2 + 3)*(a*(M*r)^(1/2) – 2*M*r + r^2)^2)/(r^3*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (6*m^2*(3*r + 2*M*a^2 + a^2*r)*(a*(M*r)^(1/2) – 2*M*r + r^2)^2)/(r^4*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (2*M*m^2*(a^2 – 2*a*(M*r)^(1/2) + r^2)^2)/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (2*m^2*(3*r + 2*M*a^2 + a^2*r)*(2*r – 3*m + (M*a)/(M*r)^(1/2))^2*(a*(M*r)^(1/2) – 2*M*r + r^2)^2)/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^3) – (2*m^2*((M^2*a)/(4*(M*r)^(3/2)) – 2)*(3*r + 2*M*a^2 + a^2*r)*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (4*m^2*(a^2 + 3)*(2*r – 2*M + (M*a)/(2*(M*r)^(1/2)))*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) – (8*m^2*(3*r + 2*M*a^2 + a^2*r)*(2*r – 2*M + (M*a)/(2*(M*r)^(1/2)))*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^3*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) – (4*M*m^2*(2*r – (M*a)/(M*r)^(1/2))*(a^2 – 2*a*(M*r)^(1/2) + r^2))/(r*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (2*M*m^2*(2*r – (M*a)/(M*r)^(1/2))^2*(2*M – r))/(r*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (2*M*m^2*(a^2 – 2*a*(M*r)^(1/2) + r^2)^2*(2*r – 3*m + (M*a)/(M*r)^(1/2)))/(r*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) + (m^2*((M^2*a)/(2*(M*r)^(3/2)) – 2)*(3*r + 2*M*a^2 + a^2*r)*(a*(M*r)^(1/2) – 2*M*r + r^2)^2)/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) – (2*m^2*(a^2 + 3)*(2*r – 3*m + (M*a)/(M*r)^(1/2))*(a*(M*r)^(1/2) – 2*M*r + r^2)^2)/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) + (4*m^2*(3*r + 2*M*a^2 + a^2*r)*(2*r – 3*m + (M*a)/(M*r)^(1/2))*(a*(M*r)^(1/2) – 2*M*r + r^2)^2)/(r^3*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) + (2*M*m^2*(2*M – r)*(a^2 – 2*a*(M*r)^(1/2) + r^2)^2)/(r^3*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (M*m^2*((M^2*a)/(2*(M*r)^(3/2)) – 2)*(2*M – r)*(a^2 – 2*a*(M*r)^(1/2) + r^2)^2)/(r*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) – (8*a*m^3*(M*r)^(1/2)*(2*r – (M*a)/(M*r)^(1/2))*(2*r – 2*M + (M*a)/(2*(M*r)^(1/2))))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) – (4*M*m^2*(2*r – (M*a)/(M*r)^(1/2))*(2*M – r)*(a^2 – 2*a*(M*r)^(1/2) + r^2))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (16*a*m^3*(M*r)^(1/2)*(2*r – (M*a)/(M*r)^(1/2))*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^3*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (2*M*m^2*(2*M – r)*(a^2 – 2*a*(M*r)^(1/2) + r^2)^2*(2*r – 3*m + (M*a)/(M*r)^(1/2)))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) + (4*a*m^3*(M*r)^(1/2)*((M^2*a)/(4*(M*r)^(3/2)) – 2)*(a^2 – 2*a*(M*r)^(1/2) + r^2))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (16*a*m^3*(M*r)^(1/2)*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(2*r – 2*M + (M*a)/(2*(M*r)^(1/2))))/(r^3*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) – (24*a*m^3*(M*r)^(1/2)*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^4*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (2*M*m^2*(2*M – r)*(a^2 – 2*a*(M*r)^(1/2) + r^2)^2*(2*r – 3*m + (M*a)/(M*r)^(1/2))^2)/(r*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^3) + (2*M*m^2*((M^2*a)/(2*(M*r)^(3/2)) + 2)*(2*M – r)*(a^2 – 2*a*(M*r)^(1/2) + r^2))/(r*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) – (4*m^2*(3*r + 2*M*a^2 + a^2*r)*(2*r – 2*M + (M*a)/(2*(M*r)^(1/2)))*(2*r – 3*m + (M*a)/(M*r)^(1/2))*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) – (4*a*m^3*(M*r)^(1/2)*((M^2*a)/(2*(M*r)^(3/2)) + 2)*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (8*a*m^3*(M*r)^(1/2)*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(2*r – 2*M + (M*a)/(2*(M*r)^(1/2)))*(2*r – 3*m + (M*a)/(M*r)^(1/2)))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) – (16*a*m^3*(M*r)^(1/2)*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(2*r – 3*m + (M*a)/(M*r)^(1/2))*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^3*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) + (M^2*a*m^3*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(M*r)^(3/2)*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) – (4*M*a*m^3*(2*r – (M*a)/(M*r)^(1/2))*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(M*r)^(1/2)*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) – (8*a*m^3*(M*r)^(1/2)*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(2*r – 3*m + (M*a)/(M*r)^(1/2))^2*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^3) – (4*M*m^2*(2*r – (M*a)/(M*r)^(1/2))*(2*M – r)*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(2*r – 3*m + (M*a)/(M*r)^(1/2)))/(r*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) + (8*a*m^3*(M*r)^(1/2)*(2*r – (M*a)/(M*r)^(1/2))*(2*r – 3*m + (M*a)/(M*r)^(1/2))*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) – (4*M*a*m^3*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(2*r – 2*M + (M*a)/(2*(M*r)^(1/2))))/(r^2*(M*r)^(1/2)*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) – (4*a*m^3*(M*r)^(1/2)*((M^2*a)/(2*(M*r)^(3/2)) – 2)*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2) + (8*M*a*m^3*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^3*(M*r)^(1/2)*(2*a*(M*r)^(1/2) – 3*m*r + r^2)) + (4*M*a*m^3*(a^2 – 2*a*(M*r)^(1/2) + r^2)*(2*r – 3*m + (M*a)/(M*r)^(1/2))*(a*(M*r)^(1/2) – 2*M*r + r^2))/(r^2*(M*r)^(1/2)*(2*a*(M*r)^(1/2) – 3*m*r + r^2)^2)
I tried: [Sr] = solve(D2,r) and got after some long warning that is pointless to paste here:
Sr =
0.00001*z1^2
So, where did the parameter z1 come from, and how is it defined? Was it even able to solve the problem?
Thx in advance!

Best Answer

You are not going to get anything useful.
Sr = RootOf(24*z^18 + (4*m*M^2 - 216*m*M - 16*M^2)*z^16 + 144*z^15*M^2*a + (-36*M^3*m^2 + 648*M^2*m^2 + 144*m*M^3)*z^14 + (27*M^4*m*a - 96*M^4*a - 864*M^3*a*m - 2*M^3*a*m^2)*z^13 + (-648*m^3*M^3 - 432*m^2*M^4 + 288*M^4*a^2 + 108*M^4*m^3)*z^12 + (-219*m^2*a*M^5 + 576*m*a*M^5 + 1296*m^2*M^4*a + 36*M^4*a*m^3 + 18*M^6*a*m)*z^11 + (-108*M^4*m^3 + 144*m^2*M^5 + 432*M^5*m^3 - 72*m^3*M^6 - 192*a^2*M^6 - 36*m^3*a^2*M^4 + 130*M^6*a^2*m - 12*M^5*a^2*m^2 - 864*a^2*m*M^5 - 48*m*M^6)*z^10 + (-90*M^6*a*m + 135*m^2*a*M^5 + 75*M^5*a^3*m^2 + 198*M^7*a*m^2 - 864*m^2*a*M^6 - 90*M^6*a^3*m - 126*M^6*a*m^3 + 192*M^6*a^3 + 54*M^5*a*m^4)*z^9 + (420*M^7*a^2*m^2 + 576*M^7*a^2*m - 36*M^6*a^2*m - 372*M^8*a^2*m - 108*m^3*M^6*a^2)*z^8 + (-216*M^7*a*m^2 + 27*M^6*a*m^3 - 51*M^6*a^3*m^3 + 132*M^8*a*m + 172*M^8*a^3*m + 36*m^4*a*M^7 - 124*m^2*a^3*M^7 - 128*M^8*a^3 - 36*M^8*a*m^3)*z^7 + (54*M^7*a^2*m^2 + 648*M^9*a^2*m^2 + 36*M^8*a^2*m - 60*M^8*a^4*m + 66*M^7*a^4*m^2 - 648*M^8*a^2*m^3)*z^6 + (-144*M^10*m*a^3 - 27*M^8*a^3*m + 918*m^3*M^8*a^3 + 54*M^7*a^3*m^4 + 162*M^8*a*m^3 - 108*M^9*a*m^2 - 828*M^9*a^3*m^2)*z^5 + (4*M^9*a^4*m^2 + 24*M^10*a^2*m - 108*M^8*a^2*m^3 - 36*M^9*a^2*m^2 - 396*M^8*a^4*m^3 - 576*M^10*m^3*a^2 + 576*M^9*a^2*m^4 + 392*M^10*a^4*m)*z^4 + (-1080*M^9*a^3*m^4 + 180*M^9*m^2*a^5 + 432*m^2*M^11*a^3 - 180*M^10*m*a^5 + 81*M^9*a^3*m^2 + 648*M^10*m^3*a^3)*z^3 + (-18*M^10*a^4*m - 912*m^2*M^11*a^4 + 576*M^10*a^4*m^3 - 96*m*M^12*a^4 + 432*M^9*a^4*m^4)*z^2 + (256*m*M^12*a^5 + 188*M^11*m^2*a^5 - 444*M^10*a^5*m^3)*z + 120*M^11*a^6*m^2 - 120*m*M^12*a^6, z)^2/M
The notation RootOf(expression, z) means the set of z such that the expression evalutes to 0 -- that is, the roots of the equation.
In this case you have a polynomial of order 18, and such polynomials (usually) do not have closed algebraic solutions.
Related Question