Finding roots of a matrix equation

Hello,
I'm having trouble getting roots for this matrix. The example has to do with finding the natural frequency and mode shapes of a a simple rigid rotor system on anisotropic flexible supports. I have the formula, answer, and polynomial from the matrix equation just struggling to find the roots. Please help.
The question is example 3.6.1(a) finding roots s1-8.
I believe im solving for q and q` but im not sure how to put this in matlab. Or maybe us

Answers (1)

Refer the roots documentation from the given link

8 Comments

I'm not sure how to use the roots command with the 3 8x8 matrix. After trying the roots command I don't get the answers that the text get.
>> G
G =
0 0 0 0
0 0 0 0
0 0 0 0.6134
0 0 -0.6134 0
>> M
M =
122.6800 0 0 0
0 122.6800 0 0
0 0 2.8625 0
0 0 0 2.8625
>> K
K =
2300000 0 0 75000
0 2300000 -75000 0
0 -75000 143750 0
75000 0 0 143750
//418.88 = 4000 * (2*pi/60) = omega reference page 97
A = [G*(418.88) M; M zero]
A =
0 0 0 0 122.6800 0 0 0
0 0 0 0 0 122.6800 0 0
0 0 0 256.9410 0 0 2.8625 0
0 0 -256.9410 0 0 0 0 2.8625
122.6800 0 0 0 0 0 0 0
0 122.6800 0 0 0 0 0 0
0 0 2.8625 0 0 0 0 0
0 0 0 2.8625 0 0 0 0
>> B = [K zero; zero -M]
B =
1.0e+06 *
2.3000 0 0 0.0750 0 0 0 0
0 2.3000 -0.0750 0 0 0 0 0
0 -0.0750 0.1437 0 0 0 0 0
0.0750 0 0 0.1437 0 0 0 0
0 0 0 0 -0.0001 0 0 0
0 0 0 0 0 -0.0001 0 0
0 0 0 0 0 0 -0.0000 0
0 0 0 0 0 0 0 -0.0000
///zero is a 4x4 zero matrix
>> s = eig(B,-A)
s =
1.0e+02 *
0.0000 + 2.2532i
0.0000 - 2.2532i
0.0000 + 2.2510i
0.0000 - 2.2510i
0.0000 + 1.3508i
0.0000 - 1.3508i
0.0000 + 1.3508i
0.0000 - 1.3508i
Can you see anything im doing wrong to not get the same roots displayed in pg100. The only thing I can think of is that my B matrix is reduced too much on the lower right corner.
Can you see anything im doing wrong to not get the same roots displayed in pg100.
Yes, you have "format short" in effect, and you did not mentally take into account the 1.0e+02 * that appears at the top of the display.
GIve the command
format long g
and display s again.
My values are still way off. I'm going to try another similar problem.
>> s = eig(B,A)
s =
-7.00429151535041e-15 + 90.3168809902389i
-7.00429151535041e-15 - 90.3168809902389i
1.14751809725569e-18 + 4.33505975508429i
1.14751809725569e-18 - 4.33505975508429i
0 + 4.32548302517613i
0 - 4.32548302517613i
9.33170852334867e-18 + 0.546468920033129i
9.33170852334867e-18 - 0.546468920033129i
s = eig(B,A) but before it was eig(B, -A)
That was a mistake the values aren't that different

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Asked:

on 17 Jul 2020

Commented:

on 24 Jul 2020

Community Treasure Hunt

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

Start Hunting!