Solve for variable 'a' in a beastly equation (numerical or analytical ok)

1 Ansicht (letzte 30 Tage)
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!

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 6 Feb. 2012
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.
  1 Kommentar
Rory Staunton
Rory Staunton am 6 Feb. 2012
Hi Walter, thanks!
How did you do this? I'm still trying to comprehend it. Also, I've tried using the equations you provided but I do not know how to implement them properly. If I type your second equation into cmd prompt, it says Z is undefined fn or var. My impression from what you wrote is that RootOf would find Z for me?
Also, if I paste 'RootOf(...)' over each instance of 'AA' in your first eqn and run that in cmd prompt, it complains that the expression is incomplete or incorrect.
My first attempts at using the expressions you provided are probably very naive, but I don't really know how to work with them!
My ultimate goal is to input a vector of F-values and a vector of d-values, along with constants for theta, R, and nu, and get out a vector of E(F,d) values.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by