solving transcendental equation numerically

I am trying to solve the 2 transcendental equations for 2 variables A,M for the given L
PBAR = 0;
L = [0.1,0.5,1.0,1.5,2.0];
equation1 = A^3 - L*A^2.*(sqrt(M.^2-1) + M.^2.*acos(1./M)) - PBAR;
equation2 = L*A^2/2*(sqrt(M^2-1) + (M^2-2)*acos(1/M)) + 4*L^2*A/3*(sqrt(M^2-1)*acos(1/M)-M+1)-1;
can any one help me how to solve it numerically

Answers (2)

Mischa Kim
Mischa Kim on 16 Jan 2014
Edited: Mischa Kim on 16 Jan 2014
Hello vijay, what are the equations equal to? Zero? In other words,
0 = A^3 - L*A^2.*(sqrt(M.^2 - 1) + M.^2.*acos(1./M)) - PBAR;
0 = L*A^2/2*(sqrt(M^2 - 1) + (M^2 - 2)*acos(1/M)) + 4*L^2*A/3*(sqrt(M^2 - 1)*acos(1/M) - M+1)-1;
If so, this is a root-finding problem: find A and M such that the two equations are satisfied. There is plenty of literature on solving systems of non-linear equations.
Try Newton-Raphson. The challenge you might run into is to find good starting values for the search, such that the algorithm coverges properly. Also be aware that there could be multiple soulutions to your problem.
M=sym('M',[1,5])
A=sym('A',[1 5])
PBAR = 0;
L = [0.1,0.5,1.0,1.5,2.0];
equation1 = A.^3 - L.*A^.2.*(sqrt(M.^2-1) + M.^2.*acos(1./M)) - PBAR;
equation2 = L.*A.^2/2.*(sqrt(M.^2-1) + (M^.2-2).*acos(1./M)) + 4*L.^2.*A/3.*(sqrt(M.^2-1).*acos(1./M)-M+1)-1;
solve([equation1;equation2])

4 Comments

i am getting an error as
Error using mupadengine/feval (line 144)
MuPAD error: Error: Illegal operand [_power]
Error in solve (line 151)
sol = eng.feval('symobj::solvefull',eqns,vars);
I'd be surprised if there is a symbolic solution. You probably need to do it numerically.
Another scenario is that there is no solution at all.
there are solutions for different values of L
for eg:
for L = 5.0
the values for A = 1.800; M = 1.01574;
but i am not able to solve the equations
syms A M
PBAR = 0;
L = [0.1,0.5,1.0,1.5,2.0];
for k=1:numel(L)
equation1 = A.^3 - L(k).*A^.2.*(sqrt(M.^2-1) + M.^2.*acos(1./M)) - PBAR;
equation2 = L(k).*A.^2/2.*(sqrt(M.^2-1) + (M^.2-2).*acos(1./M)) + 4*L(k).^2.*A/3.*(sqrt(M.^2-1).*acos(1./M)-M+1)-1;
sol=solve([equation1;equation2]);
M1(k,1)=sol.M
A1(k,1)=sol.A
end

Sign in to comment.

Asked:

on 16 Jan 2014

Commented:

on 16 Jan 2014

Community Treasure Hunt

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

Start Hunting!