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

回答 (2 件)

Mischa Kim
Mischa Kim 2014 年 1 月 16 日
編集済み: Mischa Kim 2014 年 1 月 16 日

0 投票

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.
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 1 月 16 日

0 投票

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 件のコメント

vijay
vijay 2014 年 1 月 16 日
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);
Mischa Kim
Mischa Kim 2014 年 1 月 16 日
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.
vijay
vijay 2014 年 1 月 16 日
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
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 1 月 16 日
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

サインインしてコメントする。

質問済み:

2014 年 1 月 16 日

コメント済み:

2014 年 1 月 16 日

Community Treasure Hunt

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

Start Hunting!

Translated by