1. Lakehead University
Department of Engineering
Engineering 5671 – Nonlinear Vibration
Matcont Frequency plot
Submitted by:
Yu Zhang
0507691
Professor: Dr. Kefu Liu
Date of Submission: Jan 21st
, 2015
2. Page 2 of 21
Table of Contents
Purpose of Report........................................................................................................................................... 3
Procedures ...................................................................................................................................................... 6
Access data....................................................................................................................................................16
3. Page 3 of 21
Purpose of Report
The purpose of this report is to use Matcont to perform a frequency plot of a 2nd
order nonhomogeneous
differential equation expressed in Equation (1).
3
1 3 0 cos( )mx cx k x k x F t (1)
Equation (1) is a harmonic forced Duffing oscillator with linear viscous damping, where m is the mass, c
is the damping coefficient, 1k is the linear stiffness, 3k is the coefficient associated with the nonlinear
restoring force term, F is the amplitude of the harmonic force, and is the exciting frequency.
Now, rearrange Equation (1) and yields,
3
'' 2 ' cos( )y y y y F (2)
where
0
x
y
x
, 2 1
0
k
m
,
02
c
m
,
2
3 0
1
k x
k
, 0t ,
0
, 0
1 0
F
F
k x
,
Perturbation method analysis is used to find an approximated solution. A small parameter is introduced,
and 1. Equation (2) is rearranged,
3
'' (2 ' ) cos( )y y y y F (3)
where
, , F F
In order to find the different resonances in the system, an expansion of the ( )y is performed,
2
1 2( ) ( ) ( ) ...y y y (4)
After substitution of 2
1 2( ) ( ) ( ) ...y y y into Equation (3) and it yields,
2 2 2 3 4 3
1 2 1 2 1 2 12 2
5 2 6 2 7 3
1 2 1 2 2
( ) ( ) ( ) ( ) 2 ( ) 2 ( ) ( )
3 ( ) ( ) 3 ( ) ( ) ( ) cos( )
d d d d
y y y y y y y
d dd d
y y y y y F
(5)
Collect the same order of ,
For
1
,
1 1( ) ( ) cos( )y y F (6)
For
2
,
2 2 1( ) ( ) 2 ( )y y y (7)
Solution for Equation (6) is,
1 1 2 2
( ) cos( ) sin( ) cos( )
1
F
y C C (8)
Substitute Equation (8) into Equation (7), and yields,
2 2 1 22 2
2
( ) ( ) 2 sin( ) 2 cos( ) sin( )
1
d F
y y C C
d
(9)
Solution to Equation (9) is,
2 3 4 1 2 2 1
2 2
1 1
( ) cos( ) sin( ) cos( ) sin( ) cos( ) sin( )
2 2
2
sin( )
( 1) ( 1)
y C C C C C C
F
(10)
It is found that small divisor term for
1
when 1, and for
2
when 1/ 3 or 3.
When 1, it describes a primary resonance. And, it describes the secondary resonance when 1/ 3 or
3.While the primary resonance can be seen the identical relation to linear system, and the secondary
4. Page 4 of 21
resonances are corresponding to nonlinear system. The resonance with the nonlinear system where the
forcing frequency is close to 1/3 of the system natural frequency, and it is called a superharmonic
resonance. When the forcing frequency is close to 3 times of the system natural frequency, and this is
called a subharmonic resonance. The proximity of the excitation frequency Ω to the natural frequency is
introduced and expressed as,
1 (11)
where is called the detuning parameter, which is a measure of how close the excitation frequency to the
natural frequency.
In the following, it is focused on primary resonance with the assumption of weak damping, weak
nonlinearity, and weak forcing close to the natural frequency. Substitute Equation (11) into Equation (3),
then it is expressed as,
3
'' (2 ' ) cos((1 ) )y y y y F (12)
The steady state solution is assumed in the form of cos( )a , for small , an approximated solution
for Equation (12) is assumed as,
( ) ( )cos( ( )) ( )y a O (13)
where the amplitude a and phase are slowly varying quantities. Using the method of multiple scale, the
solution is expanded as,
0 0 1 1 0 1( ; ) ( , ) ( , ) ...y y T T y T T (14)
The derivative with respect to time is transformed as the following,
0 1
0 1
d
D D
d T T
(15)
2 2 2
2 2
0 0 1 12 2 2
0 10 1
2 2D D D D
T TT T
(16)
Substitute Equation (14) into Equation (12) and yields,
2 2 2
0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1
2 2 3
1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 1
2 2 3 2 4
0 0 1 1 0 1 0 0 1 1 0 1
( , ) ( , ) 2 ( , ) 2 ( , ) ( , )
( , ) ( , ) ( , ) 4 ( , ) 4 ( , ) ( , )
3 ( , ) ( , ) 3 ( , ) ( , )
D y T T D y T T D D y T T D D y T T D y T T
D y T T y T T y T T D y T T D y T T y T T
y T T y T T y T T y T T 3
1 0 1( , ) cos((1 ) )y T T F
(17)
Collect the same order of ,
For
0
,
2
0 0 0 0D y y (18)
For
1
,
2 3
0 1 1 0 1 0 0 0 0 0 12 2 cos( )D y y D D y D y y F T T (19)
Solving Equation (18), it yields,
0 0 1 1 1 0 2 1 0( , ) ( )sin( ) ( )cos( )y T T H T T H T T (20)
Substitute
0 0
0sin( )
2
jT jT
e e
T
j
and
0 0
0cos( )
2
jT jT
e e
T into Equation (20) and collect terms with 0jT
e ,
0jT
e , it yields,
0 0
0 0 1 2 1 1 1 2 1 1 1
1 1 1 1
( , ) ( ) ( ) ( ) ( )
2 2 2 2
jT jT
y T T H T jH T e H T jH T e (21)
Let 1 2 1 1 1
1 1
( ) ( ) ( )
2 2
A T H T jH T and *
1 2 1 1 1
1 1
( ) ( ) ( )
2 2
A T H T jH T , and substitute into Equation (21)
0 0*
0 0 1 1 1( , ) ( ) ( )jT jT
y T T A T e A T e (22)
5. Page 5 of 21
where 1j , 1( )A T is a complex valued amplitude function and * indicates its complex conjugate.
Substitute Equation (22) into each term at right hand side of Equation (19) and simplify each term
separately, and it yields,
0 0*
0 1 0 1 12 2 ( )' 2 ( )'jT jT
D D y jA T e jA T e (23)
0 0*
0 0 1 12 2 ( ) 2 ( )jT jT
D y jA T e jA T e (24)
0 0 0 03 33 3 * 3 2 * * 2
0 1 1 1 1 1 1( ) ( ) 3 ( ) ( ) 3 ( ) ( )j T j T jT jT
y A T e A T e A T A T e A T A T e (25)
0 01 1
0 1cos( )
2 2
jT jTj T j TF F
F T T e e e e (26)
Substitute Equation (23), (24), (25), and (26) into Equation (19), and it yields,
0 0
0 0
0 0
0 0
0 01 1
2 *
0 1 1 1 1
*
1 1
3 33 * 3
1 1
2 * * 2
1 1 1 1
2 ( )' 2 ( )'
2 ( ) 2 ( )
( ) ( )
3 ( ) ( ) 3 ( ) ( )
2 2
jT jT
jT jT
j T j T
jT jT
jT jTj T j T
D y y jA T e jA T e
jA T e jA T e
A T e A T e
A T A T e A T A T e
F F
e e e e
(27)
Collect terms with 0jT
e , 0jT
e and it yields,
0 0
0 0
0 0
0 01 1
2 * *
0 1 1 1 1 1 1
2 * * 2
1 1 1 1
3 33 * 3
1 1
(2 ( )' 2 ( )) (2 ( )' 2 ( ))
3 ( ) ( ) 3 ( ) ( )
( ) ( )
2 2
jT jT
jT jT
j T j T
jT jTj T j T
D y y j A T A T e j A T A T e
A T A T e A T A T e
A T e A T e
F F
e e e e
(28)
It is seen that the each term at the right hand side of Equation (28) is followed by its own complex
conjugate term. Collect all the complex conjugate terms and abbreviate them as . .c c ,
0 0 0 0 1* * * 2 * 2
1 1 1 1 1 1. . (2 ( )' 2 ( )) 3 ( ) ( ) 3 ( ) ( )
2
jT jT jT jT j TF
c c j A T A T e A T A T e A T A T e e e (29)
Rewrite the Equation (28),
0 0 0 0 132 2 * 3
0 1 1 1 1 1 1 1(2 ( )' 2 ( )) 3 ( ) ( ) ( ) . .
2
jT jT j T jT j TF
D y y j A T A T e A T A T e A T e e e c c (30)
where the prime ' is the derivative with respect to the slow time 1T and . .c c indicates the complex
conjugate of the preceding terms. Factor the secular terms associated with 0jT
e and set the sum of these
terms to zero, and it yields,
12 *
1 1 1 1(2 ( )' 2 ( )) 3 ( ) ( ) 0
2
j TF
j A T A T A T A T e (31)
Introducing the polar form of the complex amplitude,
1( )
1 1
1
( ) ( )
2
j T
A T a T e (32)
where the amplitude 1( )a T and the angle 1( )T are real valued quantities.
Substitute Equation (32) into Equation (31),
1 1 1 1 1
2
( ) ( ) ( ) ( )
1 1 1 1
1 1 1 1
2 ( ) ' 2 ( ) 3 ( ) ( ) 0
2 2 2 2 2
j T j T j T j T j TF
j a T e a T e a T e a T e e (33)
Simplify 1( )a T as a and rearrange Equation (33), and it yields,
6. Page 6 of 21
133
' ' 0
8 2
j Tj j j j F
ja e a e j ae a e e (34)
Introducing the phase 1 1 1( ) ( ( ))T T T and its derivative ' ' with respect to slow time 1T ,
substitute 1T and ' ' into Equation (34) and leads to,
33
' ' 0
8 2
j j j j j j jF
ja e a e ae j ae a e e e (35)
Factor term associated with j
e and it leads,
33
' ' 0
8 2
j jF
e ja a a j a a e (36)
Split
2
jF
e into
2 2 2 2
j j
F e F e
and substitute into Equation (36), and also introduce term
2 2 2 2
j j
F e F e
,
33
' ' 0
8 2 2 2 2 2 2 2 2
j j j j
j F e F e F e F e
e ja a a j a a (37)
Rearrange Equation (37),
33
' ' 0
8 2 2 2 2 2 2 2 2
j j j j
j F e F e F e F e
e ja a a j a a (38)
Rewrite sin( )
2 2 2 2 2 2 2
j j j j
F e F e F e e j F
j
j
and cos( )
2 2 2 2 2 2 2
j j j j
F e F e F e e F
in
Equation (38) and leads to,
33
' ' sin( ) cos( ) 0
8 2 2
j F F
e ja a a j a a j (39)
Factor the imaginary unit j and yields,
33
' sin( ) ' cos( ) 0
2 8 2
j F F
e j a a a a a (40)
Separate the real and imaginary parts and it yields,
' sin( )
2
F
a a (41)
33
' cos( )
8 2
F
a a a (42)
Consider Equation (41) and (42), parameters are given in the following, 𝐹̅ = 0.3, 𝜁̅ = 0.1, 𝜀 = 0.2 for
simulation use in Matcont.
Procedures
1. Start Matcont by typing matcont in MatLab command window, and then choose
Select|System|New shown in Figure 1. Matcont will do a precomputing.
7. Page 7 of 21
Figure 1 System specification
2. Input a new ODE system. In this case, call it DuffingOscillator shown in Figure 2. And, enter
Equation (41) and (42) as shown in Figure 2.
Figure 2 Duffing oscillator model
3. Select Type|Initial point|Point shown in Figure 3 and select Type|Curve|Orbit shown in Figure
4.
Figure 3 Type|Initial point|Point
8. Page 8 of 21
Figure 4 Type|Curve|Orbit
4. In the Integrator window, change integration Interval to 200 and set Rel. Tolerance to 1e-7 and
to 1e-10 shown in Figure 5.
Figure 5 Integrator
5. In Starter window, enter the initial starting values for variables and parameters shown in Figure 6.
Figure 6 Starter
6. At Matcont main window, open a 2Dplot window by selecting Window|Graphic|2Dplot shown
in Figure 7.
9. Page 9 of 21
Figure 7
7. Select a and phi as variables along the corresponding axes shown in Figure 8.
Figure 8
8. After select Layout|Plotting region to set visibility limits shown in Figure 9.
Figure 9
9. At Matcont main window, select Compute|Forward shown in Figure 10.
Figure 10
10. An orbit converging to an equilibrium in 2Dplot window in Figure 11.
10. Page 10 of 21
Figure 11 Phase orbits approaching a stable equilibrium for initial point and parameters stated in Figure 6
11. Select Window|Numeric to display a Numeric window and to see how the coordinates vary
along the orbit shown in Figure 12.
Figure 12 Numeric window: the coordinates of the stable equilibrium
12. To input another initial point in the Starter window shown in Figure 13. And select
Compute|Forward, a new 2Dplot is shown in Figure 14.
11. Page 11 of 21
Figure 13 Starter
Figure 14
13. In Matcont main window, select Select|Initial point to choose the last point of the orbit P_O(1)
and click to highlight then press Select button shown in Figure 16.
12. Page 12 of 21
Figure 15 Select|Initial point
Figure 16 Initial points window
14. Now, selecting Type|Initial point|Equilibrium to set the point type EP and this also sets curve
type Equilibrium by default curve type shown in Figure 17.
Figure 17 Type|Initial point|Equilibrium
15. After choosing Type|Initial point|Equilibrium, two new windows appear: Starter and
Continuer shown in Figure 18 and Figure 19.
13. Page 13 of 21
Figure 18 Starter window for the equilibrium continuation: Parameter sigma is activated.
Figure 19 Continuation parameters in the Continuer window
16. To perform frequency plot, User function is required. In Matcont main window, select
Select|User function shown in Figure 20.
Figure 20 Select|User function
14. Page 14 of 21
17. In User functions window, enter user functions shown in Figure 21 and Figure 22 and select Add
button to add these user functions.
Figure 21 Omega
Figure 22 aF
User defined functions are listed in the following:
1 (43)
/aF a F (44)
18. Now change variables to W and aF in 2Dplot window to the following shown in Figure 23 and
change a and phi to 0.1 in Starter window shown in Figure 24 and select Compute|Forward and
Compute|Backward.
15. Page 15 of 21
Figure 23 a/|F| vs. Omega at 𝜸 = −𝟑
Figure 24 Starter window
19. When a LP (Limit point) is reached, Matcont pauses and resumes when Resume button is clicked
shown in Figure 25.
Figure 25
16. Page 16 of 21
20. Now, change gammabar in Starter window to -1, 0, 1, 3, and 5. And, repeat step 18 and step 19
each time when change gammabar value. Generated figure is shown in Figure 26.
Figure 26 𝒂/|𝑭̅| vs. Omega 𝜸̅ = −𝟑, −𝟏, 𝟎, 𝟏, 𝟑, 𝟓
Access data
Once Matcont finishes a computation, it saves the computed data to a file under its root
directory …matcont5p4SystemsDuffingOscillatordiagram.
In this directory, there are three files listed,
P_O(1).mat
EP_EP(1).mat
EP_EP(2).mat
After 2Dplot of phi vs. a, the data of phi and a is saved in P_O(1).mat file.
21. Load P_O(1).mat file in MatLab shown in Figure 27.
Figure 27 Load P_O(1).mat
22. In Figure 27,
17. Page 17 of 21
ctype defines the curve type. In this case, Orbit is selected shown in Figure 4. And, it is
denoted as ‘O’.
option defines values used in the Integrator window shown in Figure 5.
param defines the parameters’ value used in Starter window shown in Figure 6.
point defines the initial point type. In this case, point was selected show in Figure 3.
s contains 2 1x1 structure named, and it contains the first point and the last point of the
curve.
t is time of simulation.
x stores the values of phi and a.
23. Phi and a are stored in variable x. Plot plot(x(1,:),x(2,:)) for initial point a=0.1 and phi=0.1 shown
in Figure 28. Figure 28 is identical as shown in Figure 11.
Figure 28 Phi vs. a
24. Load EP_EP(1).mat file in MatLab shown in Figure 29.
Figure 29 Load EP_EP(1).mat
25. In Figure 29,
ctype defines the curve type. Equilibrium curve is selected shown in Figure 17.
18. Page 18 of 21
s contains the first and last point of the curve and also contains special point, such as
Limit Point (LP) and Omega (W).
o Open s and it has 5 1x1 structures shown in Figure 30.
Figure 30 Variable s
o s(1,1) and s(5,1) contain the data of the first point and the last point of the curve
respectively. s(1,1).index is the index value of this first point on this curve.
s(1,1).label is the label for this point when to choose Select|Initiap point shown
in Figure 15 and Figure 16. s(1,1).data.userfunction stores the x y coordinates of
this point, and s(1,1).msg shows a description of this point shown in Figure 16.
Figure 31 s(1,1)
o s(2,1) contains data for special point W shown in Figure 35. s(2,1).index is the
index value of that point on this curve, s(2,1).label is the label for this point
shown in Figure 34, s(2,1).data.userfunctions is the x y coordinates for this
point, and s(2,1).msg shows description for this point shown in Figure 34.
19. Page 19 of 21
Respectively, s(3,1) and s(4,1) are for the two LP limit points shown in Figure
33.
Figure 32 s(2,1)
Figure 33 s(3,1)
20. Page 20 of 21
Figure 34 Select|Initial point EP_EP(1) 2) W: Omega
h stores the data as listed,
o h(3,:) user function Ω=1+ε*σ.
o h(4,:) user function a/|F|
o h(6,:) parameter epsilon ε
x stores a, phi, and σ, and their order are listed as follows, x(1,:) = a, x(2,:) = phi, and
x(3,:) = σ.
26. a/|F| and Ω are stored in h. Perform these commands in MatLab command window:
figure,hold on,plot(h(3,:),h(4,:)),
xlim([0 2]),ylim([0 5]),
xlabel('W'),ylabel('a/|F|'),
plot(s(2,1).data.userfunctions(1),s(2,1).data.userfunctions(2),'r*'),
text(s(2,1).data.userfunctions(1)+0.05,s(2,1).data.userfunctions(2)+0.03,s(2,1).label)
plot(s(3,1).data.userfunctions(1),s(3,1).data.userfunctions(2),'r*'),
text(s(3,1).data.userfunctions(1)+0.05,s(3,1).data.userfunctions(2)+0.03,s(3,1).label)
plot(s(4,1).data.userfunctions(1),s(4,1).data.userfunctions(2),'r*'),
text(s(4,1).data.userfunctions(1)+0.05,s(4,1).data.userfunctions(2)+0.03,s(4,1).label)
Figure 35 is the generated figure, and it is identical as shown in Figure 23.
21. Page 21 of 21
Figure 35 a/|F| vs. Omega at 𝜸̅ = −𝟑
27. Repeat Step 18 and 19 each time when change parameter from -3, -1, 0, 1, 5. Load
EP_EP(1).mat file into MatLab and perform commands from Step 26 to plot a figure shown in
Figure 36. And, Figure 36 is identical as shown in Figure 26.
Figure 36 a/|F| vs. Omega for 𝜸̅ = −𝟑, −𝟏, 𝟎, 𝟏, 𝟑, 𝟓