help solving polynomial equation
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 ?
0 commentaires
Réponses (1)
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
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 )
Voir également
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!