Vous êtes sur la page 1sur 12

Vibrating Systems and Eigenvalues/vectors, Printable

This document is a collection of pages relating to EigenValues and Vectors in a form convenient for printing.
Content
Introduction
Eigenvalues and Eigenvectors
Vibrating Systems
Physical Interpretation

Using Eigenvalues and Eigenvectors to Study Vibrations


Introduction

EigenValues and Vectors

Vibrating Systems

k
m

Interpretation

Printable

k
m

k
m

k
m

These pages give a brief introduction to the use of eigenvalues and eigenvectors to study vibrating systems for systems with no inputs. MatLab
code is also included on the "Vibrating Systems" page.
Analyzing a system in terms of its eigenvalues and eigenvectors greatly simplifies system analysis, and gives important insight into system
behavior. For example, once the eigenvalues and eigenvectors of the system above have been determined, its motion can be completely determined
simply by knowing the initial conditions and solving one set of algebraic equations.
Before you begin, you should be familiar with matrix fundamentals (notation, addition, multiplication, inversion, solving sets of linear equations...)

References

Copyright 2005-2013 Erik Cheever This page may be freely used for educational purposes.
Comments? Questions? Suggestions? Corrections?
Erik Cheever
Department of Engineering
Swarthmore College

Eigenvalues and Eigenvectors


Introduction

EigenValues and Vectors

Vibrating Systems

Interpretation

Printable

Introduction
This page is a brief introduction to eigenvalue/eigenvector problems (don't worry if you haven't heard of the latter). Before reading this you should
feel comfortable with basic matrix operations. If you are confident in your ability with this material, feel free to skip it.
Note that there is no description of how the operations are done -- it is assumed that you are using a calculator that can handle matrices, or a
program like MatLab. Also, this page typically only deals with the most general cases, there are likely to be special cases (for example, non-unique
eigenvalues) that aren't covered at all.

Eigenvalues and Eigenvectors


Many problems present themselves in terms of an eigenvalue problem:
Av=v
In this equation A is an n-by-n matrix, v is a non-zero n-by-1 vector and is a scalar (which may be either real or complex). Any value of for
which this equation has a solution is known as an eigenvalue of the matrix A. It is sometimes also called the characteristic value. The vector, v, which
corresponds to this value is called an eigenvector. The eigenvalue problem can be rewritten as
Av-v=0
Av-Iv=0
(A-I)v=0
If v is non-zero, this equation will only have a solution if
|A-I|=0
This equation is called the characteristic equation of A, and is an nth order polynomial in with n roots. These roots are called the eigenvalues of
A. We will only deal with the case of n distinct roots, though they may be repeated. For each eigenvalue there will be an eigenvector for which the
eigenvalue equation is true. This is most easily demonstrated by example
Example: Find Eigenvalues and Eigenvectors of a 2x2 Matrix
If

then the characteristic equation is

and the two eigenvalues are


1=-1, 2=-2

All that's left is to find the two eigenvectors. Let's find the eigenvector, v1, associated with the eigenvector, 1=-1, first.

so clearly from the top row of the equations we get

Note that if we took the second row we would get

In either case we find that the first eigenvector is any 2 element column vector in which the two elements have equal magnitude and
opposite sign.

where k1 is an arbitrary constant. Note that we didn't have to use +1 and -1, we could have used any two quantities of equal magnitude
and opposite sign.
Going through the same procedure for the second eigenvalue:

Again, the choice of +1 and -2 for the eigenvector was arbitrary; only their ratio is important. This is demonstrated in the MatLab code
below.

Using MatLab
>> A=[0 1;-2 -3]
A =
0
1
-2 -3
>> [v,d]=eig(A)
v =
0.7071 -0.4472
-0.7071
0.8944
d =
-1
0

0
-2

The eigenvalues are the diagonal of the "d" matrix

The eigenvectors are the columns of the "v" matrix.

