MATLAB: Solve for variable ‘a’ in a beastly equation (numerical or analytical ok)

solve numerical solution

Hi all
For reference, I am trying to use equations [3] and [4] in the article found here:
Eq [3]:
d + a/R*(sqrt(a^2-b^2)-a)-a/tan(theta)*(pi/2 - asin(b/a)) = 0
where b = R*cos(theta). I want to rearrange this as an expression a=a(d,R,theta,b) for a as a function of the other variables Then I want to plug that expression for a into the following
Eq[4]:
F = 2*[E/(1-nu^2)]*[d*a - a^2/(2tan(theta))*(pi/2-asin(b/a)-a^3/3R + sqrt(a^2-b^2)*(b/2tan(theta) + a^2-b^2/3R)]
and finally rearrange Eq[4] as an expression E=E(F,d,a,theta,R,b) for E as a function of all the other variables. I have monkeyed around a bit in Matlab and Mathematica but I figured I should consult more knowledgable folks when it comes to solving equations, with which I have little experience in Matlab.
Thanks in advance. Any strategies will be appreciated!

Best Answer

E = (5/3) * R * (sin(AA) - (1/2) * sin(3 * AA) + (1/10) * sin(5 * AA)) *
F * (nu + 1) * (nu - 1) * tan(theta)^2 / (b * ((8/3) * (((R - 1/4) *
b * tan(theta) + (3/8) * R) * sin(AA) + ((1/12) * b * tan(theta) -
(1/8) * R) * sin(3 * AA)) * ( - (cos(2 * AA) + 1) * b^2 / (cos(2 *
AA) - 1))^(1/2) * b^2 + ( - 2 * R * b * sin(AA) * asin(sin(AA)) +
(8/3) * R * d * cos(2 * AA) * tan(theta) - (2/3) * R * d * cos(4 *
AA) * tan(theta) - (8/9) * b^4 + pi * R * b * sin(AA) - (1/3) *
( - 2 * asin(sin(AA)) + pi) * R * b * sin(3 * AA) - 2 * R * d *
tan(theta)) * tan(theta)))
when
AA = RootOf(2 * Z * b * R * sin(Z) + R * d * tan(theta) - d * R * tan(theta) * cos(2*Z) + 2 * b * tan(theta) * (-b^2 * (1+cos(2*Z)) / (-1+cos(2*Z)))^(1/2) * sin(Z) - 2 * b^2 * tan(theta) - b * R * pi * sin(Z), Z)
Here, RootOf() is the operator that returns the values, Z, such that the expression inside RootOf() becomes 0. You can probably see by observation that there is no general algebraic solution -- though if theta is 0, the solutions for RootOf() fall out as 0 and pi/2.
AA corresponds to the solution of "a".
If you are using MuPAD as your symbolic engine (as is the case from R2008b), then you are probably going to have to find a numeric solution for AA.
Note: the above expressions might be incorrect if any of the variables are complex numbers. When I did the simplifications, I added the assumption that the variables were real-valued.