help solving polynomial equation

2 ビュー (過去 30 日間)
mammad dehghan
mammad dehghan 2022 年 2 月 28 日
コメント済み: Torsten 2022 年 3 月 1 日
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 ?

回答 (1 件)

Torsten
Torsten 2022 年 2 月 28 日
編集済み: Torsten 2022 年 2 月 28 日
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 件のコメント
mammad dehghan
mammad dehghan 2022 年 3 月 1 日
i can give numerical values to other symbolic variables exept U i want roots in term of U.
Torsten
Torsten 2022 年 3 月 1 日
Then do after the line v = det(H)
vsubs = subs(v,G,...,J,...,E,...etc);
R = solve(vsubs,U);
Unum = vpa(R )

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

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by