Note that MatLab chose different values for the eigenvectors than the ones we chose. However, the ratio of v1,1 to v1,2 and the ratio
of v2,1 to v2,2 are the same as our solution; the chosen eigenvectors of a system are not unique, but the ratio of their elements is. (MatLab
chooses the values such that the sum of the squares of the elements of each eigenvector equals unity).

References

Copyright 2005-2013 Erik Cheever This page may be freely used for educational purposes.
Comments? Questions? Suggestions? Corrections?
Erik Cheever
Department of Engineering
Swarthmore College

Eigenvalues for Vibration Problems


Introduction

EigenValues and Vectors

Vibrating Systems

Interpretation

Printable

Contents
A Two-Mass Vibrating System
Setting up the Equations
Assume a Form of Solution
A General Solution for the Motion of the System
Finding Unknown Coefficients
Example: Modes of vibration and oscillation in a 2 mass system
Extending to an nn system
Eigenvalue/Eigenvector analysis is useful for a wide variety of differential equations. This page describes how it can be used in the study of
vibration problems for a simple lumped parameter systems by considering a very simple system in detail. The next page describes gives a physical
interpretation of the results and considers more complicated system.

A Two-Mass Vibrating System


Consider the system shown below with 2 masses and 3 springs. The masses are constrained to move only in the horizontal direction (they can't
move up an down):

Setting up the Equations


We can draws the free body diagram for this system:

From this, we can get the equations of motion:

We can rearrange these into a matrix form (and use and for notational convenience).

Assume a Form of Solution


Now we proceed by assuming the form of solution (just as with differential equations). In this case, since there is no damping, we choose a purely
oscillatory solution.

so

This is obviously just an eigenvalue problem.

Solve the Eigenvalue/Eigenvector Problem


We can solve for the eigenvalues by finding the characteristic equation (note the "+" sign in the determinant rather than the "-" sign, because of
the opposite signs of and 2).

To make the notation easier we will now consider the specific case where k1=k2=m=1 so

Now we can also find the eigenvectors. For the first eigenvector:

which clearly has the solution:

So we'll choose the first eigenvector (which can be multiplied by an arbitrary constant).

For the second eigenvector:

A General Solution for the Motion of the System


We can come up with a general form for the equations of motion for the two-mass system. The general solution is

Note that each frequency is used twice, because our solution was for the square of the frequency, which has two solutions (positive and negative). We
will use initial condition to solve for the unknown coefficients, just like we did with differential equations. For a real response, the quantities c1 and c2
must be complex conjugates of each other, as are c3 and c4. The equation can then be re-written (the ordering of the coefficients becomes clear in a
few steps):

We can use initial conditions to solve for the unknowns

Now let's consider the case when the initial condition on velocity is zero, and there is an arbitrary initial condition on position (this is the case we'll most
often use):

Using the zero condition on initial velocity, we can write

which leads to the set of equations

Since we know that the frequencies are not equal to zero, we know the only solution is

Therefore, if the initial velocities are zero, only the cosine terms are needed and a general form for the solution simplifies to:

(Now the choice of the ordering of the coefficients is clear; this equation has 1 and 2 instead of 1 and 3)

Finding Unknown Coefficients


We can find the coefficients 1 and 2 from the initial conditions.

This yields a 22 set of equations that can be solved in a number of ways. Not surprisingly, the easiest way when using a computer is to formulate it
as a matrix equation and solve. Start by forming a 2x2 matrix v whose columns are the eigenvectors of the problem

The equation for the initial conditions then becomes

The coefficient 1 and 2 are then easily found as the inverse of v multiplied by x(0)

Example: Modes of vibration and oscillation in a 2 mass system


Consider the case when k1=k2=m=1, as before, with initial conditions on the masses of

Assuming a solution of

we know that

We can write this as a set of two equations in two unknowns.

so

Thus the equations of motion is given by

or

Note: The two unknowns can also be solved for using only matrix manipulations by starting with the initial conditions and re-writing:

