I am not able to solve this equation using 'solve' function. Is there any other alternative?

4 views (last 30 days)
clc;
clear all;
nu_1 = 79.6154*10^9;
nu_2= 38.438*10^9;
syms c % phase velocity(unkown)
c_l1 =5957; %Longitudinal velocity in medium 1
c_t1 = 3184; % Transverse velocity (min) in medium 1
alpha_1 = sqrt(1- (c/c_l1)^2);
beta_1 = sqrt(1- (c/c_t1)^2);
c_l2 = 5928; %Longitudinal velocity in medium 2
c_t2 = 2919 ; % Transverse velocity (min) in medium 2
alpha_2 = sqrt((1- (c^2/c_l2^2)));
beta_2 = sqrt((1- (c^2/c_t2^2)));
g= nu_2/nu_1;
A = [-(1+beta_1^2) -2*beta_1 (1+beta_2^2)*g -2*beta_2*g ;
2*alpha_1 (1+beta_1^2) 2*alpha_2*g -(1+beta_2^2)*g;
1 beta_1 -1 beta_2;
-alpha_1 -1 -alpha_2 1];
polyA = charpoly(A,c);
eqn = (polyA==0); % Not able to solve this polynomial using SOLVE
eigenA = solve(polyA,c);

Accepted Answer

John D'Errico
John D'Errico on 2 Feb 2021
Edited: John D'Errico on 2 Feb 2021
polyA is not a polynomial. It is a mess that contains square roots of c and powers of c that go as high as the 6th power. Do you expect an analytical solution? You should remember that in general, even true polynomials that have powers greater than 4 will have no solution in algebraic form. You should see this case is worse.
fplot(polyA,[-3,3])
It appears the polynomial has 3 distinct real roots. One of them has multiplicity 2, at c==0.
As well, it seems the polynomial is symmetric around the origin, though I would need to look more carefully to be sure. But it does appear that c always appears with even powers. And that means it would be symmetric around the origin. Again, I'd need to look carefully at that to be certain. The plot actually looks subtly unsymmetric, so I have probably missed a term with an odd power of c.
>> vpasolve(polyA)
ans =
0
>> vpasolve(polyA,2)
ans =
1.9652905960672899516403581268929
No solution other than a numerical solution will be found.

More Answers (0)

Categories

Find more on Polynomials in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!