Capítulo 3: Experiencia de marca, vinculación afectiva y recomendación boca-oído (WOM)
3.1. Introducción: objetivos y contribución del estudio
4. The initial conditions are modified as
x x x
The linearized model is therefore
4.6.2.3 Small-Angle Linearization
In some cases, mathematical models of dynamic systems contain nonlinear elements that involve trigonometric functions of an angle. One particular area in which such cases occur is in the rota-tional motion of a mechanical system (see Section 5.4). These types of models can be linearized as long as the angle remains small. In particular, if θ ≪ 1 radian, then
sin
Example 4.30: Small-Angle Linearization
The governing equations for a dynamic system have been derived as 2
a. Derive the linearized model for θ ≪ 1 radian.
b. Find the state equation for the linear model.
Solution
a. Using the first two approximations in Equation 4.29, the governing equations reduce to 2
b. In its present form, the linearized model cannot be transformed into state-variable equations because both x and θ appear in the same equation. The remedy, however, is to manipulate the two equations, labeled Equations a and b, to eliminate the unwanted variables as fol-lows. From Equation b, we find θ= −10θ−x and insert into Equation a and simplify to obtain
x x x+ + −10θ=f t( ) (c) This equation is now in the correct form. Next, from Equation b, we find x= −10θ θ −
and insert into Equation a and simplify to arrive at
and x4= θ. The state-variable equations are subsequently formed as
Noting that there is only one input, f(t), the state equation is written as
x Ax B= x= A
These types of systems will also be discussed in greater detail in Section 8.5.
4.6.3 linearizationwith MatlaB SiMulink
The state-space linear model of a nonlinear system can be extracted in Simulink using the 'linearize' built-in function:
LIN = linearize('sys',OP,IO) takes a Simulink model name, 'sys', an
operating point object, OP, and an I/O object, IO, as inputs and returns a linear time-invariant state-space model, LIN. The operating point object is created with the function OPERPOINT or FINDOP. The
linearization I/O object is created with the function GETLINIO or LINIO.
Both OP and IO must be associated with the same Simulink model, sys.
The function is used in conjunction with 'findop' and 'getlinio'. The function call for 'findop' is as follows:
[op,opreoprt] = findop(sys,opspec) finds an operating point, op, of the model, 'sys', from specifications given in opspec.
opspec is an operating point specification object, and is created with the function 'operspec'.
Specifications on the operating points, such as minimum and maximum values, initial guesses, and known values are specified by editing opspec. To find equilibrium (or steady-state) operating points, set the SteadyState property of the states and inputs in opspec to 1. The findop func-tion uses optimizafunc-tion to find operating points that closely meet the specificafunc-tions listed in opspec.
The function call for 'getlinio' is as follows:
IO = getlinio('sys') finds all linearization annotations in a Simulink model, 'sys'. The vector of objects returned from this function call has an entry for each linearization annotation in a model.
To initiate the process, we first build a Simulink model, 'sys', and identify a linearization input point and a linearization output point. This is done by right-clicking on the desired location, select-ing “Linearization Points” from the pull-down menu, and choosselect-ing the appropriate category from the list.
Example 4.31: Linearization in MATLAB Consider the nonlinear system in Example 4.28:
x x x x+ + = +1 sin ,t x( )0 =0, x( )0 =1
To build a Simulink model, the nonlinear state-variable equations must first be formed.
Choosing state variables x1 = x and x2= , we findx
x x
x x x x t
x x
1 2
2 2 1 1
1
1 2
0 0
0 1
=
+
=
= sin
( )
, ( ) (a)
Following the procedure outlined in Section 4.5, we build the model shown in Figure 4.35 for the nonlinear system in Equation a and save it as 'Example431'. Double-clicking on an integrator block allows us to input the appropriate initial condition for the output signal of that block. Because the first integrator has x2 as its output, we use x2(0) = 1. For the second integrator, x1(0) = 0. The nonlinear element x x1 1 is handled by the function block from the Simulink User-Defined Functions
library, in which u is used as the input variable name. The linearization input point is chosen at the output signal of the summing junction, the linearization output point at the output signal x1.
The linear model is extracted from the nonlinear system in Equation a as follows. Note that the model, 'Example431', must be open before we can proceed.
>> sys = 'Example431';
>> load_system(sys);
>> opspec = operspec(sys);
% Specify the properties of the first state variable.
>> opspec.States(1).SteadyState = 1;
>> opspec.States(1).x = 0; % Initial value
>> opspec.States(1).Min = 0; % Minimum value
% Do the same for the second state variable
>> opspec.States(2).SteadyState = 1;
>> opspec.States(2).x = 1;
>> opspec.States(2).Min = 0;
% Find the operating point based on the specifications listed above.
>> [op,opreport] = findop(sys,opspec);
Operating Point Search Report:
— — — — — — — — — — — — — — — — —
Operating Report for the Model Example431.
(Time-Varying Components Evaluated at time t=0) Operating point specifications were successfully met.
States:
— — — — —
(1.) Example431/Integrator 1 x: 0 dx: 0 (0) (2.) Example431/Integrator 2
x: 1 dx: 0 (0) Inputs: None
— — — — — Outputs:
— — — — —
(1.) Example431/Out1 = x1 y: 1 [-Inf Inf]
% Get the linearization annotations
>> IO=getlinio(sys);
% Extract the linear state-space model
>> LIN = linearize('Example431',op,IO) Constant
Input = 1+sin(t) Sin(t)
Linearization input point
Linearization output
point Integrator 1 Integrator 2
1s s
— ×2 —1
Out1 = ×11 IC: ×2(0) = 1 IC: x1(0) = 0
1
Scope Nonlinear element
u*abs(u) + ×1
+−−
FIGURE 4.35 Simulink model in Example 4.31.
a =
Integrator 1 Integrator 2
Integrator 1 -1 -2
Integrator 2 1 0 % Controller canonical form
b =
Sum 1 Integrator 1 1 Integrator 2 0 c =
Integrator 1 Integrator 2
x1 0 1
d =
Sum 1 x1 0
Continuous-time state-space model.
Note that
• the state matrix is in the controller canonical form (Section 4.4), and
• the input in the linear model is composed of the time-varying portion of the input in the original nonlinear system. In the current example, the input for the nonlinear system is 1 + sint. This implies that the input for the linear model is simply sint.
We will validate the above MATLAB results as follows. Recall from Example 4.28 that the oper-ating point is (1,0) and the linearized model is
x+ x+2 x=sint
To derive the controller canonical form, choose the state variables as x1= and ∆xx 2 = ∆x, and the state-variable equations for the linearized model are obtained as
In vector form,
x A x B
This confirms the set of results realized in MATLAB Simulink. Linear analysis of nonlinear systems will be further elaborated in Section 8.5.