help solving polynomial equation

2 vues (au cours des 30 derniers jours)
mammad dehghan
mammad dehghan le 28 Fév 2022
Commenté : Torsten le 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 ?

Réponses (1)

Torsten
Torsten le 28 Fév 2022
Modifié(e) : Torsten le 28 Fév 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 commentaires
mammad dehghan
mammad dehghan le 1 Mar 2022
i can give numerical values to other symbolic variables exept U i want roots in term of U.
Torsten
Torsten le 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 )

Connectez-vous pour commenter.

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by