help solving polynomial equation

2 views (last 30 days)
mammad dehghan
mammad dehghan on 28 Feb 2022
Commented: Torsten on 1 Mar 2022
clc
clear
syms G J E I l b q Cla ru Ru U w
beta=((E*I)/(G*J));
landa=l/b;
K=((G*J)/l)*[ ((256*beta)/(landa^2)), 0 ((-80*beta)/(landa^2)) , 0;
0, 16/3 , 0 , -8/3;
((-80*beta)/(landa^2)), 0, ((28*beta)/(landa^2)), 0;
0, -8/3, 0, 7/3];
M=2*b^4*l*Ru*[64/105 4/15 -16/105 1/15
4/15 2/15 -1/15 1/60
-16/105 -1/15 4/105 -1/60
1/15 1/60 -1/60 1/30];
A=pi*b*(l/6)*[0 4*b 0 4*b
0 8 0 8
0 b 0 b
0 2 0 2];
B=pi*b*(l/6)*[-4*b 0 -4*b 0
-8 8*b -8 8*b
-b 0 -b 0
-2 2*b -2 2*b];
C=pi*b^2*(l/6)*[0 -b^2/2 0 -b^2/2
-4 0 -4 0
0 -b^2/8 0 -b^2/8
-1 0 -1 0];
Meq=M-ru*C;
Keq=K-ru*U^2*A;
Deq=-ru*U*B;
H=(-w^2)*Meq+(1i*w)*Deq+Keq;
v=det(H)
d=solve(v==0,w)
the above code didnt give the roots of w as function of U, pleas help why ?

Answers (1)

Torsten
Torsten on 28 Feb 2022
Edited: Torsten on 28 Feb 2022
det(H) is a polynomial of degree 10 in w. Since the roots of polynomials of degree > 4 can't explicitly be given, you will have to use the numerical "roots" or the symbolic "root".
Before, you will have to give numerical values to all other symbolic variables involved.
  2 Comments
mammad dehghan
mammad dehghan on 1 Mar 2022
i can give numerical values to other symbolic variables exept U i want roots in term of U.
Torsten
Torsten on 1 Mar 2022
Then do after the line v = det(H)
vsubs = subs(v,G,...,J,...,E,...etc);
R = solve(vsubs,U);
Unum = vpa(R )

Sign in to comment.

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!