Now it is a simple task to find 1 and 2. This is the method used in the MatLab code shown below.

Using MatLab to find eigenvalues, eigenvectors, and unknown coefficients of initial value problem.
>> A=[-2 1;1 -2];
>> [v,d]=eig(A)

%Matrix determined by equations of motion.


%Find Eigenvalues and vectors. The eigenvectors are the columns of "v," the eigenvectors are
%the diagonal elements of "d"

v =
0.7071 0.7071
-0.7071 0.7071
d =
-3.0000 0
0
-1.0000
>> x0=[1 0]'
x0 =
1
0
>> gamma=inv(v)*x0
gamma =
0.7071
0.7071

%Initial conditions

%Find unknown coefficients

Using MatLab to calculate and plot plot the solution of an initial value problem.
(link to code)
%Define Array from equations of motion.
A=[-2 1;1 -2];
%2 masses
[v,d]=eig(A);
%Find Eigenvalues and vectors.
omega=sqrt(diag(-d));
%Get frequencies
x0=[1 0]'
%Initial condition
gam=inv(v)*x0
%Find unknown coefficients

gam=inv(v)*x0

%Find unknown coefficients

%nxn array with coefficients of gamma along the diagonal


g=diag(gam);
t=0:0.2:20;
%1xM Time vector (for plotting)
% cos(omega*t) is an nxM array with
%
cos(w1*t),...,cos(wn*t) in rows
x=v*g*cos(omega*t);
%Calculate output
% Display pertinent information about the system
disp('A matrix'); disp(A)
disp('Eigenvalues'); disp(diag(d)')
disp('Eigenvectors (each column is an eigenvector)'); disp(v)
disp(['Frequencies, omega=' sprintf('%4.2f, ',omega)]);
disp(['Initial Conditions, x(0)=' sprintf('%4.2f, ',x0)]);
disp(['Unknown coefficients, gamma=' sprintf('%4.2f, ',gam)]);
%This next code does some string manipulation to make
%legends for the plots, no calculations. It is not necessary
%to understand this code to understand the graphs;
N=size(A,1);
outLeg='';
modLeg='';
for i=1:N,
outLeg=strvcat(outLeg, strcat('Out_',int2str(i)));
mstr=sprintf('Mode_%d',i);
modLeg=strvcat(modLeg, mstr);
end
%Plot the output trajectories
subplot(2,1,1);
plot(t,x)
xlabel('Time'); ylabel('Output');
title(['Output vs. time, x_i(0)=' sprintf('%4.2f, ',x0) ...
' \gamma_i=' sprintf('%4.2f, ',gam)]);
legend(outLeg);
%Plot the mode shapes
subplot(2,1,2)
plot(v,':');
xlabel('Elements'); ylabel('Mode amplitude');
title(['Mode shapes, \omega=' sprintf('%4.2f, ',omega)]);
axis([0.5 N*1.5 -1 1]);
set(gca,'XTick',[1:N]);
legend(modLeg);
hold on
stem(v);
hold off
%Arrays for various numbers of masses.
A=[-2 1;1 -2]; %2 masses
A=[-2 1 0; 1 -2 1; 0 1 -2]; %3 masses
A=[-2 1 0 0; 1 -2 1 0; 0 1 -2 1; 0 0 1 -2]; %4 masses
A=[-2 1 0 0 0; 1 -2 1 0 0; 0 1 -2 1 0; 0 0 1 -2 1; 0 0 0 1 -2]; %5 masses

Text and graphical output from Matlab


A matrix
-2 1
1 -2
Eigenvalues
-3 -1
Eigenvectors (each column is an eigenvector)
0.7071 0.7071
-0.7071 0.7071
Frequencies, omega=1.73, 1.00,
Initial Conditions, x(0)=1.00, 0.00,
Unknown coefficients, gamma=0.71, 0.71,

The last graph has two subplots. The top one shows the transient response of the system starting from the given initial conditions.
The bottom one shows the eigenvectors (or "mode shapes") of the system. The vertical axis is magnitude, the horizontal axis is the index
of the eigenvalue. The eigenvalue v1 is [0.7071; -0.7071], this is shown in blue; the first element is 0.7071 and the second element is
-0.7071. The eigenvector v2 is [0.7071; 0.7071], this is shown in green. The dotted line is there simply to guide the eye (because some
elements of the eigenvectors may be hidden behind another, as in the case of the first element of v1. The relevance of these shapes is
discussed on the next page.

Extending to an nn System

The procedure described above is easily extended to larger systems (the next page has solutions for a 33 and a 55 system). In brief:
From the equations of motion of the system obtain an nn second order matrix differential equation
Find the eigenvalues (and frequencies of vibration) and eigenvectors

Assume a form of the solutions


Solve for the unknown coefficients (i) from initial conditions

References

Copyright 2005-2013 Erik Cheever This page may be freely used for educational purposes.
Comments? Questions? Suggestions? Corrections?
Erik Cheever
Department of Engineering
Swarthmore College

Introduction

EigenValues and Vectors

Vibrating Systems

Interpretation

Printable

Physical Interpretation of Mode Shapes and Oscillations w/ Examples


Contents
A second order system
A third order system
A fifth order system
While the previous pages described how to mathematically solve for the transient response of a lossless system (i.e., no friction or resistance),
there was very little insight given. This page will develop physical insight into the solutions. It answers the question: "Just what do the eigenvalues
and eigenvectors represent?".

Second Order System


The second order system considered here was analyzed in the example at the bottom of the previous page, and the important information is
repeated here. With k1=k2=m=1, the system is defined by the second order matrix differential equation

The matrix A has eigenvalues and eigenvectors given by

The eigenvalues correspond to frequencies of and 1=1.73=3, 2=1. The general solution of the system starting from zero velocity is given by

To determine the coefficients 1 and 2 we use the initial conditions (t=0) so

If we now define a matrix, v, whose columns are the eigenvectors we get:

The eigenvectors determine the mode shapes, shown below.

To read this graph note that

so v1 (in blue) has a height of 0.707 for the first element, and -0.707 for the second element. The other eigenvector, v2, has a height of 0.707 for
both. The dotted line is there simply to guide the eye (because some elements of the eigenvectors may be hidden behind another, as in the case of
the first element of v1.
Let us now try to get a deeper, more physical understanding of just what this equation represents. Let's see what happens with initial conditions

We can write

By inspection (or by solving the equation

we see that 1=0 and 2=2. In this case the initial conditions were a multiple of v2, so no contribution from v1 was necessary to solve the equation

In this situation we say that mode 1 (corresponding to v1)) is not excited. Set the initial conditions in the boxes below to x1(0)=1 and x2(0)=1, then hit
the "Set Initial Conditions" box and then "Start." Note: in this diagram the ends of the arrows labeled x1 and x2 correspond to the equilibrium positions
of the mass (when x1=0 and x2=0)
Enter initial conditions
x1(0): 1

x2(0): 1

Set Initial Conditions

Redefinir

m
x1

m
x2

1.2

x1
x2

-1.2

The result is as expected. Both masses move in phase with each other. This is depicted in the mode shapes by the fact that the elements of v2
depicted are equal. This means that if only mode 2 (associated with v2) is excited, then the masses move together in phase (and the inner spring has
no effect).
Now try setting the initial conditions to x1(0)=-1 and x2(0)=1 and running (hit "Set Initial Conditions" followed by "Start"). In this case the initial
conditions were a multiple of v1, so only that mode was excited (1=-2 and 2=0); mode 2 is unexcited by these initial conditions. According to the
mode shape, the amplitudes of the oscillations of the masses should be equal in magnitude but opposite in direction. Note that the frequency of these
oscillations is higher than those associated with the second mode. This is expected mathematically (1=1.73=3, 2=1), but also physically. In mode
2, the inner spring has no effect so only the outer springs matter. In mode 1, all springs contribute so that the forces on the masses will generally be
higher (for the same displacement from equilibrium), resulting in greater accelerations and faster oscillation.
If you try initial conditions close to, but not equal to, one of the modes, (e.g., x1(0)=0.8 and x2(0)=1) you will get motion that is close to that mode
alone. This is because only a small contribution from the other mode is needed to meet the initial conditions.
Now try some other initial conditions (e.g., x1(0)=0 and x2(0)=1). Some complicated motions can result, but the motion is always just the linear
combination of the two modes of the system.

Third Order System


It can be shown that the system shown

can be represented (with Kr=J1=J2=J3=1) by a second order matrix differential equation as

We can find eigenvalues (and associated frequencies) and eigenvectors (and associated mode shapes) using the MatLab code from the previous
page. We need only change the lines defining the A matrix and the initial conditions (in this case the initial conditions themselves aren't important, but
they must be in a matrix of the proper size so the code runs).
A=[-2 1 0;1 -2 1;0 1 -1];
...
x0=[1 0 0]'

%3 flywheels
%Initial condition

The output of the code gives us the results


A matrix
-2
1
0

1
-2
1

Eigenvalues
-3.2470

0
1
-1
-1.5550

-0.1981

Eigenvectors (each column is an eigenvector)


-0.5910
-0.7370
0.3280
0.7370
-0.3280
0.5910
-0.3280
0.5910
0.7370
Frequencies, omega=1.80, 1.25, 0.45,
Initial Conditions, x(0)=1.00, 0.00, 0.00,
Unknown coefficients, gamma=-0.59, -0.74, 0.33,
and the mode shapes

In this case there are three modes, so the general form of the solution becomes

but we can still get the unknown coefficients in the same way

As we did with the two mass system, let's try some initial conditions. Try 1(0)=-72, 2(0)=90, 3(0)=-40
Enter initial conditions
1(0): 40

2(0): 72

3(0): 90

Set Initial Conditions

theta_1

Kr

theta_2

Kr

J1

Redefinir

theta_3

Kr

J2

J3

120

theta_1
theta_2
theta_3

-120

For 1(0)=-72, 2(0)=90, 3(0)=-40 we get

Clearly this set of initial conditions is very close to mode 3 (the slowest mode), and so only mode 3 is excited to any extent. You can see that (as
expected from the mode shapes) the three flywheels are in phase with each other, and that J3 moves the most and J1 the least.
If you try initial conditions 1(0)=-90, 2(0)=-40, and 3(0)=72, only mode 2 is excited (and the frequency is about 2.8 times faster than mode 3).
The motion of J3 is out of phase by 180 from that of J1 and J2, and in this case the magnitude of the motion of J1 is greatest and J3 is least (check v3
for the exact ratios).
For initial conditions 1(0)=-72, 2(0)=90, 3(0)=-40 only mode 3 is excited (and the frequency is about 4 times faster than mode 3). The motion
for J2 is out of phase by 180 with that of J1 and J3, and the magnitude of J2's oscillations are greatest with J3's the smallest.
Other initial conditions (try some) result in complicated motions, but the motion can always be represents as the linear combination of the system's
modes.
As with the two-mass system, the frequency of mode 3 was the slowest (3=0.45), followed by mode 2 (2=1.25) and mode 1 (1=1.8). We can
explain this physically in the same way. For mode 3 there is very little torsion of the springs, therefore low forces, low acceleration and low frequency.
For mode 3, there is the most torsion (each is out of phase with all of its neighbors). This results in high oscillation frequencies. The shape, and
behavior, of mode 2 is between these.
Note: These modes are similar (but not identical) to the first three modes of a woodwind or brass instrument (see figure 2 at hyperlink). This is because the last element not
attached to a fixed element (like a wall) which is analogous to the open end of a those instruments.

Fifth Order System


Now consider a system that consists of 5 masses on a string that is under uniform tension, T. Each mass, mi, has an associated position, xi, that
is zero at equilibrium. The masses are equally spaced at a distance from each other.

To develop the equations of motion, consider the case when the masses are displaced from equilibrium.

Now let's examine m1 closely so we can write its equation of motion.

The force from each string in the vertical direction is given by the tension multiplied by the sine of the angle between the mass and the string. There is
also an inertial force.

If we assume that the width of the masses as well as their vertical displacement are both small compared to the distance then we can write

We can repeat for m2. The image shows m2 connected to m1 and m3 on the left, with a free body diagram on the right.

Likewise for m3, m4 and m5

If we let m1=m2=m3=m4=m5=T=1, we get

As before we can use MatLab code to get eigenvalues (and frequencies of vibration) and eigenvectors (and mode shapes). Note the A and x0
matrices in the MatLab code must be changed, as before.

A matrix
-2
1
0
0
0

1
-2
1
0
0

0
1
-2
1
0

0
0
1
-2
1

0
0
0
1
-2

Eigenvalues
-3.7321

-3.0000

Eigenvectors
-0.2887
0.5000
-0.5774
0.5000
-0.2887

(each column is an eigenvector)


-0.5000
0.5774
0.5000
-0.2887
0.5000
-0.0000
0.5000
-0.5000
-0.0000
-0.5774
-0.0000
-0.5774
-0.5000
-0.0000
-0.5000
-0.5000
0.5000
0.5774
-0.5000
-0.2887

-2.0000

-1.0000

-0.2679

Frequencies, omega=1.93, 1.73, 1.41, 1.00, 0.52

We can immediately make some comments. As before the lowest frequency mode (mode 5) has the "smoothest" shape. The shapes get increasingly
oscillatory from mode 4, to mode 3, to mode 2, to mode 1; in each case, the frequency of oscillation increases.

An animation is included below. Because of the software used, the string is not shown; though it isn't shown, the system behaves as if the string
was there.
Enter initial conditions
x1(0): 1

x2(0): 0

x3(0): 0
Set Initial Conditions

x4(0): 0

x5(0): 0

Redefinir

m1
m2

m3

m4

m5

1.2

x1
x2
x3
x4
x5

-1.2

Note the following:


Try setting the initial condition to the lowest frequency mode (mode 5, the rightmost column of the eigenvector matrix which is given at the end of
MatLab output), or some multiple of it.
Try setting the initial conditions to the other modes.
Try setting the initial conditions close to, but not equal to, one of the modes. The behavior should be close to, but not equal to, the behavior of that
mode alone (i.e., the other modes are only minimally excited).
Try arbitrary initial conditions.
You can see that the mode shapes for modes 1, 3, and 5 are symmetric about the midpoint, while modes 2 and 4 are antisymmetric. Therefore, if the
initial conditions are symmetric, only modes 1, 3 and 5 will be excited. If they are antisymmetric only modes 2 and 4 will be excited.
Try setting x1(0)=1, and the other equal to zero. Now when motion starts you can see m1 moves, then m2, then m3... as a "wave" propagates down
the string (the motion gets more complex when the wave gets to the right side and is propagated back).
Depending on the initial conditions complicated behaviors can arise, but the motion is always (as in the other cases) a linear combination of the modes
of the system.
Note: These modes are similar (but not identical) to the first five modes of a stringed instrument. This is because the both ends are fixed which is analogous to a string in a guitar or
piano.

References

Copyright 2005-2013 Erik Cheever This page may be freely used for educational purposes.
Comments? Questions? Suggestions? Corrections?
Erik Cheever
Department of Engineering
Swarthmore College

References

Copyright 2005-2013 Erik Cheever This page may be freely used for educational purposes.
Comments? Questions? Suggestions? Corrections?
Erik Cheever
Department of Engineering
Swarthmore College

Vous aimerez peut-être aussi